mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-05 01:52:46 +00:00
Merge branch 'main' into domain_permission_subscriptions
This commit is contained in:
commit
72824aaa01
2
.github/ISSUE_TEMPLATE/bug_frontend.yaml
vendored
2
.github/ISSUE_TEMPLATE/bug_frontend.yaml
vendored
|
@ -1,6 +1,6 @@
|
|||
name: Frontend Bug Report
|
||||
description: Report an issue related to the web frontend
|
||||
title: "[bug] Issue Title"
|
||||
title: "[bug/frontend] Issue Title"
|
||||
labels: ["bug", "frontend"]
|
||||
assignees: []
|
||||
|
||||
|
|
4
go.mod
4
go.mod
|
@ -6,7 +6,7 @@ go 1.23
|
|||
replace github.com/go-swagger/go-swagger => github.com/superseriousbusiness/go-swagger v0.31.0-gts-go1.23-fix
|
||||
|
||||
// Replace modernc/sqlite with our version that fixes the concurrency INTERRUPT issue
|
||||
replace modernc.org/sqlite => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.33.1-concurrency-workaround
|
||||
replace modernc.org/sqlite => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.34.2-concurrency-workaround
|
||||
|
||||
// Below pin otel libraries to v1.29.0 until we can figure out issues
|
||||
replace go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.29.0
|
||||
|
@ -31,7 +31,7 @@ require (
|
|||
codeberg.org/gruf/go-debug v1.3.0
|
||||
codeberg.org/gruf/go-errors/v2 v2.3.2
|
||||
codeberg.org/gruf/go-fastcopy v1.1.3
|
||||
codeberg.org/gruf/go-ffmpreg v0.6.0
|
||||
codeberg.org/gruf/go-ffmpreg v0.6.1
|
||||
codeberg.org/gruf/go-iotools v0.0.0-20240710125620-934ae9c654cf
|
||||
codeberg.org/gruf/go-kv v1.6.5
|
||||
codeberg.org/gruf/go-list v0.0.0-20240425093752-494db03d641f
|
||||
|
|
8
go.sum
generated
8
go.sum
generated
|
@ -46,8 +46,8 @@ codeberg.org/gruf/go-fastcopy v1.1.3 h1:Jo9VTQjI6KYimlw25PPc7YLA3Xm+XMQhaHwKnM7x
|
|||
codeberg.org/gruf/go-fastcopy v1.1.3/go.mod h1:GDDYR0Cnb3U/AIfGM3983V/L+GN+vuwVMvrmVABo21s=
|
||||
codeberg.org/gruf/go-fastpath/v2 v2.0.0 h1:iAS9GZahFhyWEH0KLhFEJR+txx1ZhMXxYzu2q5Qo9c0=
|
||||
codeberg.org/gruf/go-fastpath/v2 v2.0.0/go.mod h1:3pPqu5nZjpbRrOqvLyAK7puS1OfEtQvjd6342Cwz56Q=
|
||||
codeberg.org/gruf/go-ffmpreg v0.6.0 h1:/cfUJ9bFKEoXT9LDYZy3eZ0HF60YWcO+0nGciepJKMw=
|
||||
codeberg.org/gruf/go-ffmpreg v0.6.0/go.mod h1:Ar5nbt3tB2Wr0uoaqV3wDBNwAx+H+AB/mV7Kw7NlZTI=
|
||||
codeberg.org/gruf/go-ffmpreg v0.6.1 h1:HitxOKPhbwARV469h6jY9a3IlROiwAN6QTbTxLRBnC8=
|
||||
codeberg.org/gruf/go-ffmpreg v0.6.1/go.mod h1:HQmEaBF83rHOt2Jo1yJv9D0JApoSLFtVR9Uzu7aVglk=
|
||||
codeberg.org/gruf/go-iotools v0.0.0-20240710125620-934ae9c654cf h1:84s/ii8N6lYlskZjHH+DG6jyia8w2mXMZlRwFn8Gs3A=
|
||||
codeberg.org/gruf/go-iotools v0.0.0-20240710125620-934ae9c654cf/go.mod h1:zZAICsp5rY7+hxnws2V0ePrWxE0Z2Z/KXcN3p/RQCfk=
|
||||
codeberg.org/gruf/go-kv v1.6.5 h1:ttPf0NA8F79pDqBttSudPTVCZmGncumeNIxmeM9ztz0=
|
||||
|
@ -630,8 +630,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
|
|||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
|
||||
github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.33.1-concurrency-workaround h1:pFMJnlc1PuH+jcVz4vz53vcpnoZG+NqFBr3qikDmEB4=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.33.1-concurrency-workaround/go.mod h1:pXV2xHxhzXZsgT/RtTFAPY6JJDEvOTcTdwADQCCWD4k=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.34.2-concurrency-workaround h1:Z/9vgdPNZm8ZDANnIJ7ZGeYKJ5biqPY1OQbN+DLCtec=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.34.2-concurrency-workaround/go.mod h1:dnR723UrTtjKpoHCAMN0Q/gZ9MT4r+iRvIBb9umWFkU=
|
||||
go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
|
||||
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
|
|
|
@ -88,12 +88,15 @@ func (p *pollDB) getPoll(ctx context.Context, lookup string, dbQuery func(*gtsmo
|
|||
func (p *pollDB) GetOpenPolls(ctx context.Context) ([]*gtsmodel.Poll, error) {
|
||||
var pollIDs []string
|
||||
|
||||
// Select all polls with unset `closed_at` time.
|
||||
// Select all polls with:
|
||||
// - UNSET `closed_at`
|
||||
// - SET `expires_at`
|
||||
if err := p.db.NewSelect().
|
||||
Table("polls").
|
||||
Column("polls.id").
|
||||
Join("JOIN ? ON ? = ?", bun.Ident("statuses"), bun.Ident("polls.id"), bun.Ident("statuses.poll_id")).
|
||||
Where("? = true", bun.Ident("statuses.local")).
|
||||
Where("? IS NOT NULL", bun.Ident("polls.expires_at")).
|
||||
Where("? IS NULL", bun.Ident("polls.closed_at")).
|
||||
Scan(ctx, &pollIDs); err != nil {
|
||||
return nil, err
|
||||
|
|
|
@ -85,25 +85,8 @@ func (p *Processor) Create(
|
|||
PendingApproval: util.Ptr(false),
|
||||
}
|
||||
|
||||
if form.Poll != nil {
|
||||
// Update the status AS type to "Question".
|
||||
status.ActivityStreamsType = ap.ActivityQuestion
|
||||
|
||||
// Create new poll for status from form.
|
||||
secs := time.Duration(form.Poll.ExpiresIn)
|
||||
status.Poll = >smodel.Poll{
|
||||
ID: id.NewULID(),
|
||||
Multiple: &form.Poll.Multiple,
|
||||
HideCounts: &form.Poll.HideTotals,
|
||||
Options: form.Poll.Options,
|
||||
StatusID: statusID,
|
||||
Status: status,
|
||||
ExpiresAt: now.Add(secs * time.Second),
|
||||
}
|
||||
|
||||
// Set poll ID on the status.
|
||||
status.PollID = status.Poll.ID
|
||||
}
|
||||
// Process any attached poll.
|
||||
p.processPoll(status, form.Poll)
|
||||
|
||||
// Check + attach in-reply-to status.
|
||||
if errWithCode := p.processInReplyTo(ctx,
|
||||
|
@ -153,6 +136,14 @@ func (p *Processor) Create(
|
|||
return nil, gtserror.NewErrorInternalError(err)
|
||||
}
|
||||
|
||||
if status.Poll != nil && !status.Poll.ExpiresAt.IsZero() {
|
||||
// Now that the status is inserted, and side effects queued,
|
||||
// attempt to schedule an expiry handler for the status poll.
|
||||
if err := p.polls.ScheduleExpiry(ctx, status.Poll); err != nil {
|
||||
log.Errorf(ctx, "error scheduling poll expiry: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// send it back to the client API worker for async side-effects.
|
||||
p.state.Workers.Client.Queue.Push(&messages.FromClientAPI{
|
||||
APObjectType: ap.ObjectNote,
|
||||
|
@ -161,14 +152,6 @@ func (p *Processor) Create(
|
|||
Origin: requester,
|
||||
})
|
||||
|
||||
if status.Poll != nil {
|
||||
// Now that the status is inserted, and side effects queued,
|
||||
// attempt to schedule an expiry handler for the status poll.
|
||||
if err := p.polls.ScheduleExpiry(ctx, status.Poll); err != nil {
|
||||
log.Errorf(ctx, "error scheduling poll expiry: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// If the new status replies to a status that
|
||||
// replies to us, use our reply as an implicit
|
||||
// accept of any pending interaction.
|
||||
|
@ -189,6 +172,43 @@ func (p *Processor) Create(
|
|||
return p.c.GetAPIStatus(ctx, requester, status)
|
||||
}
|
||||
|
||||
func (p *Processor) processPoll(status *gtsmodel.Status, poll *apimodel.PollRequest) {
|
||||
if poll == nil {
|
||||
// No poll set.
|
||||
// Nothing to do.
|
||||
return
|
||||
}
|
||||
|
||||
var expiresAt time.Time
|
||||
|
||||
// Now will have been set
|
||||
// as the status creation.
|
||||
now := status.CreatedAt
|
||||
|
||||
// Update the status AS type to "Question".
|
||||
status.ActivityStreamsType = ap.ActivityQuestion
|
||||
|
||||
// Set an expiry time if one given.
|
||||
if in := poll.ExpiresIn; in > 0 {
|
||||
expiresIn := time.Duration(in)
|
||||
expiresAt = now.Add(expiresIn * time.Second)
|
||||
}
|
||||
|
||||
// Create new poll for status.
|
||||
status.Poll = >smodel.Poll{
|
||||
ID: id.NewULID(),
|
||||
Multiple: &poll.Multiple,
|
||||
HideCounts: &poll.HideTotals,
|
||||
Options: poll.Options,
|
||||
StatusID: status.ID,
|
||||
Status: status,
|
||||
ExpiresAt: expiresAt,
|
||||
}
|
||||
|
||||
// Set poll ID on the status.
|
||||
status.PollID = status.Poll.ID
|
||||
}
|
||||
|
||||
func (p *Processor) processInReplyTo(ctx context.Context, requester *gtsmodel.Account, status *gtsmodel.Status, inReplyToID string) gtserror.WithCode {
|
||||
if inReplyToID == "" {
|
||||
// Not a reply.
|
||||
|
|
|
@ -444,7 +444,7 @@ func (c *Converter) StatusToAS(ctx context.Context, s *gtsmodel.Status) (ap.Stat
|
|||
poll := streams.NewActivityStreamsQuestion()
|
||||
|
||||
// Add required status poll data to AS Question.
|
||||
if err := c.addPollToAS(ctx, s.Poll, poll); err != nil {
|
||||
if err := c.addPollToAS(s.Poll, poll); err != nil {
|
||||
return nil, gtserror.Newf("error converting poll: %w", err)
|
||||
}
|
||||
|
||||
|
@ -708,7 +708,7 @@ func (c *Converter) StatusToAS(ctx context.Context, s *gtsmodel.Status) (ap.Stat
|
|||
return status, nil
|
||||
}
|
||||
|
||||
func (c *Converter) addPollToAS(ctx context.Context, poll *gtsmodel.Poll, dst ap.Pollable) error {
|
||||
func (c *Converter) addPollToAS(poll *gtsmodel.Poll, dst ap.Pollable) error {
|
||||
var optionsProp interface {
|
||||
// the minimum interface for appending AS Notes
|
||||
// to an AS type options property of some kind.
|
||||
|
|
|
@ -124,6 +124,7 @@ func (m *Module) threadGETHandler(c *gin.Context) {
|
|||
cssFA,
|
||||
cssStatus,
|
||||
cssThread,
|
||||
instanceCustomCSSPath,
|
||||
}...,
|
||||
)
|
||||
|
||||
|
@ -131,7 +132,6 @@ func (m *Module) threadGETHandler(c *gin.Context) {
|
|||
if theme := targetAccount.Theme; theme != "" {
|
||||
stylesheets = append(
|
||||
stylesheets,
|
||||
instanceCustomCSSPath,
|
||||
themesPathPrefix+"/"+theme,
|
||||
)
|
||||
}
|
||||
|
|
1
vendor/modernc.org/sqlite/CONTRIBUTORS
generated
vendored
1
vendor/modernc.org/sqlite/CONTRIBUTORS
generated
vendored
|
@ -37,3 +37,4 @@ Steffen Butzer <steffen(dot)butzer@outlook.com>
|
|||
Toni Spets <toni.spets@beeper.com>
|
||||
W. Michael Petullo <mike@flyn.org>
|
||||
Yaacov Akiba Slama <ya@slamail.org>
|
||||
Prathyush PV <prathyush.pv@temporal.io>
|
||||
|
|
2
vendor/modernc.org/sqlite/Makefile
generated
vendored
2
vendor/modernc.org/sqlite/Makefile
generated
vendored
|
@ -57,7 +57,7 @@ clean:
|
|||
|
||||
edit:
|
||||
@touch log
|
||||
@if [ -f "Session.vim" ]; then novim -S & else novim -p Makefile go.mod builder.json all_test.go vendor_libsqlite3.go & fi
|
||||
@if [ -f "Session.vim" ]; then gvim -S & else gvim -p Makefile go.mod builder.json all_test.go vendor_libsqlite3.go & fi
|
||||
|
||||
editor:
|
||||
gofmt -l -s -w . 2>&1 | tee log-editor
|
||||
|
|
84
vendor/modernc.org/sqlite/README.md
generated
vendored
84
vendor/modernc.org/sqlite/README.md
generated
vendored
|
@ -1,81 +1,7 @@
|
|||
# sqlite
|
||||
![logo](logo.png)
|
||||
|
||||
Package sqlite is a cgo-free port of SQLite. Although you could see mattn's driver (`github.com/mattn/go-sqlite3`) in go.mod file, we import it for tests only.
|
||||
[![Go Reference](https://pkg.go.dev/badge/modernc.org/sqlite.svg)](https://pkg.go.dev/modernc.org/sqlite)
|
||||
|
||||
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.
|
||||
|
||||
## Installation
|
||||
|
||||
$ go get modernc.org/sqlite
|
||||
|
||||
## Documentation
|
||||
|
||||
[pkg.go.dev/modernc.org/sqlite](https://pkg.go.dev/modernc.org/sqlite)
|
||||
|
||||
## Builders
|
||||
|
||||
[modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite](https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite)
|
||||
|
||||
## Speedtest1
|
||||
|
||||
Numbers for the pure Go version were produced by
|
||||
|
||||
~/src/modernc.org/sqlite/speedtest1$ go build && ./speedtest1
|
||||
|
||||
Numbers for the pure C version were produced by
|
||||
|
||||
~/src/modernc.org/sqlite/testdata/sqlite-src-3410200/test$ gcc speedtest1.c ../../sqlite-amalgamation-3410200/sqlite3.c -lpthread -ldl && ./a.out
|
||||
|
||||
The results are from Go version 1.20.4 and GCC version 10.2.1 on a
|
||||
Linux/amd64 machine, CPU: AMD Ryzen 9 3900X 12-Core Processor × 24, 128GB
|
||||
RAM. Shown are the best of 3 runs.
|
||||
|
||||
Go C
|
||||
|
||||
-- Speedtest1 for SQLite 3.41.2 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69 -- Speedtest1 for SQLite 3.41.2 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69
|
||||
100 - 50000 INSERTs into table with no index...................... 0.071s 100 - 50000 INSERTs into table with no index...................... 0.077s
|
||||
110 - 50000 ordered INSERTS with one index/PK..................... 0.114s 110 - 50000 ordered INSERTS with one index/PK..................... 0.082s
|
||||
120 - 50000 unordered INSERTS with one index/PK................... 0.137s 120 - 50000 unordered INSERTS with one index/PK................... 0.099s
|
||||
130 - 25 SELECTS, numeric BETWEEN, unindexed...................... 0.083s 130 - 25 SELECTS, numeric BETWEEN, unindexed...................... 0.091s
|
||||
140 - 10 SELECTS, LIKE, unindexed................................. 0.210s 140 - 10 SELECTS, LIKE, unindexed................................. 0.120s
|
||||
142 - 10 SELECTS w/ORDER BY, unindexed............................ 0.276s 142 - 10 SELECTS w/ORDER BY, unindexed............................ 0.182s
|
||||
145 - 10 SELECTS w/ORDER BY and LIMIT, unindexed.................. 0.183s 145 - 10 SELECTS w/ORDER BY and LIMIT, unindexed.................. 0.099s
|
||||
150 - CREATE INDEX five times..................................... 0.172s 150 - CREATE INDEX five times..................................... 0.127s
|
||||
160 - 10000 SELECTS, numeric BETWEEN, indexed..................... 0.080s 160 - 10000 SELECTS, numeric BETWEEN, indexed..................... 0.078s
|
||||
161 - 10000 SELECTS, numeric BETWEEN, PK.......................... 0.080s 161 - 10000 SELECTS, numeric BETWEEN, PK.......................... 0.078s
|
||||
170 - 10000 SELECTS, text BETWEEN, indexed........................ 0.187s 170 - 10000 SELECTS, text BETWEEN, indexed........................ 0.169s
|
||||
180 - 50000 INSERTS with three indexes............................ 0.196s 180 - 50000 INSERTS with three indexes............................ 0.154s
|
||||
190 - DELETE and REFILL one table................................. 0.200s 190 - DELETE and REFILL one table................................. 0.155s
|
||||
200 - VACUUM...................................................... 0.180s 200 - VACUUM...................................................... 0.142s
|
||||
210 - ALTER TABLE ADD COLUMN, and query........................... 0.004s 210 - ALTER TABLE ADD COLUMN, and query........................... 0.005s
|
||||
230 - 10000 UPDATES, numeric BETWEEN, indexed..................... 0.093s 230 - 10000 UPDATES, numeric BETWEEN, indexed..................... 0.080s
|
||||
240 - 50000 UPDATES of individual rows............................ 0.153s 240 - 50000 UPDATES of individual rows............................ 0.137s
|
||||
250 - One big UPDATE of the whole 50000-row table................. 0.024s 250 - One big UPDATE of the whole 50000-row table................. 0.019s
|
||||
260 - Query added column after filling............................ 0.004s 260 - Query added column after filling............................ 0.005s
|
||||
270 - 10000 DELETEs, numeric BETWEEN, indexed..................... 0.278s 270 - 10000 DELETEs, numeric BETWEEN, indexed..................... 0.263s
|
||||
280 - 50000 DELETEs of individual rows............................ 0.188s 280 - 50000 DELETEs of individual rows............................ 0.180s
|
||||
290 - Refill two 50000-row tables using REPLACE................... 0.411s 290 - Refill two 50000-row tables using REPLACE................... 0.359s
|
||||
300 - Refill a 50000-row table using (b&1)==(a&1)................. 0.175s 300 - Refill a 50000-row table using (b&1)==(a&1)................. 0.151s
|
||||
310 - 10000 four-ways joins....................................... 0.427s 310 - 10000 four-ways joins....................................... 0.365s
|
||||
320 - subquery in result set...................................... 0.440s 320 - subquery in result set...................................... 0.521s
|
||||
400 - 70000 REPLACE ops on an IPK................................. 0.125s 400 - 70000 REPLACE ops on an IPK................................. 0.106s
|
||||
410 - 70000 SELECTS on an IPK..................................... 0.081s 410 - 70000 SELECTS on an IPK..................................... 0.078s
|
||||
500 - 70000 REPLACE on TEXT PK.................................... 0.174s 500 - 70000 REPLACE on TEXT PK.................................... 0.116s
|
||||
510 - 70000 SELECTS on a TEXT PK.................................. 0.153s 510 - 70000 SELECTS on a TEXT PK.................................. 0.117s
|
||||
520 - 70000 SELECT DISTINCT....................................... 0.083s 520 - 70000 SELECT DISTINCT....................................... 0.067s
|
||||
980 - PRAGMA integrity_check...................................... 0.436s 980 - PRAGMA integrity_check...................................... 0.377s
|
||||
990 - ANALYZE..................................................... 0.107s 990 - ANALYZE..................................................... 0.038s
|
||||
TOTAL....................................................... 5.525s TOTAL....................................................... 4.637s
|
||||
|
||||
This particular test executes 16.1% faster in the C version.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
* Q: **How can I write to a database concurrently without getting the `database is locked` error (or `SQLITE_BUSY`)?**
|
||||
* A: You can't. The C sqlite implementation does not allow concurrent writes, and this libary does not modify that behaviour. You can, however, use [DB.SetMaxOpenConns(1)](https://pkg.go.dev/database/sql#DB.SetMaxOpenConns) so that only 1 connection is ever used by the `DB`, allowing concurrent access to DB without making the writes concurrent. More information on issues [#65](https://gitlab.com/cznic/sqlite/-/issues/65) and [#106](https://gitlab.com/cznic/sqlite/-/issues/106).
|
||||
[![LiberaPay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/jnml/donate)
|
||||
[![receives](https://img.shields.io/liberapay/receives/jnml.svg?logo=liberapay)](https://liberapay.com/jnml/donate)
|
||||
[![patrons](https://img.shields.io/liberapay/patrons/jnml.svg?logo=liberapay)](https://liberapay.com/jnml/donate)
|
||||
|
|
201
vendor/modernc.org/sqlite/doc.go
generated
vendored
201
vendor/modernc.org/sqlite/doc.go
generated
vendored
|
@ -8,6 +8,14 @@
|
|||
// SQLite is an in-process implementation of a self-contained, serverless,
|
||||
// zero-configuration, transactional SQL database engine.
|
||||
//
|
||||
// # Fragile modernc.org/libc dependency
|
||||
//
|
||||
// When you import this package you should use in your go.mod file the exact
|
||||
// same version of modernc.org/libc as seen in the go.mod file of this
|
||||
// repository.
|
||||
//
|
||||
// See the discussion at https://gitlab.com/cznic/sqlite/-/issues/177 for more details.
|
||||
//
|
||||
// # Thanks
|
||||
//
|
||||
// This project is sponsored by Schleibinger Geräte Teubert u. Greim GmbH by
|
||||
|
@ -41,175 +49,98 @@
|
|||
//
|
||||
// https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite
|
||||
//
|
||||
// # Fragile modernc.org/libc dependency
|
||||
//
|
||||
// When you import this package you should use in your go.mod file the exact
|
||||
// same version of modernc.org/libc as seen in the go.mod file of this
|
||||
// repository.
|
||||
//
|
||||
// See the discussion at https://gitlab.com/cznic/sqlite/-/issues/177 for more details.
|
||||
//
|
||||
// # Changelog
|
||||
//
|
||||
// 2024-07-22: v1.31.0
|
||||
// - 2024-11-16 v1.34.0: Implement ResetSession and IsValid methods in connection
|
||||
//
|
||||
// Support windows/386.
|
||||
// - 2024-07-22 v1.31.0: Support windows/386.
|
||||
//
|
||||
// 2024-06-04: v1.30.0
|
||||
// - 2024-06-04 v1.30.0: Upgrade to SQLite 3.46.0, release notes at
|
||||
// https://sqlite.org/releaselog/3_46_0.html.
|
||||
//
|
||||
// Upgrade to SQLite 3.46.0, release notes at https://sqlite.org/releaselog/3_46_0.html.
|
||||
// - 2024-02-13 v1.29.0: Upgrade to SQLite 3.45.1, release notes at
|
||||
// https://sqlite.org/releaselog/3_45_1.html.
|
||||
//
|
||||
// 2024-02-13: v1.29.0
|
||||
// - 2023-12-14: v1.28.0: Add (*Driver).RegisterConnectionHook,
|
||||
// ConnectionHookFn, ExecQuerierContext, RegisterConnectionHook.
|
||||
//
|
||||
// Upgrade to SQLite 3.45.1, release notes at https://sqlite.org/releaselog/3_45_1.html.
|
||||
// - 2023-08-03 v1.25.0: enable SQLITE_ENABLE_DBSTAT_VTAB.
|
||||
//
|
||||
// 2023-12-14 v1.28.0:
|
||||
// - 2023-07-11 v1.24.0: Add
|
||||
// (*conn).{Serialize,Deserialize,NewBackup,NewRestore} methods, add Backup
|
||||
// type.
|
||||
//
|
||||
// (*Driver).RegisterConnectionHook: added
|
||||
// ConnectionHookFn: added
|
||||
// ExecQuerierContext: added
|
||||
// RegisterConnectionHook: added
|
||||
// - 2023-06-01 v1.23.0: Allow registering aggregate functions.
|
||||
//
|
||||
// 2023-08-03 v1.25.0: enable SQLITE_ENABLE_DBSTAT_VTAB.
|
||||
// - 2023-04-22 v1.22.0: Support linux/s390x.
|
||||
//
|
||||
// 2023-07-11 v1.24.0:
|
||||
// - 2023-02-23 v1.21.0: Upgrade to SQLite 3.41.0, release notes at
|
||||
// https://sqlite.org/releaselog/3_41_0.html.
|
||||
//
|
||||
// Add (*conn).{Serialize,Deserialize,NewBackup,NewRestore} methods, add Backup type.
|
||||
// - 2022-11-28 v1.20.0: Support linux/ppc64le.
|
||||
//
|
||||
// 2023-06-01 v1.23.0:
|
||||
// - 2022-09-16 v1.19.0: Support frebsd/arm64.
|
||||
//
|
||||
// Allow registering aggregate functions.
|
||||
// - 2022-07-26 v1.18.0: Add support for Go fs.FS based SQLite virtual
|
||||
// filesystems, see function New in modernc.org/sqlite/vfs and/or TestVFS in
|
||||
// all_test.go
|
||||
//
|
||||
// 2023-04-22 v1.22.0:
|
||||
// - 2022-04-24 v1.17.0: Support windows/arm64.
|
||||
//
|
||||
// Support linux/s390x.
|
||||
// - 2022-04-04 v1.16.0: Support scalar application defined functions written
|
||||
// in Go. See https://www.sqlite.org/appfunc.html
|
||||
//
|
||||
// 2023-02-23 v1.21.0:
|
||||
// - 2022-03-13 v1.15.0: Support linux/riscv64.
|
||||
//
|
||||
// Upgrade to SQLite 3.41.0, release notes at https://sqlite.org/releaselog/3_41_0.html.
|
||||
// - 2021-11-13 v1.14.0: Support windows/amd64. This target had previously
|
||||
// only experimental status because of a now resolved memory leak.
|
||||
//
|
||||
// 2022-11-28 v1.20.0
|
||||
// - 2021-09-07 v1.13.0: Support freebsd/amd64.
|
||||
//
|
||||
// Support linux/ppc64le.
|
||||
// - 2021-06-23 v1.11.0: Upgrade to use sqlite 3.36.0, release notes at
|
||||
// https://www.sqlite.org/releaselog/3_36_0.html.
|
||||
//
|
||||
// 2022-09-16 v1.19.0:
|
||||
// - 2021-05-06 v1.10.6: Fixes a memory corruption issue
|
||||
// (https://gitlab.com/cznic/sqlite/-/issues/53). Versions since v1.8.6 were
|
||||
// affected and should be updated to v1.10.6.
|
||||
//
|
||||
// Support frebsd/arm64.
|
||||
// - 2021-03-14 v1.10.0: Update to use sqlite 3.35.0, release notes at
|
||||
// https://www.sqlite.org/releaselog/3_35_0.html.
|
||||
//
|
||||
// 2022-07-26 v1.18.0:
|
||||
// - 2021-03-11 v1.9.0: Support darwin/arm64.
|
||||
//
|
||||
// Adds support for Go fs.FS based SQLite virtual filesystems, see function New
|
||||
// in modernc.org/sqlite/vfs and/or TestVFS in all_test.go
|
||||
// - 2021-01-08 v1.8.0: Support darwin/amd64.
|
||||
//
|
||||
// 2022-04-24 v1.17.0:
|
||||
// - 2020-09-13 v1.7.0: Support linux/arm and linux/arm64.
|
||||
//
|
||||
// Support windows/arm64.
|
||||
// - 2020-09-08 v1.6.0: Support linux/386.
|
||||
//
|
||||
// 2022-04-04 v1.16.0:
|
||||
// - 2020-09-03 v1.5.0: This project is now completely CGo-free, including
|
||||
// the Tcl tests.
|
||||
//
|
||||
// Support scalar application defined functions written in Go.
|
||||
// - 2020-08-26 v1.4.0: First stable release for linux/amd64. The
|
||||
// database/sql driver and its tests are CGo free. Tests of the translated
|
||||
// sqlite3.c library still require CGo.
|
||||
//
|
||||
// https://www.sqlite.org/appfunc.html
|
||||
// - 2020-07-26 v1.4.0-beta1: The project has reached beta status while
|
||||
// supporting linux/amd64 only at the moment. The 'extraquick' Tcl testsuite
|
||||
// reports
|
||||
//
|
||||
// 2022-03-13 v1.15.0:
|
||||
// - 2019-12-28 v1.2.0-alpha.3: Third alpha fixes issue #19.
|
||||
//
|
||||
// Support linux/riscv64.
|
||||
// - 2019-12-26 v1.1.0-alpha.2: Second alpha release adds support for
|
||||
// accessing a database concurrently by multiple goroutines and/or processes.
|
||||
// v1.1.0 is now considered feature-complete. Next planed release should be a
|
||||
// beta with a proper test suite.
|
||||
//
|
||||
// 2021-11-13 v1.14.0:
|
||||
// - 2019-12-18 v1.1.0-alpha.1: First alpha release using the new cc/v3,
|
||||
// gocc, qbe toolchain. Some primitive tests pass on linux_{amd64,386}. Not
|
||||
// yet safe for concurrent access by multiple goroutines. Next alpha release
|
||||
// is planed to arrive before the end of this year.
|
||||
//
|
||||
// Support windows/amd64. This target had previously only experimental status
|
||||
// because of a now resolved memory leak.
|
||||
// - 2017-06-10: Windows/Intel no more uses the VM (thanks Steffen Butzer).
|
||||
//
|
||||
// 2021-09-07 v1.13.0:
|
||||
//
|
||||
// Support freebsd/amd64.
|
||||
//
|
||||
// 2021-06-23 v1.11.0:
|
||||
//
|
||||
// Upgrade to use sqlite 3.36.0, release notes at https://www.sqlite.org/releaselog/3_36_0.html.
|
||||
//
|
||||
// 2021-05-06 v1.10.6:
|
||||
//
|
||||
// Fixes a memory corruption issue
|
||||
// (https://gitlab.com/cznic/sqlite/-/issues/53). Versions since v1.8.6 were
|
||||
// affected and should be updated to v1.10.6.
|
||||
//
|
||||
// 2021-03-14 v1.10.0:
|
||||
//
|
||||
// Update to use sqlite 3.35.0, release notes at https://www.sqlite.org/releaselog/3_35_0.html.
|
||||
//
|
||||
// 2021-03-11 v1.9.0:
|
||||
//
|
||||
// Support darwin/arm64.
|
||||
//
|
||||
// 2021-01-08 v1.8.0:
|
||||
//
|
||||
// Support darwin/amd64.
|
||||
//
|
||||
// 2020-09-13 v1.7.0:
|
||||
//
|
||||
// Support linux/arm and linux/arm64.
|
||||
//
|
||||
// 2020-09-08 v1.6.0:
|
||||
//
|
||||
// Support linux/386.
|
||||
//
|
||||
// 2020-09-03 v1.5.0:
|
||||
//
|
||||
// This project is now completely CGo-free, including the Tcl tests.
|
||||
//
|
||||
// 2020-08-26 v1.4.0:
|
||||
//
|
||||
// First stable release for linux/amd64. The database/sql driver and its tests
|
||||
// are CGo free. Tests of the translated sqlite3.c library still require CGo.
|
||||
//
|
||||
// $ make full
|
||||
//
|
||||
// ...
|
||||
//
|
||||
// SQLite 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f
|
||||
// 0 errors out of 928271 tests on 3900x Linux 64-bit little-endian
|
||||
// WARNING: Multi-threaded tests skipped: Linked against a non-threadsafe Tcl build
|
||||
// All memory allocations freed - no leaks
|
||||
// Maximum memory usage: 9156360 bytes
|
||||
// Current memory usage: 0 bytes
|
||||
// Number of malloc() : -1 calls
|
||||
// --- PASS: TestTclTest (1785.04s)
|
||||
// PASS
|
||||
// ok modernc.org/sqlite 1785.041s
|
||||
// $
|
||||
//
|
||||
// 2020-07-26 v1.4.0-beta1:
|
||||
//
|
||||
// The project has reached beta status while supporting linux/amd64 only at the
|
||||
// moment. The 'extraquick' Tcl testsuite reports
|
||||
//
|
||||
// 630 errors out of 200177 tests on Linux 64-bit little-endian
|
||||
//
|
||||
// and some memory leaks
|
||||
//
|
||||
// Unfreed memory: 698816 bytes in 322 allocations
|
||||
//
|
||||
// 2019-12-28 v1.2.0-alpha.3: Third alpha fixes issue #19.
|
||||
//
|
||||
// It also bumps the minor version as the repository was wrongly already tagged
|
||||
// with v1.1.0 before. Even though the tag was deleted there are proxies that
|
||||
// cached that tag. Thanks /u/garaktailor for detecting the problem and
|
||||
// suggesting this solution.
|
||||
//
|
||||
// 2019-12-26 v1.1.0-alpha.2: Second alpha release adds support for accessing a
|
||||
// database concurrently by multiple goroutines and/or processes. v1.1.0 is now
|
||||
// considered feature-complete. Next planed release should be a beta with a
|
||||
// proper test suite.
|
||||
//
|
||||
// 2019-12-18 v1.1.0-alpha.1: First alpha release using the new cc/v3, gocc,
|
||||
// qbe toolchain. Some primitive tests pass on linux_{amd64,386}. Not yet safe
|
||||
// for concurrent access by multiple goroutines. Next alpha release is planed
|
||||
// to arrive before the end of this year.
|
||||
//
|
||||
// 2017-06-10 Windows/Intel no more uses the VM (thanks Steffen Butzer).
|
||||
//
|
||||
// 2017-06-05 Linux/Intel no more uses the VM (cznic/virtual).
|
||||
// - 2017-06-05 Linux/Intel no more uses the VM (cznic/virtual).
|
||||
//
|
||||
// # Connecting to a database
|
||||
//
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
generated
vendored
|
@ -230897,4 +230897,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
generated
vendored
|
@ -230452,4 +230452,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
generated
vendored
|
@ -225512,4 +225512,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
generated
vendored
|
@ -225523,4 +225523,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
generated
vendored
|
@ -231929,4 +231929,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
generated
vendored
|
@ -225728,4 +225728,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go
generated
vendored
|
@ -232454,4 +232454,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go
generated
vendored
|
@ -231974,4 +231974,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_loong64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_loong64.go
generated
vendored
|
@ -225817,4 +225817,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go
generated
vendored
|
@ -231955,4 +231955,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go
generated
vendored
|
@ -231918,4 +231918,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
1
vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go
generated
vendored
1
vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go
generated
vendored
|
@ -231852,4 +231852,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
55
vendor/modernc.org/sqlite/lib/sqlite_windows.go
generated
vendored
55
vendor/modernc.org/sqlite/lib/sqlite_windows.go
generated
vendored
|
@ -94277,7 +94277,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li
|
|||
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bArgList, base, bufpt, c, cThousand, ch, ch1, cset, done, e2, escarg, exp, flag_alternateform, flag_altform2, flag_dp, flag_leftjustify, flag_long, flag_prefix, flag_rtz, flag_zeropad, i, i1, iRound, idx, ii, infop, isnull, ix, j, j1, k, length, longvalue, n, n1, nCopyBytes, nOut, nPad, nPrior, needQuote, nn, pArgList, pExpr, pItem, pSel, pToken, pre, precision, prefix, px, q, realvalue, szBufNeeded, v, width, wx, x, x1, xtype, z, zExtra, zOut, v10, v100, v101, v102, v103, v104, v106, v107, v108, v109, v11, v110, v111, v12, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v3, v4, v45, v46, v47, v48, v49, v5, v51, v52, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v64, v65, v66, v67, v68, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v83, v85, v86, v87, v88, v89, v9, v90, v91, v93, v94, v96, v97, v98, p92 /* Thousands separator for %d and %u */
|
||||
xtype = uint8(etINVALID) /* Size of the rendering buffer */
|
||||
zExtra = uintptr(0) /* True if trailing zeros should be removed */
|
||||
pArgList = uintptr(0) /* Conversion buffer */
|
||||
pArgList = uintptr(0) /* Conversion buffer */
|
||||
/* pAccum never starts out with an empty buffer that was obtained from
|
||||
** malloc(). This precondition is required by the mprintf("%z...")
|
||||
** optimization. */
|
||||
|
@ -97796,14 +97796,14 @@ func _sqlite3AtoF(tls *libc.TLS, z uintptr, pResult uintptr, length int32, enc T
|
|||
var _ /* rr at bp+0 */ [2]float64
|
||||
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = d, e, eType, eValid, esign, i, incr, nDigit, r, s, s2, sign, zEnd, v2, v3, v4
|
||||
/* sign * significand * (10 ^ (esign * exponent)) */
|
||||
sign = int32(1) /* sign of significand */
|
||||
s = uint64(0) /* significand */
|
||||
d = 0 /* adjust exponent for shifting decimal point */
|
||||
esign = int32(1) /* sign of exponent */
|
||||
e = 0 /* exponent */
|
||||
eValid = int32(1) /* True exponent is either not used or is well-formed */
|
||||
nDigit = 0 /* Number of digits processed */
|
||||
eType = int32(1) /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */
|
||||
sign = int32(1) /* sign of significand */
|
||||
s = uint64(0) /* significand */
|
||||
d = 0 /* adjust exponent for shifting decimal point */
|
||||
esign = int32(1) /* sign of exponent */
|
||||
e = 0 /* exponent */
|
||||
eValid = int32(1) /* True exponent is either not used or is well-formed */
|
||||
nDigit = 0 /* Number of digits processed */
|
||||
eType = int32(1) /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */
|
||||
*(*float64)(unsafe.Pointer(pResult)) = float64(0) /* Default return value, in case of an error */
|
||||
if length == 0 {
|
||||
return 0
|
||||
|
@ -103328,7 +103328,7 @@ func _winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int3
|
|||
** a temporary file. Use this buffer to store the file name in.
|
||||
*/
|
||||
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* For temporary filename, if necessary. */
|
||||
rc = SQLITE_OK /* Function Return Code */
|
||||
rc = SQLITE_OK /* Function Return Code */
|
||||
isExclusive = flags & int32(SQLITE_OPEN_EXCLUSIVE)
|
||||
isDelete = flags & int32(SQLITE_OPEN_DELETEONCLOSE)
|
||||
isCreate = flags & int32(SQLITE_OPEN_CREATE)
|
||||
|
@ -111336,7 +111336,7 @@ func _readDbPage(tls *libc.TLS, pPg uintptr) (r int32) {
|
|||
_, _, _, _ = dbFileVers, iOffset, pPager, rc
|
||||
pPager = (*TPgHdr)(unsafe.Pointer(pPg)).FpPager /* Pager object associated with page pPg */
|
||||
rc = SQLITE_OK /* Return code */
|
||||
*(*Tu32)(unsafe.Pointer(bp)) = uint32(0) /* Frame of WAL containing pgno */
|
||||
*(*Tu32)(unsafe.Pointer(bp)) = uint32(0) /* Frame of WAL containing pgno */
|
||||
if (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
|
||||
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, (*TPgHdr)(unsafe.Pointer(pPg)).Fpgno, bp)
|
||||
if rc != 0 {
|
||||
|
@ -130461,7 +130461,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
|
|||
var _ /* pgnoRoot at bp+8 */ TPgno
|
||||
var _ /* rc at bp+12 */ int32
|
||||
_, _ = pBt, ptfFlags
|
||||
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt /* Page-type flags for the root page of new table */
|
||||
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt /* Page-type flags for the root page of new table */
|
||||
if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 { /* The page to move to. */
|
||||
/* Creating a new table may probably require moving an existing database
|
||||
** to make room for the new tables root page. In case this page turns
|
||||
|
@ -136679,8 +136679,8 @@ func _sqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) {
|
|||
** opcode array. This extra memory will be reallocated for other elements
|
||||
** of the prepared statement.
|
||||
*/
|
||||
n = int32(libc.Uint64FromInt64(24) * uint64((*TVdbe)(unsafe.Pointer(p)).FnOp)) /* Bytes of opcode memory used */
|
||||
(*(*TReusableSpace)(unsafe.Pointer(bp + 8))).FpSpace = (*TVdbe)(unsafe.Pointer(p)).FaOp + uintptr(n) /* Unused opcode memory */
|
||||
n = int32(libc.Uint64FromInt64(24) * uint64((*TVdbe)(unsafe.Pointer(p)).FnOp)) /* Bytes of opcode memory used */
|
||||
(*(*TReusableSpace)(unsafe.Pointer(bp + 8))).FpSpace = (*TVdbe)(unsafe.Pointer(p)).FaOp + uintptr(n) /* Unused opcode memory */
|
||||
(*(*TReusableSpace)(unsafe.Pointer(bp + 8))).FnFree = int64(((*TParse)(unsafe.Pointer(pParse)).FszOpAlloc - n) & ^libc.Int32FromInt32(7)) /* Bytes of unused memory */
|
||||
_resolveP2Values(tls, p, bp)
|
||||
libc.SetBitFieldPtr16Uint32(p+200, uint32(libc.BoolUint8((*TParse)(unsafe.Pointer(pParse)).FisMultiWrite != 0 && (*TParse)(unsafe.Pointer(pParse)).FmayAbort != 0)), 5, 0x20)
|
||||
|
@ -167288,7 +167288,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
|
|||
nColUp = nCol
|
||||
nKeyCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
|
||||
/* Allocate the space required for the StatAccum object */
|
||||
n = int32(uint64(136) + uint64(8)*uint64(uint64(nColUp))) /* StatAccum.anDLt */
|
||||
n = int32(uint64(136) + uint64(8)*uint64(uint64(nColUp))) /* StatAccum.anDLt */
|
||||
n = int32(uint64(n) + libc.Uint64FromInt64(8)*uint64(uint64(nColUp))) /* StatAccum.anEq */
|
||||
if mxSample != 0 {
|
||||
n = int32(uint64(n) + (libc.Uint64FromInt64(8)*uint64(uint64(nColUp)) + libc.Uint64FromInt64(48)*uint64(nCol+mxSample) + libc.Uint64FromInt64(8)*libc.Uint64FromInt32(3)*uint64(uint64(nColUp))*uint64(nCol+mxSample)))
|
||||
|
@ -174242,7 +174242,7 @@ func _sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootP
|
|||
func _sqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol Ti16, nExtra int32, ppExtra uintptr) (r uintptr) {
|
||||
var nByte int32
|
||||
var p, pExtra uintptr
|
||||
_, _, _ = nByte, p, pExtra /* Bytes of space for Index object + arrays */
|
||||
_, _, _ = nByte, p, pExtra /* Bytes of space for Index object + arrays */
|
||||
nByte = int32((libc.Uint64FromInt64(160)+libc.Uint64FromInt32(7))&uint64(^libc.Int32FromInt32(7)) + (uint64(8)*uint64(uint64(nCol))+uint64(7))&uint64(^libc.Int32FromInt32(7)) + (uint64(2)*uint64(int32(int32(nCol))+libc.Int32FromInt32(1))+uint64(2)*uint64(uint64(nCol))+uint64(1)*uint64(uint64(nCol))+uint64(7))&uint64(^libc.Int32FromInt32(7))) /* Index.aSortOrder */
|
||||
p = _sqlite3DbMallocZero(tls, db, uint64(nByte+nExtra))
|
||||
if p != 0 {
|
||||
|
@ -183673,7 +183673,7 @@ func _autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) (r in
|
|||
v3 = pToplevel + 56
|
||||
*(*int32)(unsafe.Pointer(v3))++
|
||||
v2 = *(*int32)(unsafe.Pointer(v3))
|
||||
(*TAutoincInfo)(unsafe.Pointer(pInfo)).FregCtr = v2 /* Max rowid register */
|
||||
(*TAutoincInfo)(unsafe.Pointer(pInfo)).FregCtr = v2 /* Max rowid register */
|
||||
*(*int32)(unsafe.Pointer(pToplevel + 56)) += int32(2) /* Rowid in sqlite_sequence + orig max val */
|
||||
}
|
||||
memId = (*TAutoincInfo)(unsafe.Pointer(pInfo)).FregCtr
|
||||
|
@ -209650,7 +209650,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI
|
|||
iCovCur = v44
|
||||
v47 = pParse + 56
|
||||
*(*int32)(unsafe.Pointer(v47))++
|
||||
v46 = *(*int32)(unsafe.Pointer(v47)) /* Cursor used for index scans (if any) */
|
||||
v46 = *(*int32)(unsafe.Pointer(v47)) /* Cursor used for index scans (if any) */
|
||||
regReturn = v46 /* Register used with OP_Gosub */
|
||||
regRowset = 0 /* Register for RowSet object */
|
||||
regRowid = 0 /* Register holding rowid */
|
||||
|
@ -232092,14 +232092,14 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/
|
||||
goto _346
|
||||
_138:
|
||||
; /* xfullname ::= nm DOT nm AS nm */
|
||||
; /* xfullname ::= nm DOT nm AS nm */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/
|
||||
if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 {
|
||||
(*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8)
|
||||
}
|
||||
goto _346
|
||||
_139:
|
||||
; /* xfullname ::= nm AS nm */
|
||||
; /* xfullname ::= nm AS nm */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/
|
||||
if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 {
|
||||
(*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8)
|
||||
|
@ -232157,7 +232157,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
_sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)))
|
||||
goto _346
|
||||
_152:
|
||||
; /* sortlist ::= expr sortorder nulls */
|
||||
; /* sortlist ::= expr sortorder nulls */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/
|
||||
_sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)))
|
||||
goto _346
|
||||
|
@ -232736,7 +232736,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)))
|
||||
goto _346
|
||||
_254:
|
||||
; /* eidlist ::= nm collate sortorder */
|
||||
; /* eidlist ::= nm collate sortorder */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/
|
||||
goto _346
|
||||
_255:
|
||||
|
@ -232851,7 +232851,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))
|
||||
goto _346
|
||||
_281:
|
||||
; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */
|
||||
; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */
|
||||
*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))
|
||||
goto _346
|
||||
|
@ -232980,7 +232980,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No)
|
||||
goto _346
|
||||
_312:
|
||||
; /* wqitem ::= withnm eidlist_opt wqas LP select RP */
|
||||
; /* wqitem ::= withnm eidlist_opt wqas LP select RP */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/
|
||||
goto _346
|
||||
_313:
|
||||
|
@ -232988,7 +232988,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
(*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1)
|
||||
goto _346
|
||||
_314:
|
||||
; /* wqlist ::= wqitem */
|
||||
; /* wqlist ::= wqitem */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/
|
||||
goto _346
|
||||
_315:
|
||||
|
@ -263572,7 +263572,7 @@ func _sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite
|
|||
var _ /* i at bp+0 */ Tu64
|
||||
var _ /* r at bp+8 */ float64
|
||||
_, _, _, _, _ = eType, n, nByte, nVarint, z /* Size of serialized value in bytes */
|
||||
if pValue != 0 { /* Value type (SQLITE_NULL, TEXT etc.) */
|
||||
if pValue != 0 { /* Value type (SQLITE_NULL, TEXT etc.) */
|
||||
eType = Xsqlite3_value_type(tls, pValue)
|
||||
if aBuf != 0 {
|
||||
*(*Tu8)(unsafe.Pointer(aBuf)) = uint8(uint8(eType))
|
||||
|
@ -291297,7 +291297,7 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr
|
|||
var nByte Tsqlite3_int64
|
||||
var p, zCols, zDefn, v1 uintptr
|
||||
_, _, _, _, _, _, _, _, _ = i, iOff, nByte, nDefn, p, rc, zCols, zDefn, v1
|
||||
rc = SQLITE_OK /* Bytes of space to allocate */
|
||||
rc = SQLITE_OK /* Bytes of space to allocate */
|
||||
nByte = int64(uint64(128) + uint64((*TFts5Config)(unsafe.Pointer(pConfig)).FnCol)*uint64(8)) /* Fts5Storage.aTotalSize[] */
|
||||
v1 = Xsqlite3_malloc64(tls, uint64(uint64(nByte)))
|
||||
p = v1
|
||||
|
@ -300917,4 +300917,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
53
vendor/modernc.org/sqlite/lib/sqlite_windows_386.go
generated
vendored
53
vendor/modernc.org/sqlite/lib/sqlite_windows_386.go
generated
vendored
|
@ -94062,7 +94062,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li
|
|||
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bArgList, base, bufpt, c, cThousand, ch, ch1, cset, done, e2, escarg, exp, flag_alternateform, flag_altform2, flag_dp, flag_leftjustify, flag_long, flag_prefix, flag_rtz, flag_zeropad, i, i1, iRound, idx, ii, infop, isnull, ix, j, j1, k, length, longvalue, n, n1, nCopyBytes, nOut, nPad, nPrior, needQuote, nn, pArgList, pExpr, pItem, pSel, pToken, pre, precision, prefix, px, q, realvalue, szBufNeeded, v, width, wx, x, x1, xtype, z, zExtra, zOut, v10, v100, v101, v102, v103, v104, v106, v107, v108, v109, v11, v110, v111, v12, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v3, v4, v45, v46, v47, v48, v49, v5, v51, v52, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v64, v65, v66, v67, v68, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v83, v85, v86, v87, v88, v89, v9, v90, v91, v93, v94, v96, v97, v98, p92 /* Thousands separator for %d and %u */
|
||||
xtype = uint8(etINVALID) /* Size of the rendering buffer */
|
||||
zExtra = uintptr(0) /* True if trailing zeros should be removed */
|
||||
pArgList = uintptr(0) /* Conversion buffer */
|
||||
pArgList = uintptr(0) /* Conversion buffer */
|
||||
/* pAccum never starts out with an empty buffer that was obtained from
|
||||
** malloc(). This precondition is required by the mprintf("%z...")
|
||||
** optimization. */
|
||||
|
@ -97585,14 +97585,14 @@ func _sqlite3AtoF(tls *libc.TLS, z uintptr, pResult uintptr, length int32, enc T
|
|||
var _ /* rr at bp+0 */ [2]float64
|
||||
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = d, e, eType, eValid, esign, i, incr, nDigit, r, s, s2, sign, zEnd, v2, v3, v4
|
||||
/* sign * significand * (10 ^ (esign * exponent)) */
|
||||
sign = int32(1) /* sign of significand */
|
||||
s = uint64(0) /* significand */
|
||||
d = 0 /* adjust exponent for shifting decimal point */
|
||||
esign = int32(1) /* sign of exponent */
|
||||
e = 0 /* exponent */
|
||||
eValid = int32(1) /* True exponent is either not used or is well-formed */
|
||||
nDigit = 0 /* Number of digits processed */
|
||||
eType = int32(1) /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */
|
||||
sign = int32(1) /* sign of significand */
|
||||
s = uint64(0) /* significand */
|
||||
d = 0 /* adjust exponent for shifting decimal point */
|
||||
esign = int32(1) /* sign of exponent */
|
||||
e = 0 /* exponent */
|
||||
eValid = int32(1) /* True exponent is either not used or is well-formed */
|
||||
nDigit = 0 /* Number of digits processed */
|
||||
eType = int32(1) /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */
|
||||
*(*float64)(unsafe.Pointer(pResult)) = float64(0) /* Default return value, in case of an error */
|
||||
if length == 0 {
|
||||
return 0
|
||||
|
@ -103121,7 +103121,7 @@ func _winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int3
|
|||
** a temporary file. Use this buffer to store the file name in.
|
||||
*/
|
||||
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* For temporary filename, if necessary. */
|
||||
rc = SQLITE_OK /* Function Return Code */
|
||||
rc = SQLITE_OK /* Function Return Code */
|
||||
isExclusive = flags & int32(SQLITE_OPEN_EXCLUSIVE)
|
||||
isDelete = flags & int32(SQLITE_OPEN_DELETEONCLOSE)
|
||||
isCreate = flags & int32(SQLITE_OPEN_CREATE)
|
||||
|
@ -111142,7 +111142,7 @@ func _readDbPage(tls *libc.TLS, pPg uintptr) (r int32) {
|
|||
_, _, _, _ = dbFileVers, iOffset, pPager, rc
|
||||
pPager = (*TPgHdr)(unsafe.Pointer(pPg)).FpPager /* Pager object associated with page pPg */
|
||||
rc = SQLITE_OK /* Return code */
|
||||
*(*Tu32)(unsafe.Pointer(bp)) = uint32(0) /* Frame of WAL containing pgno */
|
||||
*(*Tu32)(unsafe.Pointer(bp)) = uint32(0) /* Frame of WAL containing pgno */
|
||||
if (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
|
||||
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, (*TPgHdr)(unsafe.Pointer(pPg)).Fpgno, bp)
|
||||
if rc != 0 {
|
||||
|
@ -130278,7 +130278,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
|
|||
var _ /* pgnoRoot at bp+4 */ TPgno
|
||||
var _ /* rc at bp+8 */ int32
|
||||
_, _ = pBt, ptfFlags
|
||||
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt /* Page-type flags for the root page of new table */
|
||||
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt /* Page-type flags for the root page of new table */
|
||||
if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 { /* The page to move to. */
|
||||
/* Creating a new table may probably require moving an existing database
|
||||
** to make room for the new tables root page. In case this page turns
|
||||
|
@ -136500,7 +136500,7 @@ func _sqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) {
|
|||
*/
|
||||
n = int32((libc.Uint32FromInt64(20)*uint32((*TVdbe)(unsafe.Pointer(p)).FnOp) + libc.Uint32FromInt32(7)) & uint32(^libc.Int32FromInt32(7))) /* Bytes of opcode memory used */
|
||||
(*(*TReusableSpace)(unsafe.Pointer(bp + 8))).FpSpace = (*TVdbe)(unsafe.Pointer(p)).FaOp + uintptr(n) /* Unused opcode memory */
|
||||
(*(*TReusableSpace)(unsafe.Pointer(bp + 8))).FnFree = int64(((*TParse)(unsafe.Pointer(pParse)).FszOpAlloc - n) & ^libc.Int32FromInt32(7)) /* Bytes of unused memory */
|
||||
(*(*TReusableSpace)(unsafe.Pointer(bp + 8))).FnFree = int64(((*TParse)(unsafe.Pointer(pParse)).FszOpAlloc - n) & ^libc.Int32FromInt32(7)) /* Bytes of unused memory */
|
||||
_resolveP2Values(tls, p, bp)
|
||||
libc.SetBitFieldPtr16Uint32(p+152, uint32(libc.BoolUint8((*TParse)(unsafe.Pointer(pParse)).FisMultiWrite != 0 && (*TParse)(unsafe.Pointer(pParse)).FmayAbort != 0)), 5, 0x20)
|
||||
if (*TParse)(unsafe.Pointer(pParse)).Fexplain != 0 {
|
||||
|
@ -167158,7 +167158,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
|
|||
nColUp = nCol
|
||||
nKeyCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)))
|
||||
/* Allocate the space required for the StatAccum object */
|
||||
n = int32(uint32(120) + uint32(8)*uint32(uint32(nColUp))) /* StatAccum.anDLt */
|
||||
n = int32(uint32(120) + uint32(8)*uint32(uint32(nColUp))) /* StatAccum.anDLt */
|
||||
n = int32(uint32(n) + libc.Uint32FromInt64(8)*uint32(uint32(nColUp))) /* StatAccum.anEq */
|
||||
if mxSample != 0 {
|
||||
n = int32(uint32(n) + (libc.Uint32FromInt64(8)*uint32(uint32(nColUp)) + libc.Uint32FromInt64(40)*uint32(nCol+mxSample) + libc.Uint32FromInt64(8)*libc.Uint32FromInt32(3)*uint32(uint32(nColUp))*uint32(nCol+mxSample)))
|
||||
|
@ -174112,7 +174112,7 @@ func _sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootP
|
|||
func _sqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol Ti16, nExtra int32, ppExtra uintptr) (r uintptr) {
|
||||
var nByte int32
|
||||
var p, pExtra uintptr
|
||||
_, _, _ = nByte, p, pExtra /* Bytes of space for Index object + arrays */
|
||||
_, _, _ = nByte, p, pExtra /* Bytes of space for Index object + arrays */
|
||||
nByte = int32((libc.Uint32FromInt64(104)+libc.Uint32FromInt32(7))&uint32(^libc.Int32FromInt32(7)) + (uint32(4)*uint32(uint32(nCol))+uint32(7))&uint32(^libc.Int32FromInt32(7)) + (uint32(2)*uint32(int32(int32(nCol))+libc.Int32FromInt32(1))+uint32(2)*uint32(uint32(nCol))+uint32(1)*uint32(uint32(nCol))+uint32(7))&uint32(^libc.Int32FromInt32(7))) /* Index.aSortOrder */
|
||||
p = _sqlite3DbMallocZero(tls, db, uint64(nByte+nExtra))
|
||||
if p != 0 {
|
||||
|
@ -183549,7 +183549,7 @@ func _autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) (r in
|
|||
v3 = pToplevel + 44
|
||||
*(*int32)(unsafe.Pointer(v3))++
|
||||
v2 = *(*int32)(unsafe.Pointer(v3))
|
||||
(*TAutoincInfo)(unsafe.Pointer(pInfo)).FregCtr = v2 /* Max rowid register */
|
||||
(*TAutoincInfo)(unsafe.Pointer(pInfo)).FregCtr = v2 /* Max rowid register */
|
||||
*(*int32)(unsafe.Pointer(pToplevel + 44)) += int32(2) /* Rowid in sqlite_sequence + orig max val */
|
||||
}
|
||||
memId = (*TAutoincInfo)(unsafe.Pointer(pInfo)).FregCtr
|
||||
|
@ -209563,7 +209563,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI
|
|||
iCovCur = v44
|
||||
v47 = pParse + 44
|
||||
*(*int32)(unsafe.Pointer(v47))++
|
||||
v46 = *(*int32)(unsafe.Pointer(v47)) /* Cursor used for index scans (if any) */
|
||||
v46 = *(*int32)(unsafe.Pointer(v47)) /* Cursor used for index scans (if any) */
|
||||
regReturn = v46 /* Register used with OP_Gosub */
|
||||
regRowset = 0 /* Register for RowSet object */
|
||||
regRowid = 0 /* Register holding rowid */
|
||||
|
@ -232009,14 +232009,14 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) /*A-overwrites-X*/
|
||||
goto _346
|
||||
_138:
|
||||
; /* xfullname ::= nm DOT nm AS nm */
|
||||
; /* xfullname ::= nm DOT nm AS nm */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4) /*A-overwrites-X*/
|
||||
if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 {
|
||||
(*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+4)
|
||||
}
|
||||
goto _346
|
||||
_139:
|
||||
; /* xfullname ::= nm AS nm */
|
||||
; /* xfullname ::= nm AS nm */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, uintptr(0)) /*A-overwrites-X*/
|
||||
if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) != 0 {
|
||||
(*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+4)
|
||||
|
@ -232074,7 +232074,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
_sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)))
|
||||
goto _346
|
||||
_152:
|
||||
; /* sortlist ::= expr sortorder nulls */
|
||||
; /* sortlist ::= expr sortorder nulls */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) /*A-overwrites-Y*/
|
||||
_sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)))
|
||||
goto _346
|
||||
|
@ -232653,7 +232653,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)))
|
||||
goto _346
|
||||
_254:
|
||||
; /* eidlist ::= nm collate sortorder */
|
||||
; /* eidlist ::= nm collate sortorder */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-Y*/
|
||||
goto _346
|
||||
_255:
|
||||
|
@ -232768,7 +232768,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))
|
||||
goto _346
|
||||
_281:
|
||||
; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */
|
||||
; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */
|
||||
*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))
|
||||
goto _346
|
||||
|
@ -232897,7 +232897,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
*(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = uint8(M10d_No)
|
||||
goto _346
|
||||
_312:
|
||||
; /* wqitem ::= withnm eidlist_opt wqas LP select RP */
|
||||
; /* wqitem ::= withnm eidlist_opt wqas LP select RP */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) /*A-overwrites-X*/
|
||||
goto _346
|
||||
_313:
|
||||
|
@ -232905,7 +232905,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i
|
|||
(*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1)
|
||||
goto _346
|
||||
_314:
|
||||
; /* wqlist ::= wqitem */
|
||||
; /* wqlist ::= wqitem */
|
||||
*(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/
|
||||
goto _346
|
||||
_315:
|
||||
|
@ -263543,7 +263543,7 @@ func _sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite
|
|||
var _ /* i at bp+0 */ Tu64
|
||||
var _ /* r at bp+8 */ float64
|
||||
_, _, _, _, _ = eType, n, nByte, nVarint, z /* Size of serialized value in bytes */
|
||||
if pValue != 0 { /* Value type (SQLITE_NULL, TEXT etc.) */
|
||||
if pValue != 0 { /* Value type (SQLITE_NULL, TEXT etc.) */
|
||||
eType = Xsqlite3_value_type(tls, pValue)
|
||||
if aBuf != 0 {
|
||||
*(*Tu8)(unsafe.Pointer(aBuf)) = uint8(uint8(eType))
|
||||
|
@ -291384,7 +291384,7 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr
|
|||
var nByte Tsqlite3_int64
|
||||
var p, zCols, zDefn, v1 uintptr
|
||||
_, _, _, _, _, _, _, _, _ = i, iOff, nByte, nDefn, p, rc, zCols, zDefn, v1
|
||||
rc = SQLITE_OK /* Bytes of space to allocate */
|
||||
rc = SQLITE_OK /* Bytes of space to allocate */
|
||||
nByte = int64(uint32(72) + uint32((*TFts5Config)(unsafe.Pointer(pConfig)).FnCol)*uint32(8)) /* Fts5Storage.aTotalSize[] */
|
||||
v1 = Xsqlite3_malloc64(tls, uint64(uint64(nByte)))
|
||||
p = v1
|
||||
|
@ -301017,4 +301017,3 @@ func __ccgo_fp(f interface{}) uintptr {
|
|||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
|
|
BIN
vendor/modernc.org/sqlite/logo.png
generated
vendored
Normal file
BIN
vendor/modernc.org/sqlite/logo.png
generated
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
40
vendor/modernc.org/sqlite/sqlite.go
generated
vendored
40
vendor/modernc.org/sqlite/sqlite.go
generated
vendored
|
@ -18,6 +18,7 @@
|
|||
"net/url"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
|
@ -819,7 +820,25 @@ func applyQueryParams(c *conn, query string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
var a []string
|
||||
for _, v := range q["_pragma"] {
|
||||
a = append(a, v)
|
||||
}
|
||||
// Push 'busy_timeout' first, the rest in lexicographic order, case insenstive.
|
||||
// See https://gitlab.com/cznic/sqlite/-/issues/198#note_2233423463 for
|
||||
// discussion.
|
||||
sort.Slice(a, func(i, j int) bool {
|
||||
x, y := strings.TrimSpace(strings.ToLower(a[i])), strings.TrimSpace(strings.ToLower(a[j]))
|
||||
if strings.HasPrefix(x, "busy_timeout") {
|
||||
return true
|
||||
}
|
||||
if strings.HasPrefix(y, "busy_timeout") {
|
||||
return false
|
||||
}
|
||||
|
||||
return x < y
|
||||
})
|
||||
for _, v := range a {
|
||||
cmd := "pragma " + v
|
||||
_, err := c.exec(context.Background(), cmd, nil)
|
||||
if err != nil {
|
||||
|
@ -1390,6 +1409,27 @@ func (c *conn) closeV2(db uintptr) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// ResetSession is called prior to executing a query on the connection if the
|
||||
// connection has been used before. If the driver returns ErrBadConn the
|
||||
// connection is discarded.
|
||||
func (c *conn) ResetSession(ctx context.Context) error {
|
||||
if !c.usable() {
|
||||
return driver.ErrBadConn
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// IsValid is called prior to placing the connection into the connection pool.
|
||||
// The connection will be discarded if false is returned.
|
||||
func (c *conn) IsValid() bool {
|
||||
return c.usable()
|
||||
}
|
||||
|
||||
func (c *conn) usable() bool {
|
||||
return c.db != 0 && sqlite3.Xsqlite3_is_interrupted(c.tls, c.db) == 0
|
||||
}
|
||||
|
||||
// FunctionImpl describes an [application-defined SQL function]. If Scalar is
|
||||
// set, it is treated as a scalar function; otherwise, it is treated as an
|
||||
// aggregate function using MakeAggregate.
|
||||
|
|
8
vendor/modules.txt
vendored
8
vendor/modules.txt
vendored
|
@ -24,7 +24,7 @@ codeberg.org/gruf/go-fastcopy
|
|||
# codeberg.org/gruf/go-fastpath/v2 v2.0.0
|
||||
## explicit; go 1.14
|
||||
codeberg.org/gruf/go-fastpath/v2
|
||||
# codeberg.org/gruf/go-ffmpreg v0.6.0
|
||||
# codeberg.org/gruf/go-ffmpreg v0.6.1
|
||||
## explicit; go 1.22.0
|
||||
codeberg.org/gruf/go-ffmpreg/embed
|
||||
codeberg.org/gruf/go-ffmpreg/wasm
|
||||
|
@ -1341,8 +1341,8 @@ modernc.org/mathutil
|
|||
# modernc.org/memory v1.8.0
|
||||
## explicit; go 1.18
|
||||
modernc.org/memory
|
||||
# modernc.org/sqlite v0.0.0-00010101000000-000000000000 => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.33.1-concurrency-workaround
|
||||
## explicit; go 1.20
|
||||
# modernc.org/sqlite v0.0.0-00010101000000-000000000000 => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.34.2-concurrency-workaround
|
||||
## explicit; go 1.21
|
||||
modernc.org/sqlite
|
||||
modernc.org/sqlite/lib
|
||||
# modernc.org/strutil v1.2.0
|
||||
|
@ -1355,7 +1355,7 @@ modernc.org/token
|
|||
## explicit; go 1.19
|
||||
mvdan.cc/xurls/v2
|
||||
# github.com/go-swagger/go-swagger => github.com/superseriousbusiness/go-swagger v0.31.0-gts-go1.23-fix
|
||||
# modernc.org/sqlite => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.33.1-concurrency-workaround
|
||||
# modernc.org/sqlite => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.34.2-concurrency-workaround
|
||||
# go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.29.0
|
||||
# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0
|
||||
# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0
|
||||
|
|
Loading…
Reference in a new issue