From ab91e9342b029f7b8d6097257c9a7874153a5b3f Mon Sep 17 00:00:00 2001 From: Jesse Rittner Date: Thu, 18 Feb 2021 09:17:00 -0500 Subject: make column metadata functionality opt-in --- sqlite3_opt_column_metadata_test.go | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sqlite3_opt_column_metadata_test.go (limited to 'sqlite3_opt_column_metadata_test.go') diff --git a/sqlite3_opt_column_metadata_test.go b/sqlite3_opt_column_metadata_test.go new file mode 100644 index 0000000..28767f1 --- /dev/null +++ b/sqlite3_opt_column_metadata_test.go @@ -0,0 +1,39 @@ +// +build sqlite_column_metadata + +package sqlite3 + +import "testing" + +func TestColumnTableName(t *testing.T) { + d := SQLiteDriver{} + conn, err := d.Open(":memory:") + if err != nil { + t.Fatal("failed to get database connection:", err) + } + defer conn.Close() + sqlite3conn := conn.(*SQLiteConn) + + _, err = sqlite3conn.Exec(`CREATE TABLE foo (name string)`, nil) + if err != nil { + t.Fatal("Failed to create table:", err) + } + _, err = sqlite3conn.Exec(`CREATE TABLE bar (name string)`, nil) + if err != nil { + t.Fatal("Failed to create table:", err) + } + + stmt, err := sqlite3conn.Prepare(`SELECT * FROM foo JOIN bar ON foo.name = bar.name`) + if err != nil { + t.Fatal(err) + } + + if exp, got := "foo", stmt.(*SQLiteStmt).ColumnTableName(0); exp != got { + t.Fatalf("Incorrect table name returned expected: %s, got: %s", exp, got) + } + if exp, got := "bar", stmt.(*SQLiteStmt).ColumnTableName(1); exp != got { + t.Fatalf("Incorrect table name returned expected: %s, got: %s", exp, got) + } + if exp, got := "", stmt.(*SQLiteStmt).ColumnTableName(2); exp != got { + t.Fatalf("Incorrect table name returned expected: %s, got: %s", exp, got) + } +} -- cgit v1.2.3