/usr/lib/R/site-library/RSQLite/NEWS is in r-cran-rsqlite 0.11.4-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 | Version 0.11.4
- Upgrade to SQLite 3.7.7
- Fix bug in dbWriteTable preventing use of colClasses argument from
being used to control input types.
Version 0.11.3
- Upgrade to SQLite 3.7.16.2
Version 0.11.2
- Upgrade to SQLite 3.7.14
Version 0.11.1
- Prevent RSQLite from crashing R when operations are attempted on
expired (closed) connections.
Version 0.11.0
- Enhance type detection in sqliteDataType (dbDataType). The storage
mode of a data.frame column is now used as part of the type
detection. Prior to this patch, all vectors with class other than
numeric or logical were mapped to a TEXT column. This patch uses the
output of storage.mode to map to integer and double vectors to
INTEGER and REAL columns, respectively. All other modes are mapped
to a TEXT column.
- Detection of BLOBs was narrowed slightly. The code now treats only
objects with data.class(obj) == "list" as BLOBs. Previously, is.list
was used which could return TRUE for lists of various classes.
- Fix bug in sqliteImportFile (used by dbWriteTable) that prevented a
comment character from being specified for the input file.
- Increase compile-time SQLite limits for maximum number of columns in
a table to 30000 and maximum number of parameters (?N) in a SELECT
to 40000. Use of wide tables is not encouraged. The default values
for SQLite are 2000 and 999, respectively. Databases containing
tables with more than 2000 columns may not be compatible with
versions of SQLite compiled with default settings.
- Upgrade to SQLite 3.7.9.
Version 0.10.0
- Upgrade to SQLite 3.7.8.
Version 0.9-5
- Fix error handling for prepared queries when bind data is missing a
named parameter.
Version 0.9-4
- Fix incorrect handling of NA's for character data in the code that
binds parameters to a SQL query. The string "NA" was incorrectly
interpretted as a missing value.
Version 0.9-3
- Upgrade SQLite to 3.7.3. See http://www.sqlite.org/changes.html
for release notes for SQLite.
- Enable the sounder(X) function via the SQLITE_SOUNDEX compile time
flag. See http://www.sqlite.org/lang_corefunc.html#soundex for
details.
Version 0.9-2
- Fix two missing PROTECTs in RS_SQLite_managerInfo and
RS_SQLite_getException, thanks to a patch from Andrew Runnalls
Version 0.9-1
- SQLite header files needed to compile SQLite extension functions are
now made available by RSQLite. Packages can bundle SQLite extension
functions and use LinkingTo: RSQLite in the DESCRIPTION file.
- SQLite loadable extensions are now enabled by default for new
connections. If you wish to disallow loadable extensions for a
given connection, loadable.extensions=FALSE to dbConnect.
Version 0.9-0
- The SQLite driver handle validation code, is_ValidHandle, no longer
requires the driver ID to be equal to the current process ID.
SQLite supports multiple processes accessing the same SQLite file
via locking (however, results are known to be unreliable on NFS).
This change should make using RSQLite with the multicore package
easier. For an example of the issue that the PID check causes see:
https://stat.ethz.ch/pipermail/r-sig-hpc/2009-August/000335.html
- Refactor to use external pointers to wrap handle IDs; remove handle
ID coerce code (e.g. as(obj@Id, "integer")). For now, the old
scheme of storing handle IDs in an integer vector is mostly
maintained only these integer vectors are stored in the protection
slot of an external pointer. Using external pointers will allow the
use of finalizer code so that, for example, unreferenced result sets
can be cleaned up.
- Upgrade to SQLite 3.6.23.1.
- The memory mangement code for keeping track of database connections
was significantly refactored. Instead of tracking connections in a
pre-allocated array attached to the driver manager, connections are
now managed dynamically using R's external pointers and finalizers.
Consequences of this change are as follows:
* There is no longer a maximum connection limit (values specified
using the max.con argument to SQLite() are now ignored).
* The dbGetInfo(mgr) method no longer lists open connections and
dbListConnections will now always return an empty list. This
functionality was only needed because one needed a reference to
a connection in order to finalize the resource via
dbDisconnect(). While calling dbDisconnect() is still the
recommended approach, database connections that are no longer
referenced by any R variables will be finalized by R's garbage
collector.
* The behavior of SQLiteConnection objects now follows typical R
semantics. If no R variables reference a given connection, it
will be finalized by R's garbage collector.
- Add support for SQLite BLOBs. You can now insert and retrieve BLOBs
using raw vectors. For parameterized queries using
dbSendPreparedQuery, the BLOB column must be a list. When a query
returns a result set with a BLOB column, that column will be a list
of raw vectors. Lists as columns in data.frames work for simple
access, but may break some code that expects columns to be atomic
vectors. A database NULL value is mapped to an R NULL value for
BLOBs. This differs from the mapping of database NULL to NA used
for other datatypes (there is no notion of NA for a raw vector).
- The behavior of dbDataType, sqliteDataType, and as a consequence,
dbWriteTable has been changed to support BLOBs represented as a
column of type list in a data.frame. Such columns were previously
mapped to a TEXT column in SQLite and are not mapped to BLOB.
- RSQLite now depends on R >= 2.10.0.
Version 0.8-4
- Fix a memory leak in bound parameter management and resolve a
missing PROTECT bug that caused spurious crashes when performing
many prepared queries.
- Improve internal memory handling for prepared queries. Use
R_PreserveObject/R_ReleaseObject instead of the protection stack to
manage parameter binding. Logical vectors are now properly coerced
to integer vectors and Rf_asCharacterFactor is used to convert
factors in bind data.
- RSQLite now requires DBI >= 0.2-5
- There is now a fairly comprehensive example of using prepared
queries in the man page for dbSendQuery-methods.
- Upgrade to SQLite 3.6.21 => 3.6.22 (minor bug fixes).
- Use sqlite3_prepare_v2 throughout, remove workaround code needed for
legacy sqlite3_prepare behavior.
- Add name space unload hook to unload RSQLite.so.
- Enable full-text search module by default. See
http://www.sqlite.org/fts3.html for details on this SQLite
module.
- Add support for prepared queries that involve a SELECT. This was
previously unsupported. SELECT queries can now be used with
dbSendPreparedQuery. The return value is the same as rbind'ing the
results of the individual queries. This means that parameters that
return no results are ignored in the result.
Version 0.8-3
- Enable RTree module for the Windows build. The configure script is
not run on Windows, options are set directly in src/Makevars.win.
Version 0.8-2
- Changes to support WIN64
Version 0.8-1
- sqliteFetch now returns a data.frame with the expected number of
columns when a query returns zero rows. Before, a 0 x 0 data.frame
was returned regardless of the number of columns in the original
query. The change will be seen in calls to fetch and dbGetQuery for
queries that return no result rows.
- sqliteCopyDatabase has been refactored to support copying to either
a file or an open and empty database connection. This makes it
possible to transfer a disk based database to an in-memory based
database. The changes to sqliteCopyDatabase are NOT BACKWARDS
COMPATIBLE: the return value is now NULL (an error is raised if the
copying fails) and the argument names have been changed to 'from'
and 'to'. As this was a newly added feature that uses an
experimental SQLite API, I decided to disregards compatibility.
- Calling dbSendPreparedQuery with a non-NULL bind.data that has zero
rows or zero columns is now an error.
Version 0.8-0
- Upgrade to SQLite 3.6.21
- Apply some code and Rd cleanups contributed by Mattias Burger.
Avoid partial argument name matching, use TRUE/FALSE not T/F and
improve Rd markup.
- Integrate RUnit unit tests so that they run during R CMD check.
Small improvements to make the tests run more quietly. You can run
the unit tests by calling RSQLite:::.test_RSQLite() (require latest
version of the RUnit package). Also had to disable some unit tests
on Windows. Investigation of details is on the TODO list.
- Add sqliteCopyDatabase, a function that uses SQLite's online backup
API to allow a specified database to be copied to a file. This can
be used to create a file copy of an in memory database.
- Increase the default max connections from 16 to 200 in SQLite().
Connections to SQLite are inexpensive and there is no longer any
hard-coded limit to the number of connections you can have.
However, memory is allocated at driver initialization time based on
the maximum, so it is best not to use very large values unless you
really need the connections.
- sqliteTransactionStatement, which is used by dbCommit, dbRollback,
and dbBeginTransaction, now passes silent=TRUE to try() to suppress
error messages. Without this, code that could otherwise handle a
failed commit gracefully had no way to suppress the error message.
You can use dbGetException to see the error when
sqliteTransactionStatement returns FALSE.
- dbConnect/sqliteNewConnection now throws an error if dbname argument
is NA. Previously, if as.character(NA) was provided, a database
with filename "NA" was created.
- dbConnect/sqliteNewConnection now accepts two new arguments:
flags:
provides additional control over connetion details. For
convenience, you can specify one of SQLITE_RWC (default),
SQLITE_RW, or SQLITE_RO to obtain a connection in
read/write/create, read/write, or read only mode, respectively.
See http://sqlite.org/c3ref/open.html for details.
vfs:
controls the virtual filesystem used by SQLite. The default,
NULL, lets SQLite select the appropriate vfs for the system.
You can specify one of "unix-posix", "unix-afp", "unix-flock",
"unix-dotfile", or "unix-none". For details, see
http://www.sqlite.org/compile.html. This functionality is only
fully available on OSX. On non-OSX Unix, you can use
unix-dotfile and unix-none. None of these modules are available
on Windows where a non-NULL values of the vfs argument will be
ignored with a warning.
Version 0.7-3
- Use the default value for SQLITE_MAX_SQL_LENGTH which has now been
significantly increased over the value of 2 million that we had set
in 2008.
- Fix some Rd cross references in the documentation.
Version 0.7-2
- Fixed some partial argument matching warnings. Thanks to Matthias
Burger for reporting and sending a patch.
- Added dbBuildTableDefinition to exports per user request.
Version 0.7-1
- Upgraded included SQLite from 3.6.0 to 3.6.4
- Old news is now in ONEWS. Taking a fresh start with this NEWS file
to keep better track of changes on a per-release basis.
- Added a HACKING file where we will add notes about how to do
development on RSQLite.
--------------------
Version 0.4-12
* Fix bug in dbListTables for empty databases
Version 0.4-11
* Implemented dbCommit() and dbRollback(). There is also a new
generic method dbBeginTransaction(), which begins a transaction.
Note that this is an extension to the DBI interface.
* Update to the SQLite 3 API for fetching records. This means that
the records are pulled from the database as required, and not
cached in memory as was previously done.
* Added generic methods dbSendPreparedQuery() and dbGetPreparedQuery()
which are similiar to dbSendQuery() and dbGetQuery(), but take an
extra "bind.data" parameter, which is a data frame. The statement
is assumed to contain bind variables. Bind variables are either
for a column name (":name" or "@name") or for a column index ("?")
in the data frame. See http://sqlite.org/capi3ref.html for more details.
dbGetPreparedQuery(con, "INSERT INTO table1 VALUES (:col1)",
data.frame(col1=c(1, 2)) )
Each bind variable in the query has to be bound only once, either via
named or positional parameters. If it is not bound or is bound more
than once (due to a mix or positional/named parameters) an error is
thrown. Any extra columns in the data frame are ignored.
If you are having a lot of string parameters, use stringsAsFactors=FALSE
when creating the bind.data data.frame instance. You can also use I().
* Added experimental sqliteQuickColumn function that retrieves an entire
column from a specified table as quickly as possible.
* The SQLite driver has a new logical parameter "shared.cache" to
enable the shared-cache mode, which allows multiple connections
to share a single data and schema cache. See
http://www.sqlite.org/sharedcache.html
Version 0.4-9
* Upgraded to SQLite 3.3.8
* Use .SQLitePkgName instead of hard-coding the package name when
using .Call
* dbConnect() now has a logical parameter "loadable.extensions"
which will allow loading of extensions. See the Loadable
Extensions documentation:
http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions
Version 0.4-4
* Upgraded to SQLite 3.3.7
* Default when building from source is now to compile the included
version of SQLite and link to it statically
* Fixed unclosed textConnections
Version 0.4-1
* Added a method for dbWriteTable to write table from a text file, e.g.,
dbWriteTable(con, "tablename", "filename")
* Fixed problems exporting/importing NA's (thanks to Ronngui Huang for
a very clear bug report).
* Fixed double free() in the C code, a tiny memory leak, and configure now
builds sqlite properly on 64-bit linux (thanks to Seth Falcon for these).
* dbConnect() now accepts values for the "cache_size" and "sychnronous"
PRAGMAs ("synchronous" defaults to 0 or "off") to improve
performance (thanks to Charles Loboz for pointing these out, see the
file "rsqlitePerf.txt").
Version 0.4-0
* First attempt at using the new SQLite Version 3 API. This version
is a bridge to the new API, but it does not make available the new
capabilities (e.g., prepared statements, data bindings, etc.) but
prepares us for those new features.
* Clean up some installation code (mainly to make it easy to automatically
build on Windows, as per Kurt Hornik and Uwe Ligges suggestions).
* Fixed bug that ignored "fetch.default.rec" in SQLite()/dbDriver()
(as reported by Duncan Murdoch)
* Fixed bug in dbReadTable() that was not recognizing "row.names" in its
default, thus it now re-creates a data.frame that has been exported
with dbWriteTable().
* Fixed bug where dbListTables was not listing views (as reported by
Doug Bates).
* Added code in "configure.in" to determine CC/CFLAGS used in compiling R
(as suggested by Brian D. Ripley to get it to compile on 64-bit machines).
As of today, I can't test this myself.
Version 0.3-5
* Documentation typos, trivial packaging changes, as per CRAN maintainer
request.
Version 0.3-4
* Fixed documentation typos.
Version 0.3-3
* Minor fixes to accommadate R 1.8.0 changes to data.frame subsetting.
* Updated the documentation to use 1.8.0 new S4-style method documentation.
* Updated to SQLite to the latest 2.8.6 (included with RSQLite).
* Added file NAMESPACE.future to prepare for namespace implementation
at some future release.
Version 0.3-2
* Ported to Windows. It now installs fine under Windows with
Rcmd INSTALL RSQLite_0.3-2.tar.gz
(there's also a binary RSQLite_0.3-2.zip)
* Added code to verify that the SQLite library versions used for
compilation and at runtime agree.
* Added source sqlite-2.8.3.
* Fixed minor documentation errors and removed the DBI.pdf documentation
file, which is included in the required DBI package.
* The package now installs as a binary image by default (use the --no-save
argument to R CMD INSTALL to override this).
Version 0.3-1
* Moved the implementation to version 4 style classes, and it now
it is fully compliant with the DBI 0.1-3.
* Simplified the core helper R/SQLite functions (w. prefix "sqlite")
following the ROracle model.
* Updated to sqlite version 2.7.1 (note that if you have an sqlite
database file from a version prior to 2.6 you'll need to update
it -- for details see http://www.hwaic.com/sw/sqlite).
Version 0.2-1
* Worked mostly in the configuration; added the --enable-sqlite and
--with-sqlite arguments to have the RSQLite configuration also install
SQLite or locate it, respectively.
Version 0.1-1
* First implementation -- used the RS-DBI.[ch] code (which is the core
connection/cursor manager) "as is" and modified the RS-MySQL.[hc],
(which sits directly on top of the MySQL C API) and replace the
MySQL API calls with SQLite API calls. This was pretty easy, except
for the fact that the SQLite API is so minimal (3, yes, 3 C functions)
with no support for connections, result set (cursors), data types,
meta-data -- nothing. So I had to simulate all this. (Actually it
wasn't too bad).
|