summaryrefslogtreecommitdiff
path: root/internal/db/sqlite/errors_wasmsqlite3.go
diff options
context:
space:
mode:
authorLibravatar Daenney <daenney@users.noreply.github.com>2024-06-29 09:35:57 +0200
committerLibravatar GitHub <noreply@github.com>2024-06-29 09:35:57 +0200
commit137ef5a9ff8f06f9167a1aca9bafa0e8ab2e21e6 (patch)
treebdd6055dfe9276de4e391f25b8ea6dee66ccce21 /internal/db/sqlite/errors_wasmsqlite3.go
parent[bugfix] Fix typo in instance cache copyF (#3052) (diff)
downloadgotosocial-137ef5a9ff8f06f9167a1aca9bafa0e8ab2e21e6.tar.xz
[feature] Default to WASM-based SQLite driver (#3053)
* [feature] Default to WASM-based SQLite driver With 0.16 out this switches our default SQLite driver to the WASM-based solution instead. So far the driver seems to perform just as well. Switching our default should result in it getting a bit more testing during the 0.17 development cycle. * add the ol' john hancock --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/db/sqlite/errors_wasmsqlite3.go')
-rw-r--r--internal/db/sqlite/errors_wasmsqlite3.go60
1 files changed, 0 insertions, 60 deletions
diff --git a/internal/db/sqlite/errors_wasmsqlite3.go b/internal/db/sqlite/errors_wasmsqlite3.go
deleted file mode 100644
index 26668a898..000000000
--- a/internal/db/sqlite/errors_wasmsqlite3.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// GoToSocial
-// Copyright (C) GoToSocial Authors admin@gotosocial.org
-// SPDX-License-Identifier: AGPL-3.0-or-later
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-//go:build wasmsqlite3
-
-package sqlite
-
-import (
- "database/sql/driver"
- "fmt"
-
- "github.com/ncruces/go-sqlite3"
- "github.com/superseriousbusiness/gotosocial/internal/db"
-)
-
-// processSQLiteError processes an sqlite3.Error to
-// handle conversion to any of our common db types.
-func processSQLiteError(err error) error {
- // Attempt to cast as sqlite error.
- sqliteErr, ok := err.(*sqlite3.Error)
- if !ok {
- return err
- }
-
- // Handle supplied error code:
- switch sqliteErr.ExtendedCode() {
- case sqlite3.CONSTRAINT_UNIQUE,
- sqlite3.CONSTRAINT_PRIMARYKEY:
- return db.ErrAlreadyExists
-
- // Busy should be very rare, but on
- // busy tell the database to close the
- // connection, re-open and re-attempt
- // which should give necessary timeout.
- case sqlite3.BUSY_RECOVERY,
- sqlite3.BUSY_SNAPSHOT:
- return driver.ErrBadConn
- }
-
- // Wrap the returned error with the code and
- // extended code for easier debugging later.
- return fmt.Errorf("%w (code=%d extended=%d)", err,
- sqliteErr.Code(),
- sqliteErr.ExtendedCode(),
- )
-}