Skip to content

Add build tags to support both x86 and ARM compilation on macOS - #1069

Merged
rittneje merged 5 commits into
mattn:masterfrom
Spaider:x86-arm-compilation-macOS
Feb 23, 2023
Merged

Add build tags to support both x86 and ARM compilation on macOS#1069
rittneje merged 5 commits into
mattn:masterfrom
Spaider:x86-arm-compilation-macOS

Conversation

@Spaider

@Spaider Spaider commented Jul 28, 2022

Copy link
Copy Markdown
Contributor

Fix for #1068

Changes

  • Introduce arm64 and amd64 build tags
  • Appropriate changes in documentation

Comment thread README.md Outdated
To compile for macOS X on x86:

```bash
go build --tags "darwin,amd64"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These instructions were actually totally wrong. It should be using GOOS and GOARCH for this. The same applies for Windows and Linux. (Also the flag is -tags not --tags.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I'm not following where's my fault here. I've added architecture flags exactly in a way it was for OS selection: by explicitly define target OS/arch. I'm a roocky in cgo and not sure how to re-write this to make it refer to GOOS and GOARCH env vars: #cgo flag does not have if-then-else notion.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The original instructions (on master) were incorrect.

If you are doing a native compile, it is just go build.
If you are doing a cross compile, it is GOOS=<target-os> GOARCH=<target-arch> CGO_ENABLED=1 CC=<c-cross-compiler> go build
For example: GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 CC=o64-clang go build

Separately from that, if you are trying to include optional features via build tags, in modern versions of Go you provide a comma-separated list via -tags.

-tags tag,list
a comma-separated list of build tags to consider satisfied during the
build. For more information about build tags, see the description of
build constraints in the documentation for the go/build package.
(Earlier versions of Go used a space-separated list, and that form
is deprecated but still recognized.)

For example: go build -tags sqlite_stat4,secure_delete

Note that all of this is separate from the #cgo directive changes you made. (Those changes are correct.)

@Spaider Spaider Jul 31, 2022

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for an explanation, now it makes a perfect sense. Looks like the problem of both native and cross-compilcation can be resolved only by external tool. For example, shell script which will set CGO_CFLAGS and CGO_LDFLAGS based on target GOOS and GOARCH. But this is beyond the scope of my PR.

Comment thread README.md
@rittneje

Copy link
Copy Markdown
Collaborator

@mattn Do you know if GitHub has any M1/M2 build agents we could add to the workflow? https://github.com/mattn/go-sqlite3/blob/master/.github/workflows/go.yaml

@mattn

mattn commented Jul 31, 2022

Copy link
Copy Markdown
Owner

No I don't.

@Spaider

Spaider commented Jul 31, 2022

Copy link
Copy Markdown
Contributor Author

@mattn Do you know if GitHub has any M1/M2 build agents

Issue is still open. Looks like it's in plans but not there yet.

Comment thread sqlite3_opt_icu.go
#cgo darwin,amd64 CFLAGS: -I/usr/local/opt/icu4c/include
#cgo darwin,amd64 LDFLAGS: -L/usr/local/opt/icu4c/lib
#cgo darwin,arm64 CFLAGS: -I/opt/homebrew/opt/icu4c/include
#cgo darwin,arm64 LDFLAGS: -L/opt/homebrew/opt/icu4c/lib

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering why this is different for them.

-I/usr/local/opt/icu4c/include -I/opt/homebrew/opt/icu4c/include
-L/usr/local/opt/icu4c/lib -L/opt/homebrew/opt/icu4c/lib

This is not good?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattn Not sure I understand your question, but Homebrew installs to a different location on arm64 (i.e, M1/M2) than on amd64 (i.e., Intel), as mentioned in the docs. https://docs.brew.sh/Installation

We could also choose to include both directories for macOS regardless of GOARCH, and I suppose that would also work. (Although I think we should put /opt/homebrew first in that case.)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just hit this issue on a M1 Mac and these locations are correct. This PR along with the build tags go build -tags "libsqlite3 darwin arm64" allowed me to build against the sqlite version installed via homebrew.

@zzet

zzet commented Oct 20, 2022

Copy link
Copy Markdown

Hey folks! I'm wondering if any progress there?

@Spaider

Spaider commented Oct 24, 2022

Copy link
Copy Markdown
Contributor Author

I've resolved the conflict in README.md.

@ARolek

ARolek commented Feb 22, 2023

Copy link
Copy Markdown

Just checking in. It looks like this PR was approved, but never merged. Is there anything blocking the merge at this time?

@rittneje
rittneje merged commit 85a15a7 into mattn:master Feb 23, 2023
meiyang1123 pushed a commit to meiyang1123/go-sqlite3 that referenced this pull request Aug 28, 2024
…n#1069)

* Add build tags to support both x86 and ARM compilation on macOS

* Documentation fix: command line for build under macOS

* Global replace 'macOS X' -> 'macOS'. Fix typo in -tags cmd line param

* `README.md`: fix all `--tags` -> `-tags`

---------

Co-authored-by: Denis Dmitriev <dmitriev@itspartner.net>
eleboucher pushed a commit to eleboucher/apoci that referenced this pull request Jul 14, 2026
…4.48) (#140)

This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) | `v1.14.47` → `v1.14.48` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-sqlite3/v1.14.48?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-sqlite3/v1.14.47/v1.14.48?slim=true) |

---

### Release Notes

<details>
<summary>mattn/go-sqlite3 (github.com/mattn/go-sqlite3)</summary>

### [`v1.14.48`](https://github.com/mattn/go-sqlite3/releases/tag/v1.14.48): 1.14.48

[Compare Source](mattn/go-sqlite3@v1.14.47...v1.14.48)

#### What's Changed

- Add Serialize and Deserialize support by [@&#8203;otoolep](https://github.com/otoolep) in [#&#8203;1089](mattn/go-sqlite3#1089)
- Replace namedValue with driver.NamedValue to avoid copying exec/query args by [@&#8203;charlievieth](https://github.com/charlievieth) in [#&#8203;1128](mattn/go-sqlite3#1128)
- Add go 1.20 to workflow matrix, remove 1.17 by [@&#8203;connyay](https://github.com/connyay) in [#&#8203;1136](mattn/go-sqlite3#1136)
- Add build tags to support both x86 and ARM compilation on macOS by [@&#8203;Spaider](https://github.com/Spaider) in [#&#8203;1069](mattn/go-sqlite3#1069)
- Fix virtual table example. by [@&#8203;andrzh](https://github.com/andrzh) in [#&#8203;1149](mattn/go-sqlite3#1149)
- Update README.md by [@&#8203;parthokr](https://github.com/parthokr) in [#&#8203;1163](mattn/go-sqlite3#1163)
- Update amalgamation code by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1166](mattn/go-sqlite3#1166)
- Update amalgamation code by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1197](mattn/go-sqlite3#1197)
- Fix docker job by [@&#8203;itizir](https://github.com/itizir) in [#&#8203;1201](mattn/go-sqlite3#1201)
- Fix musl build ([#&#8203;1164](mattn/go-sqlite3#1164)) by [@&#8203;leso-kn](https://github.com/leso-kn) in [#&#8203;1177](mattn/go-sqlite3#1177)
- update go version to 1.19 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1208](mattn/go-sqlite3#1208)
- Update amalgamation code to 3.45.0 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1207](mattn/go-sqlite3#1207)
- Update amalgamation code to 3.45.1 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1211](mattn/go-sqlite3#1211)
- close channel by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1213](mattn/go-sqlite3#1213)
- fix: some typos by [@&#8203;pomadev](https://github.com/pomadev) in [#&#8203;1222](mattn/go-sqlite3#1222)
- Add support for libsqlite3 on z/OS by [@&#8203;dustin-ward](https://github.com/dustin-ward) in [#&#8203;1239](mattn/go-sqlite3#1239)
- Update amalgamation code to 3.46.1 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1273](mattn/go-sqlite3#1273)
- close statement when missing query arguments by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1281](mattn/go-sqlite3#1281)
- Upgrade upload-artifact action by [@&#8203;jonstacks](https://github.com/jonstacks) in [#&#8203;1300](mattn/go-sqlite3#1300)
- Remove suggestion that CGO isn't always needed by [@&#8203;samjewell](https://github.com/samjewell) in [#&#8203;1290](mattn/go-sqlite3#1290)
- remove superfluous use of runtime.SetFinalizer on SQLiteRows by [@&#8203;charlievieth](https://github.com/charlievieth) in [#&#8203;1301](mattn/go-sqlite3#1301)
- Fix sqlite3\_opt\_unlock\_notify with USE\_LIBSQLITE3 by [@&#8203;q66](https://github.com/q66) in [#&#8203;1262](mattn/go-sqlite3#1262)
- Fix memory leak in callbackRetText function by [@&#8203;hionay](https://github.com/hionay) in [#&#8203;1259](mattn/go-sqlite3#1259)
- docs: clarify GCP section by [@&#8203;justinsb](https://github.com/justinsb) in [#&#8203;1305](mattn/go-sqlite3#1305)
- Add ability to set an int64 file control by [@&#8203;jonstacks](https://github.com/jonstacks) in [#&#8203;1298](mattn/go-sqlite3#1298)
- Update amalgamation code to 3.49.1 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1335](mattn/go-sqlite3#1335)
- Update amalgamation code to 3.50.3 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1343](mattn/go-sqlite3#1343)
- Drop userauth implementation by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1344](mattn/go-sqlite3#1344)
- fix syntax error by [@&#8203;eraytufan](https://github.com/eraytufan) in [#&#8203;1346](mattn/go-sqlite3#1346)
- update amalgamation code by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1347](mattn/go-sqlite3#1347)
- use quote include instead of angled include for sqlite3-binding.h by [@&#8203;nautaa](https://github.com/nautaa) in [#&#8203;1362](mattn/go-sqlite3#1362)
- Upgrade SQLite to version [`3051001`](mattn/go-sqlite3@3051001) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1366](mattn/go-sqlite3#1366)
- Feat: add percentile extension option by [@&#8203;dsonck92](https://github.com/dsonck92) in [#&#8203;1364](mattn/go-sqlite3#1364)
- Upgrade SQLite to version [`3051002`](mattn/go-sqlite3@3051002) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1370](mattn/go-sqlite3#1370)
- Use unsafe slice by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1373](mattn/go-sqlite3#1373)
- Call sqlite3\_clear\_bindings() after sqlite3\_reset() in bind() by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1374](mattn/go-sqlite3#1374)
- Upgrade SQLite to version [`3051003`](mattn/go-sqlite3@3051003) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1375](mattn/go-sqlite3#1375)
- Ensure Close always removes runtime finalizer to prevent memory leak by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1376](mattn/go-sqlite3#1376)
- Fix json example by [@&#8203;Jaculabilis](https://github.com/Jaculabilis) in [#&#8203;1313](mattn/go-sqlite3#1313)
- Add missing virtual table constraint op constants by [@&#8203;theimpostor](https://github.com/theimpostor) in [#&#8203;1379](mattn/go-sqlite3#1379)
- Eliminate unnecessary bounds checks in hot paths by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1381](mattn/go-sqlite3#1381)
- \[codex] optimize sqlite bind fast path by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1382](mattn/go-sqlite3#1382)
- \[codex] batch row column fetches in Next by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1383](mattn/go-sqlite3#1383)
- Raise minimum Go version to 1.21 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1384](mattn/go-sqlite3#1384)
- Reduce sqlite bind overhead by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1385](mattn/go-sqlite3#1385)
- reduce CGO call overhead for exec and bind paths by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1386](mattn/go-sqlite3#1386)
- \[codex] add opt-in statement cache by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1387](mattn/go-sqlite3#1387)
- Fix panic when querying input with no SQL (only comments/whitespace) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1392](mattn/go-sqlite3#1392)
- evict least-recently-used stmt when cache is full by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1388](mattn/go-sqlite3#1388)
- Upgrade SQLite to version [`3053000`](mattn/go-sqlite3@3053000) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1394](mattn/go-sqlite3#1394)
- add sqlite\_dbstat tag for the DBSTAT virtual table by [@&#8203;calmh](https://github.com/calmh) in [#&#8203;1338](mattn/go-sqlite3#1338)
- avoid out of bounds write in unlock\_notify\_wait on 64 bit platforms by [@&#8203;calmh](https://github.com/calmh) in [#&#8203;1399](mattn/go-sqlite3#1399)
- modernise reflect.SliceHeader to unsafe.Slice by [@&#8203;calmh](https://github.com/calmh) in [#&#8203;1400](mattn/go-sqlite3#1400)
- guard oversized string length in ResultText by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1402](mattn/go-sqlite3#1402)
- bind via sqlite3\_bind\_text64/blob64 to avoid 32-bit length truncation by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1403](mattn/go-sqlite3#1403)
- Upgrade SQLite to version [`3053002`](mattn/go-sqlite3@3053002) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1404](mattn/go-sqlite3#1404)
- guard oversized blob length in callbackRetBlob by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1405](mattn/go-sqlite3#1405)
- preserve embedded NUL bytes in custom function text values by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1406](mattn/go-sqlite3#1406)
- Follow documented call order for sqlite3\_value\_blob in callbackArgString by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1407](mattn/go-sqlite3#1407)
- Use atomic.Value for handle table and add concurrent lookup benchmark by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1412](mattn/go-sqlite3#1412)
- cache column metadata for prepared and cached statements by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1413](mattn/go-sqlite3#1413)
- free leaked schema string in GetFilename by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1408](mattn/go-sqlite3#1408)
- Fix race in SQLiteStmt.Close by holding conn lock across cache check by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1416](mattn/go-sqlite3#1416)
- Add CodeRabbit as a sponsor by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1417](mattn/go-sqlite3#1417)
- Return error from vtable cursor open instead of ignoring it by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1419](mattn/go-sqlite3#1419)
- Check sqlite3\_malloc64 result in Deserialize by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1420](mattn/go-sqlite3#1420)
- Fix panic when registered functions return named types by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1421](mattn/go-sqlite3#1421)
- Return error instead of silently ignoring unsupported bind types by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1422](mattn/go-sqlite3#1422)
- Add CodeRabbit configuration by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1418](mattn/go-sqlite3#1418)
- Close database on all error paths in Open by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1423](mattn/go-sqlite3#1423)
- Check preupdate value fetch result to avoid NULL dereference by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1424](mattn/go-sqlite3#1424)
- Use C.int in exported callbacks to match C declarations by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1425](mattn/go-sqlite3#1425)
- Fix leak of extension load error message by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1426](mattn/go-sqlite3#1426)
- Upgrade SQLite to version [`3053003`](mattn/go-sqlite3@3053003) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1427](mattn/go-sqlite3#1427)

#### New Contributors

- [@&#8203;charlievieth](https://github.com/charlievieth) made their first contribution in [#&#8203;1128](mattn/go-sqlite3#1128)
- [@&#8203;connyay](https://github.com/connyay) made their first contribution in [#&#8203;1136](mattn/go-sqlite3#1136)
- [@&#8203;Spaider](https://github.com/Spaider) made their first contribution in [#&#8203;1069](mattn/go-sqlite3#1069)
- [@&#8203;andrzh](https://github.com/andrzh) made their first contribution in [#&#8203;1149](mattn/go-sqlite3#1149)
- [@&#8203;parthokr](https://github.com/parthokr) made their first contribution in [#&#8203;1163](mattn/go-sqlite3#1163)
- [@&#8203;leso-kn](https://github.com/leso-kn) made their first contribution in [#&#8203;1177](mattn/go-sqlite3#1177)
- [@&#8203;pomadev](https://github.com/pomadev) made their first contribution in [#&#8203;1222](mattn/go-sqlite3#1222)
- [@&#8203;dustin-ward](https://github.com/dustin-ward) made their first contribution in [#&#8203;1239](mattn/go-sqlite3#1239)
- [@&#8203;jonstacks](https://github.com/jonstacks) made their first contribution in [#&#8203;1300](mattn/go-sqlite3#1300)
- [@&#8203;samjewell](https://github.com/samjewell) made their first contribution in [#&#8203;1290](mattn/go-sqlite3#1290)
- [@&#8203;q66](https://github.com/q66) made their first contribution in [#&#8203;1262](mattn/go-sqlite3#1262)
- [@&#8203;hionay](https://github.com/hionay) made their first contribution in [#&#8203;1259](mattn/go-sqlite3#1259)
- [@&#8203;justinsb](https://github.com/justinsb) made their first contribution in [#&#8203;1305](mattn/go-sqlite3#1305)
- [@&#8203;eraytufan](https://github.com/eraytufan) made their first contribution in [#&#8203;1346](mattn/go-sqlite3#1346)
- [@&#8203;nautaa](https://github.com/nautaa) made their first contribution in [#&#8203;1362](mattn/go-sqlite3#1362)
- [@&#8203;dsonck92](https://github.com/dsonck92) made their first contribution in [#&#8203;1364](mattn/go-sqlite3#1364)
- [@&#8203;Jaculabilis](https://github.com/Jaculabilis) made their first contribution in [#&#8203;1313](mattn/go-sqlite3#1313)
- [@&#8203;theimpostor](https://github.com/theimpostor) made their first contribution in [#&#8203;1379](mattn/go-sqlite3#1379)
- [@&#8203;calmh](https://github.com/calmh) made their first contribution in [#&#8203;1338](mattn/go-sqlite3#1338)
- [@&#8203;dxbjavid](https://github.com/dxbjavid) made their first contribution in [#&#8203;1402](mattn/go-sqlite3#1402)

**Full Changelog**: <mattn/go-sqlite3@v1.14.16...v1.14.48>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL3BhdGNoIl19-->

Reviewed-on: https://git.erwanleboucher.dev/eleboucher/apoci/pulls/140
dgalanberasaluce pushed a commit to dgalanberasaluce/maximus-cli that referenced this pull request Aug 8, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) | `v1.14.47` → `v1.14.49` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-sqlite3/v1.14.49?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-sqlite3/v1.14.47/v1.14.49?slim=true) |

---

### Release Notes

<details>
<summary>mattn/go-sqlite3 (github.com/mattn/go-sqlite3)</summary>

### [`v1.14.49`](https://github.com/mattn/go-sqlite3/releases/tag/v1.14.49): 1.14.49

[Compare Source](mattn/go-sqlite3@v1.14.48...v1.14.49)

#### What's Changed

- Release vtable and cursor handles when SQLite destroys them by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1429](mattn/go-sqlite3#1429)
- Do not clobber SQLite's default cost estimates in BestIndex by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1430](mattn/go-sqlite3#1430)
- Translate SQL NULL filter arguments to nil like goVUpdate by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1431](mattn/go-sqlite3#1431)
- Identify updated row by argv 0 in goVUpdate by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1432](mattn/go-sqlite3#1432)
- Ignore Used for constraints SQLite marked not usable by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1433](mattn/go-sqlite3#1433)
- Reject nil module and nil BestIndex result by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1434](mattn/go-sqlite3#1434)
- Fail upgrade tool on download and write errors by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1435](mattn/go-sqlite3#1435)
- Fix off-by-one truncating SQL in fuzz target by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1436](mattn/go-sqlite3#1436)
- Fix wrong results and cursor state sharing in series example by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1437](mattn/go-sqlite3#1437)
- Use the table name from xCreate args in vtable example by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1438](mattn/go-sqlite3#1438)
- Close leaked rows in hook example by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1439](mattn/go-sqlite3#1439)
- Close prepared statement and fail if limit is not enforced in limit example by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1440](mattn/go-sqlite3#1440)
- Upgrade SQLite to version [`3053004`](mattn/go-sqlite3@3053004) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1442](mattn/go-sqlite3#1442)

**Full Changelog**: <mattn/go-sqlite3@v1.14.48...v1.14.49>

### [`v1.14.48`](https://github.com/mattn/go-sqlite3/releases/tag/v1.14.48): 1.14.48

[Compare Source](mattn/go-sqlite3@v1.14.47...v1.14.48)

#### What's Changed

- Add Serialize and Deserialize support by [@&#8203;otoolep](https://github.com/otoolep) in [#&#8203;1089](mattn/go-sqlite3#1089)
- Replace namedValue with driver.NamedValue to avoid copying exec/query args by [@&#8203;charlievieth](https://github.com/charlievieth) in [#&#8203;1128](mattn/go-sqlite3#1128)
- Add go 1.20 to workflow matrix, remove 1.17 by [@&#8203;connyay](https://github.com/connyay) in [#&#8203;1136](mattn/go-sqlite3#1136)
- Add build tags to support both x86 and ARM compilation on macOS by [@&#8203;Spaider](https://github.com/Spaider) in [#&#8203;1069](mattn/go-sqlite3#1069)
- Fix virtual table example. by [@&#8203;andrzh](https://github.com/andrzh) in [#&#8203;1149](mattn/go-sqlite3#1149)
- Update README.md by [@&#8203;parthokr](https://github.com/parthokr) in [#&#8203;1163](mattn/go-sqlite3#1163)
- Update amalgamation code by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1166](mattn/go-sqlite3#1166)
- Update amalgamation code by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1197](mattn/go-sqlite3#1197)
- Fix docker job by [@&#8203;itizir](https://github.com/itizir) in [#&#8203;1201](mattn/go-sqlite3#1201)
- Fix musl build ([#&#8203;1164](mattn/go-sqlite3#1164)) by [@&#8203;leso-kn](https://github.com/leso-kn) in [#&#8203;1177](mattn/go-sqlite3#1177)
- update go version to 1.19 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1208](mattn/go-sqlite3#1208)
- Update amalgamation code to 3.45.0 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1207](mattn/go-sqlite3#1207)
- Update amalgamation code to 3.45.1 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1211](mattn/go-sqlite3#1211)
- close channel by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1213](mattn/go-sqlite3#1213)
- fix: some typos by [@&#8203;pomadev](https://github.com/pomadev) in [#&#8203;1222](mattn/go-sqlite3#1222)
- Add support for libsqlite3 on z/OS by [@&#8203;dustin-ward](https://github.com/dustin-ward) in [#&#8203;1239](mattn/go-sqlite3#1239)
- Update amalgamation code to 3.46.1 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1273](mattn/go-sqlite3#1273)
- close statement when missing query arguments by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1281](mattn/go-sqlite3#1281)
- Upgrade upload-artifact action by [@&#8203;jonstacks](https://github.com/jonstacks) in [#&#8203;1300](mattn/go-sqlite3#1300)
- Remove suggestion that CGO isn't always needed by [@&#8203;samjewell](https://github.com/samjewell) in [#&#8203;1290](mattn/go-sqlite3#1290)
- remove superfluous use of runtime.SetFinalizer on SQLiteRows by [@&#8203;charlievieth](https://github.com/charlievieth) in [#&#8203;1301](mattn/go-sqlite3#1301)
- Fix sqlite3\_opt\_unlock\_notify with USE\_LIBSQLITE3 by [@&#8203;q66](https://github.com/q66) in [#&#8203;1262](mattn/go-sqlite3#1262)
- Fix memory leak in callbackRetText function by [@&#8203;hionay](https://github.com/hionay) in [#&#8203;1259](mattn/go-sqlite3#1259)
- docs: clarify GCP section by [@&#8203;justinsb](https://github.com/justinsb) in [#&#8203;1305](mattn/go-sqlite3#1305)
- Add ability to set an int64 file control by [@&#8203;jonstacks](https://github.com/jonstacks) in [#&#8203;1298](mattn/go-sqlite3#1298)
- Update amalgamation code to 3.49.1 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1335](mattn/go-sqlite3#1335)
- Update amalgamation code to 3.50.3 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1343](mattn/go-sqlite3#1343)
- Drop userauth implementation by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1344](mattn/go-sqlite3#1344)
- fix syntax error by [@&#8203;eraytufan](https://github.com/eraytufan) in [#&#8203;1346](mattn/go-sqlite3#1346)
- update amalgamation code by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1347](mattn/go-sqlite3#1347)
- use quote include instead of angled include for sqlite3-binding.h by [@&#8203;nautaa](https://github.com/nautaa) in [#&#8203;1362](mattn/go-sqlite3#1362)
- Upgrade SQLite to version [`3051001`](mattn/go-sqlite3@3051001) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1366](mattn/go-sqlite3#1366)
- Feat: add percentile extension option by [@&#8203;dsonck92](https://github.com/dsonck92) in [#&#8203;1364](mattn/go-sqlite3#1364)
- Upgrade SQLite to version [`3051002`](mattn/go-sqlite3@3051002) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1370](mattn/go-sqlite3#1370)
- Use unsafe slice by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1373](mattn/go-sqlite3#1373)
- Call sqlite3\_clear\_bindings() after sqlite3\_reset() in bind() by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1374](mattn/go-sqlite3#1374)
- Upgrade SQLite to version [`3051003`](mattn/go-sqlite3@3051003) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1375](mattn/go-sqlite3#1375)
- Ensure Close always removes runtime finalizer to prevent memory leak by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1376](mattn/go-sqlite3#1376)
- Fix json example by [@&#8203;Jaculabilis](https://github.com/Jaculabilis) in [#&#8203;1313](mattn/go-sqlite3#1313)
- Add missing virtual table constraint op constants by [@&#8203;theimpostor](https://github.com/theimpostor) in [#&#8203;1379](mattn/go-sqlite3#1379)
- Eliminate unnecessary bounds checks in hot paths by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1381](mattn/go-sqlite3#1381)
- \[codex] optimize sqlite bind fast path by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1382](mattn/go-sqlite3#1382)
- \[codex] batch row column fetches in Next by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1383](mattn/go-sqlite3#1383)
- Raise minimum Go version to 1.21 by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1384](mattn/go-sqlite3#1384)
- Reduce sqlite bind overhead by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1385](mattn/go-sqlite3#1385)
- reduce CGO call overhead for exec and bind paths by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1386](mattn/go-sqlite3#1386)
- \[codex] add opt-in statement cache by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1387](mattn/go-sqlite3#1387)
- Fix panic when querying input with no SQL (only comments/whitespace) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1392](mattn/go-sqlite3#1392)
- evict least-recently-used stmt when cache is full by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1388](mattn/go-sqlite3#1388)
- Upgrade SQLite to version [`3053000`](mattn/go-sqlite3@3053000) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1394](mattn/go-sqlite3#1394)
- add sqlite\_dbstat tag for the DBSTAT virtual table by [@&#8203;calmh](https://github.com/calmh) in [#&#8203;1338](mattn/go-sqlite3#1338)
- avoid out of bounds write in unlock\_notify\_wait on 64 bit platforms by [@&#8203;calmh](https://github.com/calmh) in [#&#8203;1399](mattn/go-sqlite3#1399)
- modernise reflect.SliceHeader to unsafe.Slice by [@&#8203;calmh](https://github.com/calmh) in [#&#8203;1400](mattn/go-sqlite3#1400)
- guard oversized string length in ResultText by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1402](mattn/go-sqlite3#1402)
- bind via sqlite3\_bind\_text64/blob64 to avoid 32-bit length truncation by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1403](mattn/go-sqlite3#1403)
- Upgrade SQLite to version [`3053002`](mattn/go-sqlite3@3053002) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1404](mattn/go-sqlite3#1404)
- guard oversized blob length in callbackRetBlob by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1405](mattn/go-sqlite3#1405)
- preserve embedded NUL bytes in custom function text values by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1406](mattn/go-sqlite3#1406)
- Follow documented call order for sqlite3\_value\_blob in callbackArgString by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1407](mattn/go-sqlite3#1407)
- Use atomic.Value for handle table and add concurrent lookup benchmark by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1412](mattn/go-sqlite3#1412)
- cache column metadata for prepared and cached statements by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1413](mattn/go-sqlite3#1413)
- free leaked schema string in GetFilename by [@&#8203;dxbjavid](https://github.com/dxbjavid) in [#&#8203;1408](mattn/go-sqlite3#1408)
- Fix race in SQLiteStmt.Close by holding conn lock across cache check by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1416](mattn/go-sqlite3#1416)
- Add CodeRabbit as a sponsor by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1417](mattn/go-sqlite3#1417)
- Return error from vtable cursor open instead of ignoring it by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1419](mattn/go-sqlite3#1419)
- Check sqlite3\_malloc64 result in Deserialize by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1420](mattn/go-sqlite3#1420)
- Fix panic when registered functions return named types by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1421](mattn/go-sqlite3#1421)
- Return error instead of silently ignoring unsupported bind types by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1422](mattn/go-sqlite3#1422)
- Add CodeRabbit configuration by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1418](mattn/go-sqlite3#1418)
- Close database on all error paths in Open by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1423](mattn/go-sqlite3#1423)
- Check preupdate value fetch result to avoid NULL dereference by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1424](mattn/go-sqlite3#1424)
- Use C.int in exported callbacks to match C declarations by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1425](mattn/go-sqlite3#1425)
- Fix leak of extension load error message by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1426](mattn/go-sqlite3#1426)
- Upgrade SQLite to version [`3053003`](mattn/go-sqlite3@3053003) by [@&#8203;mattn](https://github.com/mattn) in [#&#8203;1427](mattn/go-sqlite3#1427)

#### New Contributors

- [@&#8203;charlievieth](https://github.com/charlievieth) made their first contribution in [#&#8203;1128](mattn/go-sqlite3#1128)
- [@&#8203;connyay](https://github.com/connyay) made their first contribution in [#&#8203;1136](mattn/go-sqlite3#1136)
- [@&#8203;Spaider](https://github.com/Spaider) made their first contribution in [#&#8203;1069](mattn/go-sqlite3#1069)
- [@&#8203;andrzh](https://github.com/andrzh) made their first contribution in [#&#8203;1149](mattn/go-sqlite3#1149)
- [@&#8203;parthokr](https://github.com/parthokr) made their first contribution in [#&#8203;1163](mattn/go-sqlite3#1163)
- [@&#8203;leso-kn](https://github.com/leso-kn) made their first contribution in [#&#8203;1177](mattn/go-sqlite3#1177)
- [@&#8203;pomadev](https://github.com/pomadev) made their first contribution in [#&#8203;1222](mattn/go-sqlite3#1222)
- [@&#8203;dustin-ward](https://github.com/dustin-ward) made their first contribution in [#&#8203;1239](mattn/go-sqlite3#1239)
- [@&#8203;jonstacks](https://github.com/jonstacks) made their first contribution in [#&#8203;1300](mattn/go-sqlite3#1300)
- [@&#8203;samjewell](https://github.com/samjewell) made their first contribution in [#&#8203;1290](mattn/go-sqlite3#1290)
- [@&#8203;q66](https://github.com/q66) made their first contribution in [#&#8203;1262](mattn/go-sqlite3#1262)
- [@&#8203;hionay](https://github.com/hionay) made their first contribution in [#&#8203;1259](mattn/go-sqlite3#1259)
- [@&#8203;justinsb](https://github.com/justinsb) made their first contribution in [#&#8203;1305](mattn/go-sqlite3#1305)
- [@&#8203;eraytufan](https://github.com/eraytufan) made their first contribution in [#&#8203;1346](mattn/go-sqlite3#1346)
- [@&#8203;nautaa](https://github.com/nautaa) made their first contribution in [#&#8203;1362](mattn/go-sqlite3#1362)
- [@&#8203;dsonck92](https://github.com/dsonck92) made their first contribution in [#&#8203;1364](mattn/go-sqlite3#1364)
- [@&#8203;Jaculabilis](https://github.com/Jaculabilis) made their first contribution in [#&#8203;1313](mattn/go-sqlite3#1313)
- [@&#8203;theimpostor](https://github.com/theimpostor) made their first contribution in [#&#8203;1379](mattn/go-sqlite3#1379)
- [@&#8203;calmh](https://github.com/calmh) made their first contribution in [#&#8203;1338](mattn/go-sqlite3#1338)
- [@&#8203;dxbjavid](https://github.com/dxbjavid) made their first contribution in [#&#8203;1402](mattn/go-sqlite3#1402)

**Full Changelog**: <mattn/go-sqlite3@v1.14.16...v1.14.48>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My43My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://forgejo.internal/forgejo_admin/maximus/pulls/19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants