Commit graph

71 commits

Author SHA1 Message Date
abs
96912d62e8 Match 3.6.20 behaviour & build threadsafe. Fix PR/42515 & issues with firefox. Bump PKGREVISION 2010-01-11 09:18:39 +00:00
drochner
0dfa82ffc2 update to 3.6.21
changes:
-SQL output resulting from sqlite3_trace() is now modified to include
 the values of bound parameters
-Performance optimizations targetting a specific use case from a single
 high-profile user
-FTS3 extension has undergone a major rework and cleanup
-fixed the SQLITE_SECURE_DELETE compile-time option
-Improvements to "dot-command" handling in the Command Line Interface
-Other minor bug fixes and documentation enhancements
2009-12-16 19:25:38 +00:00
tnn
2246cfacb3 Switch to amalgamation style sqlite3 build. This is the recommended
way to build sqlite3 according to upstream.
It should give a small performance increase due to static inlining,
but more importantly lets us avoid manual maintenance of sqlite3.h.

Bump revisions for sqlite3 and sqlite3-tcl.
2009-11-21 16:58:05 +00:00
adam
32961e7794 Changes 3.6.20:
* Optimizer enhancement: prepared statements are automatically re-compiled when
  a binding on the RHS of a LIKE operator changes or when any range constraint
  changes under SQLITE_ENABLE_STAT2.
* Various minor bug fixes and documentation enhancements.
2009-11-13 18:28:42 +00:00
tnn
f36318b85f patch-ab: regen
Makefile: bump
Makefile.common: document why this needs to be done
2009-10-28 16:46:51 +00:00
adam
4b1208f391 Changes 3.6.19:
* Added support for foreign key constraints. Foreign key constraints are
  disabled by default. Use the foreign_keys pragma to turn them on.
* Generalized the IS and IS NOT operators to take arbitrary expressions on
  their right-hand side.
* The TCL Interface has been enhanced to use the Non-Recursive Engine (NRE)
  interface to the TCL interpreter when linked against TCL 8.6 or later.
* Fix a bug introduced in 3.6.18 that can lead to a segfault when an attempt
  is made to write on a read-only database.
2009-10-28 06:42:37 +00:00
tnn
63389c8b1d Fix:
===> Building for sqlite3-3.6.18
tclsh ./tool/mksqlite3h.tcl . >sqlite3.h
tclsh: not found
gmake: *** [sqlite3.h] Error 127

Upstream didn't ship a pregenerated sqlite3.h. Committed as patch-ab.
2009-10-11 16:06:21 +00:00
adam
baf04f170e Changes 3.6.18:
* Versioning of the SQLite source code has transitioned from CVS to Fossil.
* Query planner enhancements.
* The SQLITE_ENABLE_STAT2 compile-time option causes the ANALYZE command to
  collect a small histogram of each index, to help SQLite better select among
  competing range query indices.
* Recursive triggers can be enabled using the PRAGMA recursive_triggers
  statement.
* Delete triggers fire when rows are removed due to a REPLACE conflict
  resolution. This feature is only enabled when recursive triggers are enabled.
* Added the SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags for
  sqlite3_open_v2() used to override the global shared cache mode settings for
  individual database connections.
* Added improved version identification features: C-Preprocessor macro
  SQLITE_SOURCE_ID, C/C++ interface sqlite3_sourceid(), and SQL function
  sqlite_source_id().
* Obscure bug fix on triggers
2009-10-11 09:14:14 +00:00
adam
2663a6407e Changes 3.6.17:
* Expose the sqlite3_strnicmp() interface for use by extensions and
  applications.
* Remove the restriction on virtual tables and shared cache mode. Virtual
  tables and shared cache can now be used at the same time.
* Many code simplifications and obscure bug fixes in support of providing 100%
  branch test coverage.
2009-08-21 03:37:15 +00:00
drochner
9e64edbe46 if I say "tcl_install" I mean just tcl install...
fixes destdir installation
2009-07-29 20:09:00 +00:00
adam
64a61f11a1 Changes 3.6.16:
* Fix a bug that occastionally causes INSERT or UPDATE operations to fail on
  an indexed table that has a self-modifying trigger.
* Other minor bug fixes and performance optimizations.
2009-07-09 09:24:21 +00:00
adam
551d90cfa6 Changes 3.6.14.2:
* Fix a code generator bug introduced in version 3.6.14. This bug can cause
  incorrect query results under obscure circumstances.
2009-06-04 13:02:45 +00:00
adam
749ac3fa60 Changes 3.6.14.1:
* Fix a bug in group_concat().
* Fix a performance bug in the pager cache.
* Fix a bug in the sqlite3_backup implementation that can lead to a corrupt
  backup database.
2009-05-21 11:44:42 +00:00
wiz
272d51cc21 Recursive ABI depends update and PKGREVISION bump for readline-6.0 shlib
major change.

Reported by Robert Elz in PR 41345.
2009-05-20 00:58:05 +00:00
wiz
c8c77a65f1 Uncomment some more LICENSE lines (all "public-domain"). 2009-05-19 09:07:13 +00:00
wiz
60f460ab01 Use standard location for LICENSE line (in MAINTAINER/HOMEPAGE/COMMENT
block). Uncomment some commented out LICENSE lines while here.
2009-05-19 08:59:00 +00:00
adam
5fd6fa386a Changed 3.6.14:
* Added the optional asynchronous VFS module.
* Enhanced the query optimizer so that virtual tables are able to make use of
  OR and IN operators in the WHERE clause.
* Speed improvements in the btree and pager layers.
* Added the SQLITE_HAVE_ISNAN compile-time option which will cause the isnan()
  function from the standard math library to be used instead of SQLite's own
  home-brew NaN checker.
* Countless minor bug fixes, documentation improvements, new and improved
  test cases, and code simplifications and cleanups.
2009-05-07 08:01:32 +00:00
adam
e950da89a0 Changes 3.6.13:
* Fix a bug in version 3.6.12 that causes a segfault when running a count(*)
  on the sqlite_master table of an empty database.
* Fix a bug in version 3.6.12 that causes a segfault that when inserting into
  a table using a DEFAULT value where there is a function as part of the
  DEFAULT value expression.
* Fix data structure alignment issues on Sparc.
* Other minor bug fixes.
2009-04-18 18:13:55 +00:00
adam
bcebd26b17 Changes 3.6.12:
* Fixed a bug that caused database corruption when an incremental vacuum is
  rolled back in an in-memory database.
* Added the sqlite3_unlock_notify() interface.
* Added the reverse unordered selects pragma.
* The default page size on windows is automatically adjusted to match the
  capabilities of the underlying filesystem.
* Add the new ".genfkey" command in the CLI for generating triggers to
  implement foreign key constraints.
* Performance improvements for "count(*)" queries.
* Reduce the amount of heap memory used, especially by TRIGGERs.
2009-04-10 08:44:03 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
drochner
0d87f58178 fix a botch in last update which broke build of sqlite3-tcl.
(Please give the pkgs you commit a least a minimal testing. Since
sqlite3-tcl is needed to run the sqlite selftests the least I'd expect
is to build that as well.)
2009-02-27 19:39:48 +00:00
tnn
7941a1d282 patch from upstream: sqlite3 fails to build when tcl is not installed.
Also set ac_cv_prog_TCLSH_CMD="" so the configure script won't find tcl.
2009-02-21 19:39:43 +00:00
adam
7e94ec797c Changes 3.6.11:
* Added the hot-backup interface.
* Added new commands ".backup" and ".restore" to the CLI.
* Added new methods backup and restore to the TCL interface.
* Improvements to the syntax bubble diagrams
* Various minor bug fixes
2009-02-18 19:13:04 +00:00
joerg
07e9b3a922 Don't use libtclstub84 for sqlite3-tcl, but libtcl84 itself. 2009-02-09 16:46:35 +00:00
adam
6926651919 Changes 3.6.10:
* Fix a cache coherency problem that could lead to database corruption.
2009-01-17 07:34:29 +00:00
adam
bce8f97f77 Changes 3.6.9:
* Fix two bugs, which when combined might result in incorrect query results.
  Both bugs were harmless by themselves; only when they team up do they cause
  problems.

Changes 3.6.8:
* Added support for nested transactions.
* Enhanced the query optimizer so that it is able to use multiple indices
  to efficiently process OR-connected constraints in a WHERE clause.
* Added support for parentheses in FTS3 query patterns using
  the SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option.
2009-01-15 12:51:33 +00:00
epg
a8cfd48274 Force -ldl on Linux, as this uses dlopen and friends. Also filed bug report:
http://www.sqlite.org/cvstrac/tktview?tn=3555
2008-12-31 20:37:09 +00:00
adam
f8e0732053 Changes 3.6.7:
* Reorganize the Unix interface in os_unix.c
* Added support for "Proxy Locking" on MacOSX.
* Changed the prototype of the sqlite3_auto_extension() interface in a way
  that is backwards compatible but which might cause warnings in new
  builds of applications that use that interface.
* Changed the signature of the xDlSym method of the sqlite3_vfs object in
  a way that is backwards compatible but which might cause compiler
  warnings.
* Added superfluous casts and variable initializations in order to
  suppress nuisance compiler warnings.
* Fixes for various minor bugs.
2008-12-16 18:46:16 +00:00
martin
49c6c76b04 backout previous - the tests need tcl and the proper test target
already is provided by sqlite3-tcl
2008-12-15 09:06:11 +00:00
martin
4077315b6b add the test target 2008-12-15 09:03:26 +00:00
adam
f59d195b10 Changes 3.6.6.2:
* Fix a bug in the b-tree delete algorithm that seems like it might
  be able to cause database corruption. The bug was first introduced in
  version 3.6.6.
* Fix a memory leak that can occur following a disk I/O error.
2008-11-28 20:50:06 +00:00
adam
96a6dec5f0 Changes 3.6.6.1:
* Fix a bug in the page cache that can lead database corruption following
  a rollback. This bug was first introduced in version 3.6.4.
* Two other very minor bug fixes
2008-11-23 09:16:35 +00:00
adam
67e61f2d40 Changes 3.6.6:
* Fix a define that prevented memsys5 from compiling
* Fix a problem in the virtual table commit mechanism that was causing
  a crash in FTS3.
* Add the application-defined page cache
* Added built-in support for VxWorks

Changes 3.6.5:
* Add the MEMORY option to the journal_mode pragma.
* Added the sqlite3_db_mutex() interface.
* Added the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time option.
* Fixed the truncate optimization so that sqlite3_changes() and
  sqlite3_total_changes() interfaces and the count_changes pragma return
  the correct values.
* Added the sqlite3_extended_errcode() interface.
* The COMMIT command now succeeds even if there are pending queries. It returns * SQLITE_BUSY if there are pending incremental BLOB I/O requests.
* The error code is changed to SQLITE_BUSY (instead of SQLITE_ERROR) when
  an attempt is made to ROLLBACK while one or more queries are still pending.
* Drop all support for the experimental memory allocators memsys4 and memsys6.
* Added the SQLITE_ZERO_MALLOC compile-time option.
2008-11-21 12:22:21 +00:00
gdt
dc35f1c63d Comment out LICENSE=public-domain because we aren't putting in free
licenses yet.  Noticed By smb@.
2008-10-19 00:11:49 +00:00
martti
f2b088d6d5 Updated databases/sqlite3 to 3.6.4
* Add option support for LIMIT and ORDER BY clauses on DELETE and UPDATE
  statements. Only works if SQLite is compiled with
  SQLITE_ENABLE_UPDATE_DELETE_LIMIT.
* Added the sqlite3_stmt_status() interface for performance monitoring.
* Add the INDEXED BY clause.
* The LOCKING_STYLE extension is now enabled by default on Mac OS-X
* Added the TRUNCATE option to PRAGMA journal_mode
* Performance enhancements to tree balancing logic in the B-Tree layer.
* Added the source code and documentation for the genfkey program for
  automatically generating triggers to enforce foreign key constraints.
* Added the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time option.
* The SQL language documentation is converted to use syntax diagrams
  instead of BNF.
* Other minor bug fixes
2008-10-15 18:22:04 +00:00
adam
123066b8eb Changes 3.6.3:
* Fix for a bug in SELECT DISTINCT logic that was introduced by the prior
  version.
* Other minor bug fixes.
2008-10-06 08:00:49 +00:00
obache
7812e30f7d Suppress detection of readline.h.
Configure failed to detect pkgsrc readline.h and disabled.
2008-10-02 11:15:17 +00:00
obache
453bcf7a40 py-sqlite2 does not require disable-threadsafe but expect to exist
load-extension these days.  OKed by wiz to commit.

Bump PKGREVISION.
2008-09-22 08:34:08 +00:00
adam
b537ffb767 Changes 3.6.2:
* Split the pager subsystem into separate pager and pcache subsystems.
* Factor out indentifier resolution procedures into separate files.
* Bug fixes.
2008-09-07 14:04:01 +00:00
adam
cf9a8b0a84 Changes 3.6.1:
* Added the lookaside memory allocator for a speed improvement in excess of 15%
  on some workloads. (Your mileage may vary.)
* Added the SQLITE_CONFIG_LOOKASIDE verb to sqlite3_config() to control the
  default lookaside configuration.
* Added verbs SQLITE_STATUS_PAGECACHE_SIZE and SQLITE_STATUS_SCRATCH_SIZE to
  the sqlite3_status() interface.
* Modified SQLITE_CONFIG_PAGECACHE and SQLITE_CONFIG_SCRATCH to remove the "+4"
  magic number in the buffer size computation.
* Added the sqlite3_db_config() and sqlite3_db_status() interfaces for
  controlling and monitoring the lookaside allocator separately on each
  database connection.
* Numerious other performance enhancements
* Miscellaneous minor bug fixes
2008-08-18 12:29:20 +00:00
adam
49d2a41649 Changes 3.6.0:
* Modifications to the virtual file system interface to support a wider range
  of embedded systems.
* All C-preprocessor macros used to control compile-time options now begin
  with the prefix "SQLITE_".
* The SQLITE_MUTEX_APPDEF compile-time option is no longer supported.
* The handling of IN and NOT IN operators that contain a NULL on their
  right-hand side expression is brought into compliance with the SQL standard
  and with other SQL database engines. This is a bug fix, but as it has the
  potential to break legacy applications that depend on the older buggy
  behavior.
* The result column names generated for compound subqueries have been
  simplified to show only the name of the column of the original table and
  omit the table name. This makes SQLite operate more like other SQL database
  engines.
* Added the sqlite3_config() interface for doing run-time configuration of the
  entire SQLite library.
* Added the sqlite3_status() interface used for querying run-time status
  information about the overall SQLite library and its subsystems.
* Added the sqlite3_initialize() and sqlite3_shutdown() interfaces.
* The SQLITE_OPEN_NOMUTEX option was added to sqlite3_open_v2().
* Added the PRAGMA page_count command.
* Added the sqlite3_next_stmt() interface.
* Added a new R*Tree virtual table
2008-07-18 17:43:34 +00:00
adam
0720781871 Changes 3.5.9:
* Added experimental support for the journal_mode PRAGMA and persistent
  journal.
* Journal mode PERSIST is the default behavior in exclusive locking mode.
* Fix a performance regression on LEFT JOIN (see ticket #3015) that was
  mistakenly introduced in version 3.5.8.
* Performance enhancement: Reengineer the internal routines used to
  interpret and render variable-length integers.
* Fix a buffer-overrun problem in sqlite3_mprintf() which occurs when
  a string without a zero-terminator is passed to "%.*s".
* Always convert IEEE floating point NaN values into NULL during
  processing.
* Make sure that when a connection blocks on a RESERVED lock that it is
  able to continue after the lock is released.
* The "configure" scripts should now automatically configure unix systems
  for large file support. Improved error messages for when large files are
  encountered and large file support is disabled.
* Avoid cache pages leaks following disk-full or I/O errors
* And, many more minor bug fixes and performance enhancements...
2008-05-25 07:11:13 +00:00
wiz
5be4b2ef3b Update to 3.5.6:
2008 Feb 6 (3.5.6)

   * Fix a bug ( ticket #2913) that prevented virtual tables from working
     in a LEFT JOIN. The problem was introduced into shortly before the
     3.5.5 release.
   * Bring the OS/2 porting layer up-to-date.
   * Add the new sqlite3_result_error_code() API and use it in the
     implementation of ATTACH so that proper error codes are returned when
     an ATTACH fails.

2008 Jan 31 (3.5.5)

   * Convert the underlying virtual machine to be a register-based machine
     rather than a stack-based machine. The only user-visible change is in
     the output of EXPLAIN.
   * Add the build-in RTRIM collating sequence.

2007 Dec 14 (3.5.4)

   * Fix a critical bug in UPDATE or DELETE that occurs when an OR REPLACE
     clause or a trigger causes rows in the same table to be deleted as
     side effects. (See ticket #2832.) The most likely result of this bug
     is a segmentation fault, though database corruption is a possibility.
   * Bring the processing of ORDER BY into compliance with the SQL standard
     for case where a result alias and a table column name are in conflict.
     Correct behavior is to prefer the result alias. Older versions of
     SQLite incorrectly picked the table column. (See ticket #2822.)
   * The VACUUM command preserves the setting of the legacy_file_format
     pragma. ( Ticket #2804.)
   * Productize and officially support the group_concat() SQL function.
   * Better optimization of some IN operator expressions.
   * Add the ability to change the auto_vacuum status of a database by
     setting the auto_vaccum pragma and VACUUMing the database.
   * Prefix search in FTS3 is much more efficient.
   * Relax the SQL statement length restriction in the CLI so that the
     ".dump" output of databases with very large BLOBs and strings can be
     played back to recreate the database.
   * Other small bug fixes and optimizations.

2007 Nov 27 (3.5.3)

   * Move website and documentation files out of the source tree into a
     separate CM system.
   * Fix a long-standing bug in INSERT INTO ... SELECT ... statements where
     the SELECT is compound.
   * Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE triggers.
   * Fixed the operator precedence for the ~ operator.
   * On win32, do not return an error when attempting to delete a file that
     does not exist.
   * Allow collating sequence names to be quoted.
   * Modify the TCL interface to use sqlite3_prepare_v2().
   * Fix multiple bugs that can occur following a malloc() failure.
   * sqlite3_step() returns SQLITE_MISUSE instead of crashing when called
     with a NULL parameter.
   * FTS3 now uses the SQLite memory allocator exclusively. The FTS3
     amalgamation can now be appended to the SQLite amalgamation to
     generate a super-amalgamation containing both.
   * The DISTINCT keyword now will sometimes use an INDEX if an appropriate
     index is available and the optimizer thinks its use might be
     advantageous.
2008-03-04 10:46:55 +00:00
rillig
83dd6f1fba The new thread-safe feature doesn't really work: The py-sqlite2
self-test fails with a segmentation fault.
2007-11-15 14:11:53 +00:00
rillig
8e04945df1 Updated sqlite to 3.5.2. The main reason to update was that on Solaris,
the file lemon.c uses the same identifiers (B_TRUE, B_FALSE) as the
<sys/types.h> header, and therefore fails to build.

Changes since 3.4.2:

   2007 Nov 05 (3.5.2)

     * Dropped support for the SQLITE_OMIT_MEMORY_ALLOCATION compile-time
       option.
     * Always open files using FILE_FLAG_RANDOM_ACCESS under windows.
     * The 3rd parameter of the built-in SUBSTR() function is now
       optional.
     * Bug fix: do not invoke the authorizer when reparsing the schema
       after a schema change.
     * Added the experimental malloc-free memory allocator in mem3.c.
     * Virtual machine stores 64-bit integer and floating point constants
       in binary instead of text for a performance boost.
     * Fix a race condition in test_async.c.
     * Added the ".timer" command to the CLI

   2007 Oct 04 (3.5.1)

     * Nota Bene: We are not using terms "alpha" or "beta" on this release
       because the code is stable and because if we use those terms,
       nobody will upgrade. However, we still reserve the right to make
       incompatible changes to the new VFS interface in future releases.
     * Fix a bug in the handling of SQLITE_FULL errors that could lead to
       database corruption. [11]Ticket #2686.
     * The test_async.c drive now does full file locking and works
       correctly when used simultaneously by multiple processes on the
       same database.
     * The CLI ignores whitespace (including comments) at the end of lines
     * Make sure the query optimizer checks dependences on all terms of a
       compound SELECT statement. [12]Ticket #2640.
     * Add demonstration code showing how to build a VFS for a raw mass
       storage without a filesystem.
     * Added an output buffer size parameter to the xGetTempname() method
       of the VFS layer.
     * Sticky SQLITE_FULL or SQLITE_IOERR errors in the pager are reset
       when a new transaction is started.

   2007 Sep 04 (3.5.0) alpha

     * Redesign the OS interface layer. See [13]34to35.html for details.
       *** Potentially incompatible change ***
     * The [14]sqlite3_release_memory(), [15]sqlite3_soft_heap_limit(),
       and [16]sqlite3_enable_shared_cache() interfaces now work cross all
       threads in the process, not just the single thread in which they
       are invoked. *** Potentially incompatible change ***
     * Added the [17]sqlite3_open_v2() interface.
     * Reimplemented the memory allocation subsystem and made it
       replacable at compile-time.
     * Created a new mutex subsystem and made it replacable at
       compile-time.
     * The same database connection may now be used simultaneously by
       separate threads.
2007-11-15 10:39:18 +00:00
wiz
00131d42d7 Update to 3.4.2:
While stress-testing the soft_heap_limit  feature, a bug that could
lead to database corruption was  discovered and fixed. Though the
consequences of this bug are severe, the chances of hitting it in
a typical application are remote. Upgrading is recommended only if
you use the sqlite3_soft_heap_limit  interface.
2007-09-15 09:17:43 +00:00
drochner
7bbce83b30 update to 3.4.1
This release fixes a bug in VACUUM that can lead to database
corruption. The bug was introduced in version 3.3.14. Upgrading is
recommended for all users. Also included are a slew of other more
routine enhancements and bug fixes.

pkgsrc note: 3 selftests are failing due to some loss of accuracy
in floating point calculations. The upstream fix is to disable the
selftests in question (see sqlite ticket #2570).
2007-08-13 17:27:30 +00:00
wiz
0b208ec82c Update to 3.4.0:
2007 June 18 (3.4.0)

* Fix a bug that can lead to database corruption if an SQLITE_BUSY
error occurs in the middle of an explicit transaction and that
transaction is later committed. Ticket #2409. See the
CorruptionFollowingBusyError wiki page for details.
* Fix a bug that can lead to database corruption if autovacuum mode
is on and a malloc() failure follows a CREATE TABLE or CREATE INDEX
statement which itself follows a cache overflow inside a transaction.
See ticket #2418.
* Added explicit upper bounds on the sizes and quantities of things
SQLite can process. This change might cause compatibility problems
for applications that use SQLite in the extreme, which is why the
current release is 3.4.0 instead of 3.3.18.
* Added support for Incremental BLOB I/O.
* Added the zeroblob API and the zeroblob() SQL function.
* Added support for Incremental Vacuum.
* Added the SQLITE_MIXED_ENDIAN_64BIT_FLOAT compile-time option to
suppport ARM7 processors with goofy endianness.
* Removed all instances of sprintf() and strcpy() from the core
library.
* Added support for International Components for Unicode (ICU) to
the full-text search extensions.

* In the windows OS driver, reacquire a SHARED lock if an attempt
to acquire an EXCLUSIVE lock fails. Ticket #2354
* Fix the REPLACE() function so that it returns NULL if the second
argument is an empty string. Ticket #2324.
* Document the hazards of type coversions in sqlite3_column_blob()
and related APIs. Fix unnecessary type conversions. Ticket #2321.
* Internationalization of the TRIM() function. Ticket #2323
* Use memmove() instead of memcpy() when moving between memory
regions that might overlap. Ticket #2334
* Fix an optimizer bug involving subqueries in a compound SELECT
that has both an ORDER BY and a LIMIT clause. Ticket #2339.
* Make sure the sqlite3_snprintf() interface does not zero-terminate
the buffer if the buffer size is less than 1. Ticket #2341
* Fix the built-in printf logic so that it prints "NaN" not "Inf"
for floating-point NaNs. Ticket #2345
* When converting BLOB to TEXT, use the text encoding of the main
database. Ticket #2349
* Keep the full precision of integers (if possible) when casting
to NUMERIC. Ticket #2364
* Fix a bug in the handling of UTF16 codepoint 0xE000
* Consider explicit collate clauses when matching WHERE constraints
to indices in the query optimizer. Ticket #2391
* Fix the query optimizer to correctly handle constant expressions
in the ON clause of a LEFT JOIN. Ticket #2403
* Fix the query optimizer to handle rowid comparisions to NULL
correctly. Ticket #2404
* Fix many potental segfaults that could be caused by malicious
SQL statements.
2007-07-03 17:29:57 +00:00
wiz
53ac435ed7 Update to 3.3.17:
2007 April 25 (3.3.17)

* When the "write_version" value of the database
  header is larger than what the library understands,
  make the database read-only instead of unreadable.
* Other minor bug fixes

2007 April 18 (3.3.16)

* Fix a bug that caused VACUUM to fail if NULLs
  appeared in a UNIQUE column.
* Reinstate performance improvements that were added
  in 3.3.14 but regressed in 3.3.15.
* Fix problems with the handling of ORDER BY expressions
  on compound SELECT statements in subqueries.
* Fix a potential segfault when destroying locks on
  WinCE in a multi-threaded environment.
* Documentation updates.

2007 April 9 (3.3.15)

* Fix a bug introduced in 3.3.14 that caused a rollback
  of CREATE TEMP TABLE to leave the database connection
  wedged.
* Fix a bug that caused an extra NULL row to be
  returned when a descending query was interrupted by
  a change to the database.
* The FOR EACH STATEMENT clause on a trigger now
  causes a syntax error. It used to be silently ignored.
* Fix an obscure and relatively harmless problem that
  might have caused a resource leak following an I/O
  error.
* Many improvements to the test suite. Test coverage
  now exceeded 98%

2007 April 2 (3.3.14)

* Fix a bug in 3.3.13 that could cause a segfault
  when the IN operator is used one one term of a
  two-column index and the right-hand side of the IN
  operator contains a NULL.
* Added a new OS interface method for determining
  the sector size of underlying media: sqlite3OsSectorSize().
* A new algorithm for statements of the form INSERT
  INTO table1 SELECT * FROM table2 is faster and
  reduces fragmentation. VACUUM uses statements of
  this form and thus runs faster and defragments
  better.
* Performance enhancements through reductions in disk I/O:
* Do not read the last page of an overflow chain
  when deleting the row - just add that page to
  the freelist.
* Do not store pages being deleted in the rollback journal.
* Do not read in the (meaningless) content of
  pages extracted from the freelist.
* Do not flush the page cache (and thus avoiding
  a cache refill) unless another process changes
  the underlying database file.
* Truncate rather than delete the rollback
  journal when committing a transaction in
  exclusive access mode, or when committing the
  TEMP database.
* Added support for exclusive access mode using
  "PRAGMA locking_mode=EXCLUSIVE"
* Use heap space instead of stack space for large
  buffers in the pager - useful on embedded platforms
  with stack-space limitations.
* Add a makefile target "sqlite3.c" that builds an
  amalgamation containing the core SQLite library C
  code in a single file.
* Get the library working correctly when compiled
  with GCC option "-fstrict-aliasing".
* Removed the vestigal SQLITE_PROTOCOL error.
* Improvements to test coverage, other minor bugs
  fixed, memory leaks plugged, code refactored and/or
  recommented in places for easier reading.
2007-06-07 19:49:10 +00:00
heinz
fbca7383db Added support for installation to DESTDIR. 2007-05-20 00:17:01 +00:00