chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:31:02 +08:00
commit 171e2a4a0d
1315 changed files with 266099 additions and 0 deletions
@@ -0,0 +1,37 @@
package issues
import (
"testing"
"github.com/pocketbase/pocketbase/core"
"github.com/pocketbase/pocketbase/tests"
)
// https://github.com/fondoger/pocketbase/issues/35
func TestIssue35_DateTimeFieldWithEmptyValue(t *testing.T) {
app, _ := tests.NewTestApp()
defer app.Cleanup()
collection := core.NewBaseCollection("test_issue_35")
collection.Fields.Add(&core.DateField{
Name: "updated",
})
err := app.Save(collection)
if err != nil {
t.Fatal(err)
}
record := core.NewRecord(collection)
record.Set("updated", "2025-09-01")
err = app.Save(record)
if err != nil {
t.Fatal(err)
}
record = core.NewRecord(collection)
err = app.Save(record)
if err != nil {
t.Fatal(err)
}
}
@@ -0,0 +1,55 @@
package issues
import (
"testing"
"github.com/pocketbase/pocketbase/core"
"github.com/pocketbase/pocketbase/tests"
"github.com/pocketbase/pocketbase/tools/search"
)
// https://github.com/fondoger/pocketbase/issues/49
func TestIssue49_DateTimeFieldComparison(t *testing.T) {
app, _ := tests.NewTestApp()
defer app.Cleanup()
// Create a collection with a DateTime field `updated`
collection := core.NewBaseCollection("test_issue_49")
collection.Fields.Add(&core.DateField{
Name: "updated",
})
err := app.Save(collection)
if err != nil {
t.Fatal(err)
}
resolver := core.NewRecordFieldResolver(app, collection, nil, false)
// Insert a record with a specific date
record := core.NewRecord(collection)
record.Set("updated", "2025-09-01")
err = app.Save(record)
if err != nil {
t.Fatal(err)
}
record2 := core.NewRecord(collection)
record2.Set("updated", "2025-08-01")
err = app.Save(record2)
if err != nil {
t.Fatal(err)
}
// Test filtering records where `updated` > "2025-08-31"
whereExpr, _ := search.FilterData(`updated > "2025-08-31"`).BuildExpr(resolver)
query := app.RecordQuery(collection).Select("COUNT(*) as count")
_ = resolver.UpdateQuery(query)
var count int
err = query.AndWhere(whereExpr).Row(&count)
if err != nil {
t.Fatal(err)
}
if count != 1 {
t.Fatalf("Expected 1 record, got %d", count)
}
}
@@ -0,0 +1,53 @@
#!/usr/bin/env python3
# pip install psycopg[binary]
import psycopg
dsn = "postgresql://user:pass@127.0.0.1/pb-data"
# cur.execute("PREPARE q AS SELECT $1::int + 1")
# cur.execute("EXECUTE q(41)")
# print(cur.fetchone()[0]) # 42
# cur.execute("DEALLOCATE q")
def expect_error(callback, substr):
try:
callback()
assert False, "Expected exception, but none was raised"
except Exception as e:
assert substr in str(e), f"Expected exception message to contain '{substr}', got '{str(e)}'"
def expect_good(callback):
try:
callback()
except Exception as e:
assert False, f"Expected no exception, but got: {str(e)}"
cur = psycopg.connect(dsn).cursor()
expect_good(
lambda: cur.execute("PREPARE q AS select $1 is distinct from $2")
)
cur = psycopg.connect(dsn).cursor()
expect_good(
lambda: cur.execute("PREPARE q AS select null is distinct from null")
)
cur = psycopg.connect(dsn).cursor()
expect_error(
lambda: cur.execute("PREPARE q AS select null is distinct from $1"),
"could not determine data type of parameter $1",
)
cur = psycopg.connect(dsn).cursor()
expect_good(
lambda: cur.execute("PREPARE q AS select 1 as res where $1 = $2")
)
cur.execute("SELECT 1 AS res WHERE %s = %s", (5, 5))
res = cur.fetchone()[0]
assert res == 1