aboutsummaryrefslogtreecommitdiff
path: root/sqlite3_opt_column_metadata_test.go
diff options
context:
space:
mode:
authorJesse Rittner <rittneje@gmail.com>2021-02-18 09:17:00 -0500
committerrittneje <rittneje@gmail.com>2021-02-18 13:34:41 -0500
commitab91e9342b029f7b8d6097257c9a7874153a5b3f (patch)
tree600d007919a469b949fff36ff5998c872d077acd /sqlite3_opt_column_metadata_test.go
parentExport sqlite3_column_table_name (#900) (diff)
downloadgolite-ab91e9342b029f7b8d6097257c9a7874153a5b3f.tar.gz
golite-ab91e9342b029f7b8d6097257c9a7874153a5b3f.tar.xz
make column metadata functionality opt-in
Diffstat (limited to 'sqlite3_opt_column_metadata_test.go')
-rw-r--r--sqlite3_opt_column_metadata_test.go39
1 files changed, 39 insertions, 0 deletions
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)
+ }
+}