/ Check-in [2881ab1e]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update the documentation to make it clear that the table name parameter to sqlite3_table_column_metadata() may not be NULL.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 2881ab1ed24ed72760086785bdf224c4e687cf39a02fd349ae13c6e1235e24da
User & Date: drh 2017-06-09 11:43:53
Context
2017-06-11
18:26
Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). check-in: a2f77285 user: drh tags: trunk
2017-06-09
15:14
Merge enhancements and fixes from trunk. check-in: 3fd050c3 user: drh tags: prepare_v3
11:43
Update the documentation to make it clear that the table name parameter to sqlite3_table_column_metadata() may not be NULL. check-in: 2881ab1e user: drh tags: trunk
02:27
Adjust the implementation of the ".selftest" feature of the shell to avoid using the deprecated sqlite3_get_table() interface. check-in: 3168e2c9 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/sqlite.h.in.

  5616   5616   ** interface returns SQLITE_OK and fills in the non-NULL pointers in
  5617   5617   ** the final five arguments with appropriate values if the specified
  5618   5618   ** column exists.  ^The sqlite3_table_column_metadata() interface returns
  5619   5619   ** SQLITE_ERROR and if the specified column does not exist.
  5620   5620   ** ^If the column-name parameter to sqlite3_table_column_metadata() is a
  5621   5621   ** NULL pointer, then this routine simply checks for the existence of the
  5622   5622   ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it
  5623         -** does not.
         5623  +** does not.  If the table name parameter T in a call to
         5624  +** sqlite3_table_column_metadata(X,D,T,C,...) is NULL then the result is
         5625  +** undefined behavior.
  5624   5626   **
  5625   5627   ** ^The column is identified by the second, third and fourth parameters to
  5626   5628   ** this function. ^(The second parameter is either the name of the database
  5627   5629   ** (i.e. "main", "temp", or an attached database) containing the specified
  5628   5630   ** table or NULL.)^ ^If it is NULL, then all attached databases are searched
  5629   5631   ** for the table using the same algorithm used by the database engine to
  5630   5632   ** resolve unqualified table references.