remove debug files
This commit is contained in:
parent
41e2bac5e2
commit
39eb72c450
@ -1,22 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"apigo.cc/go/db"
|
||||
)
|
||||
|
||||
func main() {
|
||||
dbPath := "debug.db"
|
||||
dbInst := db.GetDB("sqlite://"+dbPath, nil)
|
||||
schema := `
|
||||
== System ==
|
||||
_Table SD
|
||||
id c10 PK
|
||||
name v64 U
|
||||
`
|
||||
fmt.Println("First sync...")
|
||||
dbInst.Sync(schema)
|
||||
|
||||
fmt.Println("\nSecond sync...")
|
||||
dbInst.Sync(schema)
|
||||
}
|
||||
@ -1,3 +0,0 @@
|
||||
module debug
|
||||
|
||||
go 1.26.1
|
||||
@ -1,5 +0,0 @@
|
||||
rm -f test_idx.db
|
||||
sqlite3 test_idx.db "CREATE TABLE test (name TEXT);"
|
||||
sqlite3 test_idx.db "CREATE INDEX idx_name ON test(name);"
|
||||
sqlite3 test_idx.db "CREATE UNIQUE INDEX IF NOT EXISTS idx_name ON test(name);"
|
||||
echo "Result code: $?"
|
||||
@ -1,6 +0,0 @@
|
||||
rm -f test_unique.db
|
||||
sqlite3 test_unique.db "CREATE TABLE test (name TEXT);"
|
||||
sqlite3 test_unique.db "INSERT INTO test (name) VALUES ('a');"
|
||||
sqlite3 test_unique.db "INSERT INTO test (name) VALUES ('b');"
|
||||
sqlite3 test_unique.db "CREATE UNIQUE INDEX uk_test_name ON test(name);"
|
||||
echo "Result code: $?"
|
||||
@ -1,6 +0,0 @@
|
||||
rm -f test_unique.db
|
||||
sqlite3 test_unique.db "CREATE TABLE test (name TEXT);"
|
||||
sqlite3 test_unique.db "INSERT INTO test (name) VALUES ('a');"
|
||||
sqlite3 test_unique.db "INSERT INTO test (name) VALUES ('a');"
|
||||
sqlite3 test_unique.db "CREATE UNIQUE INDEX uk_test_name ON test(name);"
|
||||
echo "Result code: $?"
|
||||
@ -1,46 +0,0 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCheckTable_DuplicateUnique(t *testing.T) {
|
||||
dbPath := "test_unique_race.db"
|
||||
_ = os.Remove(dbPath)
|
||||
defer os.Remove(dbPath)
|
||||
|
||||
dbInst := GetDB("sqlite://"+dbPath, nil)
|
||||
|
||||
schema := `
|
||||
== System ==
|
||||
_Table SD
|
||||
id c10 PK
|
||||
name v64 U
|
||||
`
|
||||
// First sync
|
||||
err := dbInst.Sync(schema)
|
||||
if err != nil {
|
||||
t.Fatalf("First sync failed: %v", err)
|
||||
}
|
||||
|
||||
// Insert duplicates to ensure recreation fails
|
||||
dbInst.Exec("INSERT INTO _Table (id, name) VALUES ('1', 'dup')")
|
||||
dbInst.Exec("INSERT INTO _Table (id, name) VALUES ('2', 'dup')") // Will fail if unique constraint works, but wait, the unique index is already there, so we can't insert duplicates!
|
||||
// Wait, we CAN'T insert duplicates because the first sync created the index.
|
||||
// But in the user's log, there ARE duplicates? Or maybe there are NO duplicates, but the engine just complains when it recreates the index on existing data?
|
||||
// Ah, if there are NO duplicates, CREATE UNIQUE INDEX will SUCCEED.
|
||||
// So why did the user get UNIQUE constraint failed?
|
||||
// BECAUSE THERE WERE DUPLICATES!
|
||||
// Why would there be duplicates in _Table?
|
||||
// Let's just do the second sync and see if it tries to execute CREATE UNIQUE INDEX.
|
||||
|
||||
// Print statements will be inside Schema.go for a moment.
|
||||
|
||||
// Second sync (simulate restart)
|
||||
err = dbInst.Sync(schema)
|
||||
if err != nil {
|
||||
t.Fatalf("Second sync failed: %v", err)
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user