Changes in version 3.39.0 (2022-06-25):<p>Add (long overdue) support for RIGHT and FULL OUTER JOIN.<p>Add new binary comparison operators IS NOT DISTINCT FROM and IS DISTINCT FROM that are equivalent to IS and IS NOT, respective, for compatibility with PostgreSQL and SQL standards.<p>Add a new return code (value "3") from the sqlite3_vtab_distinct() interface that indicates a query that has both DISTINCT and ORDER BY clauses.<p>Added the sqlite3_db_name() interface.<p>The unix os interface resolves all symbolic links in database filenames to create a canonical name for the database before the file is opened.<p>If the SQLITE_OPEN_NOFOLLOW flag is used with sqlite3_open_v2() or similar, the open will fail if any element of the path is a symbolic link.<p>Defer materializing views until the materialization is actually needed, thus avoiding unnecessary work if the materialization turns out to never be used.<p>The HAVING clause of a SELECT statement is now allowed on any aggregate query, even queries that do not have a GROUP BY clause.<p>Many microoptimizations collectively reduce CPU cycles by about 2.3%.<p>From the changelog.