diff options
| author | 2025-04-28 11:20:24 +0000 | |
|---|---|---|
| committer | 2025-04-28 11:20:24 +0000 | |
| commit | 436765a6a2ddf400b6e06c9a7c3283b1351fcbcd (patch) | |
| tree | c1a0e969c23a74eaca258c709db1776763d576dd /vendor/github.com/ncruces | |
| parent | [chore] Update build to use new woodpecker dind container, bump version numbe... (diff) | |
| download | gotosocial-436765a6a2ddf400b6e06c9a7c3283b1351fcbcd.tar.xz | |
bump dependencies: minio-go, go-sqlite3, goldmark, otel, x/image/webp (#4075)
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4075
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/github.com/ncruces')
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/driver/driver.go | 43 | ||||
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/embed/build.sh | 4 | ||||
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/embed/exports.txt | 1 | ||||
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm | bin | 1397228 -> 1398689 bytes | |||
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/error.go | 2 | ||||
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/stmt.go | 13 | ||||
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/util/sql3util/wasm/sql3parse_table.wasm | bin | 17400 -> 15969 bytes |
7 files changed, 36 insertions, 27 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/driver/driver.go b/vendor/github.com/ncruces/go-sqlite3/driver/driver.go index 9250cf39d..f473220c0 100644 --- a/vendor/github.com/ncruces/go-sqlite3/driver/driver.go +++ b/vendor/github.com/ncruces/go-sqlite3/driver/driver.go @@ -241,8 +241,9 @@ func (n *connector) Connect(ctx context.Context) (ret driver.Conn, err error) { } }() - old := c.Conn.SetInterrupt(ctx) - defer c.Conn.SetInterrupt(old) + if old := c.Conn.SetInterrupt(ctx); old != ctx { + defer c.Conn.SetInterrupt(old) + } if !n.pragmas { err = c.Conn.BusyTimeout(time.Minute) @@ -362,8 +363,9 @@ func (c *conn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, e c.txReset = `; PRAGMA query_only=` + string(c.readOnly) } - old := c.Conn.SetInterrupt(ctx) - defer c.Conn.SetInterrupt(old) + if old := c.Conn.SetInterrupt(ctx); old != ctx { + defer c.Conn.SetInterrupt(old) + } err := c.Conn.Exec(txBegin) if err != nil { @@ -382,8 +384,10 @@ func (c *conn) Commit() error { func (c *conn) Rollback() error { // ROLLBACK even if interrupted. - old := c.Conn.SetInterrupt(context.Background()) - defer c.Conn.SetInterrupt(old) + ctx := context.Background() + if old := c.Conn.SetInterrupt(ctx); old != ctx { + defer c.Conn.SetInterrupt(old) + } return c.Conn.Exec(`ROLLBACK` + c.txReset) } @@ -393,8 +397,9 @@ func (c *conn) Prepare(query string) (driver.Stmt, error) { } func (c *conn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) { - old := c.Conn.SetInterrupt(ctx) - defer c.Conn.SetInterrupt(old) + if old := c.Conn.SetInterrupt(ctx); old != ctx { + defer c.Conn.SetInterrupt(old) + } s, tail, err := c.Conn.Prepare(query) if err != nil { @@ -419,8 +424,9 @@ func (c *conn) ExecContext(ctx context.Context, query string, args []driver.Name return resultRowsAffected(0), nil } - old := c.Conn.SetInterrupt(ctx) - defer c.Conn.SetInterrupt(old) + if old := c.Conn.SetInterrupt(ctx); old != ctx { + defer c.Conn.SetInterrupt(old) + } err := c.Conn.Exec(query) if err != nil { @@ -483,8 +489,10 @@ func (s *stmt) ExecContext(ctx context.Context, args []driver.NamedValue) (drive return nil, err } - old := s.Stmt.Conn().SetInterrupt(ctx) - defer s.Stmt.Conn().SetInterrupt(old) + c := s.Stmt.Conn() + if old := c.SetInterrupt(ctx); old != ctx { + defer c.SetInterrupt(old) + } err = errors.Join( s.Stmt.Exec(), @@ -493,7 +501,7 @@ func (s *stmt) ExecContext(ctx context.Context, args []driver.NamedValue) (drive return nil, err } - return newResult(s.Stmt.Conn()), nil + return newResult(c), nil } func (s *stmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) { @@ -678,13 +686,14 @@ func (r *rows) scanType(index int) scantype { func (r *rows) loadColumnMetadata() { if r.nulls == nil { + c := r.Stmt.Conn() count := r.Stmt.ColumnCount() nulls := make([]bool, count) types := make([]string, count) scans := make([]scantype, count) for i := range nulls { if col := r.Stmt.ColumnOriginName(i); col != "" { - types[i], _, nulls[i], _, _, _ = r.Stmt.Conn().TableColumnMetadata( + types[i], _, nulls[i], _, _, _ = c.TableColumnMetadata( r.Stmt.ColumnDatabaseName(i), r.Stmt.ColumnTableName(i), col) @@ -762,8 +771,10 @@ func (r *rows) ColumnTypeScanType(index int) (typ reflect.Type) { } func (r *rows) Next(dest []driver.Value) error { - old := r.Stmt.Conn().SetInterrupt(r.ctx) - defer r.Stmt.Conn().SetInterrupt(old) + c := r.Stmt.Conn() + if old := c.SetInterrupt(r.ctx); old != r.ctx { + defer c.SetInterrupt(old) + } if !r.Stmt.Step() { if err := r.Stmt.Err(); err != nil { diff --git a/vendor/github.com/ncruces/go-sqlite3/embed/build.sh b/vendor/github.com/ncruces/go-sqlite3/embed/build.sh index a6b21d366..88e12be31 100644 --- a/vendor/github.com/ncruces/go-sqlite3/embed/build.sh +++ b/vendor/github.com/ncruces/go-sqlite3/embed/build.sh @@ -12,7 +12,7 @@ trap 'rm -f sqlite3.tmp' EXIT "$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \ -Wall -Wextra -Wno-unused-parameter -Wno-unused-function \ -o sqlite3.wasm "$ROOT/sqlite3/main.c" \ - -I"$ROOT/sqlite3" \ + -I"$ROOT/sqlite3/libc" -I"$ROOT/sqlite3" \ -mexec-model=reactor \ -msimd128 -mmutable-globals -mmultivalue \ -mbulk-memory -mreference-types \ @@ -27,7 +27,7 @@ trap 'rm -f sqlite3.tmp' EXIT "$BINARYEN/wasm-ctor-eval" -g -c _initialize sqlite3.wasm -o sqlite3.tmp "$BINARYEN/wasm-opt" -g --strip --strip-producers -c -O3 \ - sqlite3.tmp -o sqlite3.wasm \ + sqlite3.tmp -o sqlite3.wasm --low-memory-unused \ --enable-simd --enable-mutable-globals --enable-multivalue \ --enable-bulk-memory --enable-reference-types \ --enable-nontrapping-float-to-int --enable-sign-ext
\ No newline at end of file diff --git a/vendor/github.com/ncruces/go-sqlite3/embed/exports.txt b/vendor/github.com/ncruces/go-sqlite3/embed/exports.txt index 84d6102b8..1de4b3382 100644 --- a/vendor/github.com/ncruces/go-sqlite3/embed/exports.txt +++ b/vendor/github.com/ncruces/go-sqlite3/embed/exports.txt @@ -66,6 +66,7 @@ sqlite3_errmsg sqlite3_error_offset sqlite3_errstr sqlite3_exec +sqlite3_exec_go sqlite3_expanded_sql sqlite3_file_control sqlite3_filename_database diff --git a/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm b/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm Binary files differindex 713fc0675..88ebe9932 100644 --- a/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm +++ b/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm diff --git a/vendor/github.com/ncruces/go-sqlite3/error.go b/vendor/github.com/ncruces/go-sqlite3/error.go index 59982eafd..83b057d0d 100644 --- a/vendor/github.com/ncruces/go-sqlite3/error.go +++ b/vendor/github.com/ncruces/go-sqlite3/error.go @@ -75,7 +75,7 @@ func (e *Error) As(err any) bool { // Temporary returns true for [BUSY] errors. func (e *Error) Temporary() bool { - return e.Code() == BUSY + return e.Code() == BUSY || e.Code() == INTERRUPT } // Timeout returns true for [BUSY_TIMEOUT] errors. diff --git a/vendor/github.com/ncruces/go-sqlite3/stmt.go b/vendor/github.com/ncruces/go-sqlite3/stmt.go index 1ea726ea1..7fa2a504d 100644 --- a/vendor/github.com/ncruces/go-sqlite3/stmt.go +++ b/vendor/github.com/ncruces/go-sqlite3/stmt.go @@ -110,10 +110,7 @@ func (s *Stmt) Step() bool { s.err = INTERRUPT return false } - return s.step() -} -func (s *Stmt) step() bool { rc := res_t(s.c.call("sqlite3_step", stk_t(s.handle))) switch rc { case _ROW: @@ -141,10 +138,9 @@ func (s *Stmt) Exec() error { if s.c.interrupt.Err() != nil { return INTERRUPT } - // TODO: implement this in C. - for s.step() { - } - return s.Reset() + rc := res_t(s.c.call("sqlite3_exec_go", stk_t(s.handle))) + s.err = nil + return s.c.error(rc) } // Status monitors the performance characteristics of prepared statements. @@ -649,6 +645,7 @@ func (s *Stmt) ColumnValue(col int) Value { // [FLOAT] as float64, [NULL] as nil, // [TEXT] as string, and [BLOB] as []byte. func (s *Stmt) Columns(dest ...any) error { + defer s.c.arena.mark()() types, ptr, err := s.columns(int64(len(dest))) if err != nil { return err @@ -701,6 +698,7 @@ func (s *Stmt) Columns(dest ...any) error { // Any []byte are owned by SQLite and may be invalidated by // subsequent calls to [Stmt] methods. func (s *Stmt) ColumnsRaw(dest ...any) error { + defer s.c.arena.mark()() types, ptr, err := s.columns(int64(len(dest))) if err != nil { return err @@ -739,7 +737,6 @@ func (s *Stmt) ColumnsRaw(dest ...any) error { } func (s *Stmt) columns(count int64) ([]byte, ptr_t, error) { - defer s.c.arena.mark()() typePtr := s.c.arena.new(count) dataPtr := s.c.arena.new(count * 8) diff --git a/vendor/github.com/ncruces/go-sqlite3/util/sql3util/wasm/sql3parse_table.wasm b/vendor/github.com/ncruces/go-sqlite3/util/sql3util/wasm/sql3parse_table.wasm Binary files differindex 4d3357ea1..fa8af14a0 100644 --- a/vendor/github.com/ncruces/go-sqlite3/util/sql3util/wasm/sql3parse_table.wasm +++ b/vendor/github.com/ncruces/go-sqlite3/util/sql3util/wasm/sql3parse_table.wasm |
