Manual Page Result
0
Command: sqlite3_table_column_metadata | Section: 3 | Source: NetBSD | File: sqlite3_table_column_metadata.3
SQLITE3_TABLE_COLUMN_METADATA(3) FreeBSD Library Functions Manual
NAME
sqlite3_table_column_metadata - Extract Metadata About A Column Of A
Table
SYNOPSIS
int
sqlite3_table_column_metadata(sqlite3 *db, const char *zDbName,
const char *zTableName, const char *zColumnName,
char const **pzDataType, char const **pzCollSeq, int *pNotNull,
int *pPrimaryKey, int *pAutoinc );
DESCRIPTION
The sqlite3_table_column_metadata(X,D,T,C,....) routine returns
information about column C of table T in database D on database
connection X. The sqlite3_table_column_metadata() interface returns
SQLITE_OK and fills in the non-NULL pointers in the final five arguments
with appropriate values if the specified column exists. The
sqlite3_table_column_metadata() interface returns SQLITE_ERROR and if the
specified column does not exist. If the column-name parameter to
sqlite3_table_column_metadata() is a NULL pointer, then this routine
simply checks for the existence of the table and returns SQLITE_OK if the
table exists and SQLITE_ERROR if it does not. If the table name
parameter T in a call to sqlite3_table_column_metadata(X,D,T,C,...) is
NULL then the result is undefined behavior.
The column is identified by the second, third and fourth parameters to
this function. The second parameter is either the name of the database
(i.e. "main", "temp", or an attached database) containing the specified
table or NULL. If it is NULL, then all attached databases are searched
for the table using the same algorithm used by the database engine to
resolve unqualified table references.
The third and fourth parameters to this function are the table and column
name of the desired column, respectively.
Metadata is returned by writing to the memory locations passed as the 5th
and subsequent parameters to this function. Any of these arguments may
be NULL, in which case the corresponding element of metadata is omitted.
<table border="1"> <tr><th> Parameter <th> Output<br>Type <th>
Description
<tr><td> 5th <td> const char* <td> Data type <tr><td> 6th <td> const
char* <td> Name of default collation sequence <tr><td> 7th <td> int <td>
True if column has a NOT NULL constraint <tr><td> 8th <td> int <td> True
if column is part of the PRIMARY KEY <tr><td> 9th <td> int <td> True if
column is AUTOINCREMENT </table>
The memory pointed to by the character pointers returned for the
declaration type and collation sequence is valid until the next call to
any SQLite API function.
If the specified table is actually a view, an error code is returned.
If the specified column is "rowid", "oid" or "_rowid_" and the table is
not a WITHOUT ROWID table and an INTEGER PRIMARY KEY column has been
explicitly declared, then the output parameters are set for the
explicitly declared column. If there is no INTEGER PRIMARY KEY column,
then the outputs for the rowid are set as follows:
data type: "INTEGER" collation sequence: "BINARY" not null: 0 primary
key: 1 auto increment: 0
This function causes all database schemas to be read from disk and
parsed, if that has not already been done, and returns an error if any
errors are encountered while loading the schema.
SEE ALSO
sqlite3(3)
FreeBSD 14.1-RELEASE-p8 December 19, 2018 FreeBSD 14.1-RELEASE-p8