From 95e88ca693fc3e9b392e4b7e7517968da3856a6d Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Wed, 17 Feb 2021 21:58:21 -0500 Subject: Export sqlite3_column_table_name (#900) --- sqlite3.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'sqlite3.go') diff --git a/sqlite3.go b/sqlite3.go index 5ac9570..8d48faa 100644 --- a/sqlite3.go +++ b/sqlite3.go @@ -19,6 +19,7 @@ package sqlite3 #cgo CFLAGS: -DSQLITE_OMIT_DEPRECATED #cgo CFLAGS: -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 #cgo CFLAGS: -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT +#cgo CFLAGS: -DSQLITE_ENABLE_COLUMN_METADATA #cgo CFLAGS: -Wno-deprecated-declarations #cgo linux,!android CFLAGS: -DHAVE_PREAD64=1 -DHAVE_PWRITE64=1 #ifndef USE_LIBSQLITE3 @@ -2014,6 +2015,14 @@ func (s *SQLiteStmt) Readonly() bool { return C.sqlite3_stmt_readonly(s.s) == 1 } +// ColumnTableName returns the table that is the origin of a particular result +// column in a SELECT statement. +// +// See https://www.sqlite.org/c3ref/column_database_name.html +func (s *SQLiteStmt) ColumnTableName(n int) string { + return C.GoString(C.sqlite3_column_table_name(s.s, C.int(n))) +} + // Close the rows. func (rc *SQLiteRows) Close() error { rc.s.mu.Lock() -- cgit v1.2.3