summaryrefslogtreecommitdiff
path: root/vendor/modernc.org/sqlite
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-04-24 13:49:21 +0200
committerLibravatar GitHub <noreply@github.com>2023-04-24 13:49:21 +0200
commit49395f246495492607b3de3fb26a95a8fdadac60 (patch)
tree3a0cb51d4a3350bc8a11548ab5fe6dbd71c4efa2 /vendor/modernc.org/sqlite
parent[bugfix] fix small config typos (#1707) (diff)
downloadgotosocial-49395f246495492607b3de3fb26a95a8fdadac60.tar.xz
[chore]: Bump modernc.org/sqlite from 1.21.1 to 1.22.0 (#1711)
Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.1 to 1.22.0. - [Release notes](https://gitlab.com/cznic/sqlite/tags) - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.1...v1.22.0) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/modernc.org/sqlite')
-rw-r--r--vendor/modernc.org/sqlite/doc.go121
-rw-r--r--vendor/modernc.org/sqlite/issue120.diff78
2 files changed, 199 insertions, 0 deletions
diff --git a/vendor/modernc.org/sqlite/doc.go b/vendor/modernc.org/sqlite/doc.go
index 61a9ce53e..04a7887a6 100644
--- a/vendor/modernc.org/sqlite/doc.go
+++ b/vendor/modernc.org/sqlite/doc.go
@@ -29,6 +29,7 @@
// linux arm64 3.41.2
// linux ppc64le 3.41.2
// linux riscv64 3.41.2
+// linux s390x 3.41.2
// windows amd64 3.41.2
// windows arm64 3.41.2
//
@@ -40,6 +41,10 @@
//
// Changelog
//
+// 2023-04-22 v1.22.0:
+//
+// Support linux/s390x.
+//
// 2023-02-23 v1.21.0:
//
// Upgrade to SQLite 3.41.0, release notes at https://sqlite.org/releaselog/3_41_0.html.
@@ -201,6 +206,122 @@
//
// Note: To run `go generate` you need to have modernc.org/ccgo/v3 installed.
//
+// Hacking
+//
+// This is an example of how to use the debug logs in modernc.org/libc when hunting a bug.
+//
+//
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ git status
+// On branch master
+// Your branch is up to date with 'origin/master'.
+//
+// nothing to commit, working tree clean
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ git log -1
+// commit df33b8d15107f3cc777799c0fe105f74ef499e62 (HEAD -> master, tag: v1.21.1, origin/master, origin/HEAD, wips, ok)
+// Author: Jan Mercl <0xjnml@gmail.com>
+// Date: Mon Mar 27 16:18:28 2023 +0200
+//
+// upgrade to SQLite 3.41.2
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ rm -f /tmp/libc.log ; go test -v -tags=libc.dmesg -run TestScalar ; ls -l /tmp/libc.log
+// test binary compiled for linux/amd64
+// === RUN TestScalar
+// --- PASS: TestScalar (0.09s)
+// PASS
+// ok modernc.org/sqlite 0.128s
+// -rw-r--r-- 1 jnml jnml 76 Apr 6 11:22 /tmp/libc.log
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ cat /tmp/libc.log
+// [10723 sqlite.test] 2023-04-06 11:22:48.288066057 +0200 CEST m=+0.000707150
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$
+//
+//
+// The /tmp/libc.log file is created as requested. No useful messages there because none are enabled in libc. Let's try to enable Xwrite as an example.
+//
+//
+// 0:jnml@e5-1650:~/src/modernc.org/libc$ git status
+// On branch master
+// Your branch is up to date with 'origin/master'.
+//
+// Changes not staged for commit:
+// (use "git add <file>..." to update what will be committed)
+// (use "git restore <file>..." to discard changes in working directory)
+// modified: libc_linux.go
+//
+// no changes added to commit (use "git add" and/or "git commit -a")
+// 0:jnml@e5-1650:~/src/modernc.org/libc$ git log -1
+// commit 1e22c18cf2de8aa86d5b19b165f354f99c70479c (HEAD -> master, tag: v1.22.3, origin/master, origin/HEAD)
+// Author: Jan Mercl <0xjnml@gmail.com>
+// Date: Wed Feb 22 20:27:45 2023 +0100
+//
+// support sqlite 3.41 on linux targets
+// 0:jnml@e5-1650:~/src/modernc.org/libc$ git diff
+// diff --git a/libc_linux.go b/libc_linux.go
+// index 1c2f482..ac1f08d 100644
+// --- a/libc_linux.go
+// +++ b/libc_linux.go
+// @@ -332,19 +332,19 @@ func Xwrite(t *TLS, fd int32, buf uintptr, count types.Size_t) types.Ssize_t {
+// var n uintptr
+// switch n, _, err = unix.Syscall(unix.SYS_WRITE, uintptr(fd), buf, uintptr(count)); err {
+// case 0:
+// - // if dmesgs {
+// - // // dmesg("%v: %d %#x: %#x\n%s", origin(1), fd, count, n, hex.Dump(GoBytes(buf, int(n))))
+// - // dmesg("%v: %d %#x: %#x", origin(1), fd, count, n)
+// - // }
+// + if dmesgs {
+// + // dmesg("%v: %d %#x: %#x\n%s", origin(1), fd, count, n, hex.Dump(GoBytes(buf, int(n))))
+// + dmesg("%v: %d %#x: %#x", origin(1), fd, count, n)
+// + }
+// return types.Ssize_t(n)
+// case errno.EAGAIN:
+// // nop
+// }
+// }
+//
+// - // if dmesgs {
+// - // dmesg("%v: fd %v, count %#x: %v", origin(1), fd, count, err)
+// - // }
+// + if dmesgs {
+// + dmesg("%v: fd %v, count %#x: %v", origin(1), fd, count, err)
+// + }
+// t.setErrno(err)
+// return -1
+// }
+// 0:jnml@e5-1650:~/src/modernc.org/libc$
+//
+//
+// We need to tell the Go build system to use our local, patched/debug libc:
+//
+//
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ go work use $(go env GOPATH)/src/modernc.org/libc
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ go work use .
+//
+//
+// And run the test again:
+//
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ rm -f /tmp/libc.log ; go test -v -tags=libc.dmesg -run TestScalar ; ls -l /tmp/libc.log
+// test binary compiled for linux/amd64
+// === RUN TestScalar
+// --- PASS: TestScalar (0.26s)
+// PASS
+// ok modernc.org/sqlite 0.285s
+// -rw-r--r-- 1 jnml jnml 918 Apr 6 11:29 /tmp/libc.log
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ cat /tmp/libc.log
+// [11910 sqlite.test] 2023-04-06 11:29:13.143589542 +0200 CEST m=+0.000689270
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x200: 0x200
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0xc: 0xc
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x200: 0x200
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x1000: 0x1000
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x1000: 0x1000
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0xc: 0xc
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000
+// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000
+// 0:jnml@e5-1650:~/src/modernc.org/sqlite$
+//
// Sqlite documentation
//
// See https://sqlite.org/docs.html
diff --git a/vendor/modernc.org/sqlite/issue120.diff b/vendor/modernc.org/sqlite/issue120.diff
new file mode 100644
index 000000000..e51607907
--- /dev/null
+++ b/vendor/modernc.org/sqlite/issue120.diff
@@ -0,0 +1,78 @@
+--- /home/jnml/tmp/test_syscall.c 2023-04-21 16:26:44.302689709 +0200
++++ testdata/sqlite-src-3410200/src/test_syscall.c 2023-04-21 16:29:28.000869993 +0200
+@@ -110,15 +110,15 @@
+ static int ts_fstat(int fd, struct stat *p);
+ static int ts_ftruncate(int fd, off_t n);
+ static int ts_fcntl(int fd, int cmd, ... );
+-static int ts_read(int fd, void *aBuf, size_t nBuf);
+-static int ts_pread(int fd, void *aBuf, size_t nBuf, off_t off);
++static ssize_t ts_read(int fd, void *aBuf, size_t nBuf);
++static ssize_t ts_pread(int fd, void *aBuf, size_t nBuf, off_t off);
+ /* Note: pread64() and pwrite64() actually use off64_t as the type on their
+ ** last parameter. But that datatype is not defined on many systems
+ ** (ex: Mac, OpenBSD). So substitute a likely equivalent: sqlite3_uint64 */
+-static int ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off);
+-static int ts_write(int fd, const void *aBuf, size_t nBuf);
+-static int ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off);
+-static int ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off);
++static ssize_t ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off);
++static ssize_t ts_write(int fd, const void *aBuf, size_t nBuf);
++static ssize_t ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off);
++static ssize_t ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off);
+ static int ts_fchmod(int fd, mode_t mode);
+ static int ts_fallocate(int fd, off_t off, off_t len);
+ static void *ts_mmap(void *, size_t, int, int, int, off_t);
+@@ -313,7 +313,7 @@
+ /*
+ ** A wrapper around read().
+ */
+-static int ts_read(int fd, void *aBuf, size_t nBuf){
++static ssize_t ts_read(int fd, void *aBuf, size_t nBuf){
+ if( tsIsFailErrno("read") ){
+ return -1;
+ }
+@@ -323,7 +323,7 @@
+ /*
+ ** A wrapper around pread().
+ */
+-static int ts_pread(int fd, void *aBuf, size_t nBuf, off_t off){
++static ssize_t ts_pread(int fd, void *aBuf, size_t nBuf, off_t off){
+ if( tsIsFailErrno("pread") ){
+ return -1;
+ }
+@@ -333,7 +333,7 @@
+ /*
+ ** A wrapper around pread64().
+ */
+-static int ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off){
++static ssize_t ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off){
+ if( tsIsFailErrno("pread64") ){
+ return -1;
+ }
+@@ -343,7 +343,7 @@
+ /*
+ ** A wrapper around write().
+ */
+-static int ts_write(int fd, const void *aBuf, size_t nBuf){
++static ssize_t ts_write(int fd, const void *aBuf, size_t nBuf){
+ if( tsIsFailErrno("write") ){
+ if( tsErrno("write")==EINTR ) orig_write(fd, aBuf, nBuf/2);
+ return -1;
+@@ -354,7 +354,7 @@
+ /*
+ ** A wrapper around pwrite().
+ */
+-static int ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off){
++static ssize_t ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off){
+ if( tsIsFailErrno("pwrite") ){
+ return -1;
+ }
+@@ -364,7 +364,7 @@
+ /*
+ ** A wrapper around pwrite64().
+ */
+-static int ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off){
++static ssize_t ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off){
+ if( tsIsFailErrno("pwrite64") ){
+ return -1;
+ }