MCPcopy Create free account
hub / github.com/PostHog/duckgres / TestDMLDeleteUsing

Function TestDMLDeleteUsing

tests/integration/dml_test.go:398–423  ·  view source on GitHub ↗

TestDMLDeleteUsing tests DELETE ... USING (join-style delete)

(t *testing.T)

Source from the content-addressed store, hash-verified

396
397// TestDMLDeleteUsing tests DELETE ... USING (join-style delete)
398func TestDMLDeleteUsing(t *testing.T) {
399 mustExec(t, testHarness.DuckgresDB, "CREATE TABLE dml_delete_main (id INTEGER, status TEXT)")
400 mustExec(t, testHarness.DuckgresDB, "CREATE TABLE dml_delete_filter (id INTEGER)")
401 mustExec(t, testHarness.DuckgresDB, "INSERT INTO dml_delete_main VALUES (1, 'keep'), (2, 'delete'), (3, 'keep'), (4, 'delete')")
402 mustExec(t, testHarness.DuckgresDB, "INSERT INTO dml_delete_filter VALUES (2), (4)")
403
404 t.Run("delete_using", func(t *testing.T) {
405 _, err := testHarness.DuckgresDB.Exec(`
406 DELETE FROM dml_delete_main
407 USING dml_delete_filter
408 WHERE dml_delete_main.id = dml_delete_filter.id
409 `)
410 if err != nil {
411 t.Fatalf("Delete USING failed: %v", err)
412 }
413 // Verify
414 result, _ := ExecuteQuery(testHarness.DuckgresDB, "SELECT COUNT(*) FROM dml_delete_main")
415 if result.Rows[0][0].(int64) != 2 {
416 t.Errorf("Expected 2 rows remaining, got %v", result.Rows[0][0])
417 }
418 })
419
420 // Cleanup
421 mustExec(t, testHarness.DuckgresDB, "DROP TABLE IF EXISTS dml_delete_main")
422 mustExec(t, testHarness.DuckgresDB, "DROP TABLE IF EXISTS dml_delete_filter")
423}
424
425// TestDMLWithCTE tests DML with CTEs
426func TestDMLWithCTE(t *testing.T) {

Callers

nothing calls this directly

Calls 4

mustExecFunction · 0.85
ExecuteQueryFunction · 0.85
RunMethod · 0.65
ExecMethod · 0.65

Tested by

no test coverage detected