Added SQLITE_IOERR_LOCK extended error code and support for detecting and returning errors in the os_unix lock, unlock and check reserved lock variants, also added support for populating and returning system error codes so that they can be accessed via xGetLastError, unfortunately xGetLastError can't seem to access the unixFile structure where the lastErrno is recorded. (CVS 5586)
check-in: c1af14e2 user: aswift tags: trunk

Reinsert an SCopy operation that was removed in (5523) because coverage
testing indicated that it was dead code. Ticket #3324 shows that the
code was not as dead as we thought it was. (CVS 5578)
check-in: 68557115 user: drh tags: trunk

Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566)
check-in: cb494e10 user: danielk1977 tags: trunk

Explicit casts of the return from strlen() to int in lemon. This has
no effect on SQLite. It has no effect on any lemon-generated parser
with a grammar that is less than 2GB in size. Ticket #3293. (CVS 5564)
check-in: a519cdb2 user: drh tags: trunk

Revise the initialization and shutdown logic so that it no longer keeps
a recursive mutex allocated for the whole interval but instead releases
the mutex as soon as possible. Do not reset status values upon initialization. (CVS 5559)
check-in: 697fe7a3 user: drh tags: trunk

Do not allow indexing of any table whose name begins with "sqlite_".
Ticket #3284. Improve handling of databases with malformed schemas -
just in case somebody has actually indexed a system table. (CVS 5553)
check-in: 0e1d8d14 user: drh tags: trunk

Back out part of (5546): Even though ON CONFLICT clauses on CHECK constraints
are no-ops, if a schema includes them, the database will be unreadable if
we do not at least parse and ignore the clause. (CVS 5548)
check-in: efcaeb68 user: drh tags: trunk

Disallow the ON CONFLICT clause on CHECK constraints. The syntax used to be
allowed but never worked, so this should not present compatibility problems.
Other internal grammar simplifications. (CVS 5546)
check-in: 4cedc641 user: drh tags: trunk

When opening a zero-size database on unix, write one byte into the file before
interrogating the inode number. This works around issues with msdos
filesystems mounted on OS-X. Ticket #3260. (CVS 5504)
check-in: a480a884 user: drh tags: trunk