Version: 1.3-26 (2024-12-12, released)

        * src/RODBC.c: add casts for non-standard 64-bit-Windows headers.

Version: 1.3-25, 25.1 (2024-12-11, released)

	* DESCRIPTION: change maintainer address to @R-project.org

Version: 1.3-24 (2024-11-13, released)

        * src/RODBC.c: use Rf_ prefix

Version: 1.3-23 (2023-11-25, released)

	* src/RODBC.c: more tweaks.
	* po/R-de.po: update by Christoph Brinkhaus <c.brinkhaus@t-online.de>

Version: 1.3-22 (2023-11-21, released)

	* src/RODBC.c: tweaks, including use of Rprintf.

Version: 1.3-21 (2023-08-19, released)

	* man/RODBC-package.Rd: add extra alias at KH's insistence.

Version: 1.3-20 (2022-12-05, released)

	* src/RODBC.c: replace sprintf by snprintf
	* man/{sqlColumns,sqlTypeInfo}.Rd: updaate URLs
	* po: added Italian translations by Daniele Medri.

Version: 1.3-19 (2021-09-15, released)

	* configure.ac, configure: run autoupdate.

Version: 1.3-18 (2021-08-30, released)

	* src/RODBC.c: Replace use of Rdefines.h
	* vignttes/RODBC.Rnw: update/expand on installing on macOS.
	* man/{sqlColumns,sqlTypeInfo}.Rd: find replacements for MS URLs.

Version: 1.3-17 (2020-05-11, released)

	* R/sql.R, man/sqlQuery.Rd: remove use of default.stringsAsFactors().

	* DESCRIPTION: depend on R (>= 4.0.0) (for stringsAsFactors conformance)

Version: 1.3-16 (2019-09-02, released)

	* configure, configure.ac: remove unused 'R CMD config CPP'

	* R/sql.R, inst/tests.R: avoid partial matches

	* po/*.pot: update

	* src/config.h.in: regenerate

	* vignettes/RODBC.Rnw: stray quote, Oracle has macOS client,
	update URL for it.

Version: 1.3-15 (2017-04-13, released)

	* src/RODBC.c: Missed REPROTECT in line 1503.

Version: 1.3-14 (2016-09-24, released)

	* configure: tweaks for use of odbc-config

	* R/RODBC.Rnw: mention opensource.apple.com, use macOS and https://

	* src/RODBC.c: Use "config.h" not <config.h>

Version: 1.3-13 (2016-04-14, released)

	* R/RODBC.R: Using RODBC::openConnect() works without RODBC on the
	search path.

	* R/RODBC.Rnw: add simplified instructions for OS X.

	* src/RODBC.c: include C headers directly, not just via R.h.

Version: 1.3-12 (2015-06-29, released)

	* NAMESPACE; tweak imports.

Version: 1.3-11 (2015-02-26, released)

	* cleanup: tweak for OS X dirs from configure.

	* R/sql.R: remove unused assignment.

	* man/{sqlColumns,sqlTypeInfo}.Rd: avoid encoded URLs.

	* vignettes/RODBC.Rnw: updates, e.g. drop 'Mac', add 'Microsoft'.


Version: 1.3-10 (2013-11-25, released)

	* DESCRIPTION: use Authors@R

	* R/RODBC.R, man/odbcClose.Rd: return value of close() method is
	now more consistent with other methods.

	* man/*.Rd: add copyright dates.


Version: 1.3-9 (2013-11-01, released)

	* cleanup: remove detritus from OS X trial compiles.

	* R/RODBC.R: return value of odbcClose is now as documented.

	* src/RODBC.c: remove version dependence as package depends
	on a later version of R.

	* vignettes/RODBC.Rnw: updates, including for OS X Mavericks.

	
Version: 1.3-8 (2013-09-01, released)

	* DESCRIPTION: depend on R (>= 3.0.0)

	* Remove a.out.DSYM directory left over from OS X

	* R/TypeInfo.R: Use registered symbol in .Call

	* src/RODBC.c: remove repeated i++

	
Version: 1.3-7 (2013-07-01, released)

	* LICENCE.note: rename LICENCE

	
Version: 1.3-6 (2013-06-28, released)

	* DESCRIPTION: remove BuildVignettes: no

	* vignettes/Makefile: remove as R 3.0.x misbehaves

	
Version: 1.3-5 (2012-06-09, released)

	* R/sql.R: pass na.strings to type.convert, so "NA" need not be
	converted.

	* vignettes/: assemble pieces from inst/doc and manual.


Version: 1.3-4 (2012-01-05, released)

	* R/RODBC.R, R/TypeInfo.R: use an environment for typesR2DBMS.


Version: 1.3-3 (2011-07-25, released)

	* COPYING: change to name to GPL-2.

	* po: add Danish translations from Joe Hansen.


Version: 1.3-2 (2010-07-25, released)

	* po: add German translations from Chris Leick

	* man/odbcConnect.Rd, manual: mention Access 2010 drivers (which
	are also available for 64-bit Windows) and update info about
	sources of ODBC drivers.


Version: 1.3-1 (2009-10-11, released)

	* man/odbcConnect.Rd:  Rendering issues for Rd2 convertors.
	Stress that some ODBC drivers do not work correctly with bulk
	fetches, and that this is not a bug in RODBC.


Version: 1.3-0 (2009-07-28, released)

	* Documentation has been reorganized into a vignette/manual, and
	files README and INSTALL have been removed.

	* sqlSave(), sqlFetch() and sqlUpdate() now allow 'schema.table'
	forms for the table name.

	* The internals use grepl(), so R >= 2.9.0 is required.

	* odbcDriverConnect() obfuscates any password returned in the
	connection string.

	* Binary columns in a table can now be retrieved.  They will be
	returned as a column of class "ODBC_binary", which is a list of
	raw vectors.

	* The value of 'rows_at_time' set in odbcConnect (default now 100)
	is now used in all queries.  The buffers allocated when fetching
	character columns now depend on 'rows_at_time', so reducing this
	will save memory if potentially large character columns are in the
	result set, and can be done as an argument to sqlQuery() and
	functions which call it such as sqlFetch().

	* Apart from for the Excel driver, odbcTableExists() looks up just
	the (remapped) name in sqlTables() so will be faster on some
	systems.  Also, dotted table names are not quoted (which is what
	drivers that support them seem to require).

	* The internal function sqlwrite() used by sqlSave() now matches
	column types to the information given by sqlTypeInfo() by number
	rather than by name, as the Oracle ODBC driver returns names that
	are aliases of those in the type table.

	* The test suite now contains examples for IBM's DB2, for Oracle's
	own OBDC driver and for Mimer (on Windows).

	* sqlColumns() and sqlTables() have an extra argument 'literal' to
	control the interpretation of wildcards.

	* sqlSave(addPK=) causes that column to be created with a
	'NOT NULL' constraint (needed by some DBMSs, including DB2).

	* odbcColumns() and odbcPrimaryKeys() are no longer exported from
	the namespace.

	* sqlClear() now uses 'TRUNCATE TABLE' rather than 'DELETE FROM'.

	* odbcDriverConnect() gains a 'readOnlyOptimize' argument for the
	few systems (notably Mimer) which support it.

	* sqlTypeInfo() allows more types to be specified.

	* getSqlTypeInfo() has data for DB2 (on Windows) and Mimer.

	* Several C-level errors are given in more detail.

	* References to the unreleased 'bulk_add' option have been
	removed.

	* sqlSave(oldstyle = TRUE) has been removed.

	* sql* functions now return invisibly if errors = FALSE.

	* odbcDriverConnect() no longer allows case = "oracle" as a
	synonym for "toupper" (and Oracle is generally case-insensitive).

	* odbcReConnect() has been re-designed to allow any of the
	arguments to be changed.


Version: 1.2-6 (2009-06-23, released)

	* Split INSTALL file out of README.

	* Clarify that it is the ODBC driver that needs to recognize
	primary keys: apparently Access has them but the driver does not.

	* close() was leaking a RODBChandle stucture, found by valgrind.

	* odcUpdate() could write one character beyond a character buffer:
	used by sqlSave(fast=TRUE).

	* sqlSave(fast=TRUE) failed if the driver reported column sizes of
	date/dateime fields incorrectly, as sqliteodbc does.  Now these
	are retrieved by sqlTypeInfo(), and if they gives silly sizes, a
	sensible default is used.

	* sqlSave(fast=FALSE) could write logical columns with ' TRUE' due
	to a deficiency in as.matrix.data.frame().

	* sqlClear() now works with systems that need remapped/quoted
	table names.

	* Use NA_character_ as default for 'nullstring'.

	* Rework help pages, with many more details on catalogs, schema
	and behaviour of specific drivers.

	* There is limited support for dotted table names in sqlClear,
	sqlDrop and sqlFetch.

	* sqlTables, sqlColumns, sqlPrimaryKeys have extra arguments to
	restrict/change the search for the table(s) where this supported
	by the ODBC driver.

	* There is a now a test suite, the relevant parts of which are run
	if the environment variable RODBC_TESTING is set.  (This depends
	on specific DSN names being available, and so is intended only for
	the maintainer's use.)


Version: 1.2-5 (2009-01-21, released)

	* Adapt help to Rd version 2

	* Use integer constants

	* Spelling corrections


Version: 1.2-4 (2008-11-19, released)

	* Add missing temporary PROTECT in odbcConnect(), reported by Tom
	McCallum.

	* odbcReConnect() was broken (reported by Thomas Lumley).

	* sqlGetResults(): add 'stringsAsFactors' argument.


Version: 1.2-3 (2008-01-24, released)

	* Plug a memory leak in inRODBCClose (closing a connection),
	reported by Stephan Henne.

	* Use translateChar() on character data sent in.


Version: 1.2-2 (2007-10-19, released)

	* Clarify licensing as under either GPL-2 or GPL-3,
	add licence comments to source files.

	* Typo in setSqlTypeInfo().

	* Use gsub() rather than chartr() in odbcConnectAccess() etc,
	because of a report that chartr() was not working correctly on
	Chinese file names.

	* Added odbcConnect{Access,Excel}2007() for use with Office 2007
	formats and drivers.


Version: 1.2-1 (2007-06-03, released)

	* Use (const char *) for compatibility with R 2.6.0.
	* Add comments about MySQL's broken Connector/ODBC beta.


Version: 1.2-0 (2007-04-24, released)

	* Move to ODBC3 function calls throughout.

	* Internally, keep an ODBC environment open throughout the session
	rather than use one for every channel.

	* odbcDriverConnect has new arguments to set the values of
	'rows_at_time' and 'bulk_add' for the connection.
	'rows_at_time' now defaults to 1000.

	* odbcDriverConnect has new argument 'DBMSencoding' to allow
	re-encoding of character data to be passed to and from a DBMS
	running with a charset different from that of the locale under
	which R is running.


Version: 1.1-9 (2007-04-02, released)

	* odbcConnectExcel has a 'readOnly' option (default TRUE, as
	before).

	* There is more support for Excel spreadsheets, including 'tables'
	as marked ranges as well as worksheets, and more compatibility for
	writing to spreadsheets (in so far as this is allowed by the ODBC
	driver).  See ?odbcConnectExcel.

	* odbcDriverConnect has new arguments 'colQuote' and 'tabQuote'
	to control the quoting of column and table names (respectively) in
	SQL queries.  ANSI SQL92 mandates quoting by ", but this is not
	universally accepted (e.g. by MySQL) and RODBC used not to quote.
	Now it attempts to quote suitably, but setting colQuote=NULL
	reverts to the earlier (non-quoting) behaviour.

	* odbcDriverConnect tries to figure out a default value for 'case'
	from the DBMS name reported by the driver.

	* sqlSave(fast = FALSE) and sqlUpdate(fast = FALSE) now escape
	embedded single quotes in character strings via doubling, which
	should work on systems with ANSI SQL92 compliance.  The quoting
	rules for fields is now read from the driver (as e.g. Excel quotes
	datetime fields by ## not '').

	* getSqlTypeInfo now has values for the Excel driver.

	* Fixed typo in the default setting of options("dec"),
	which meant it was set to '.' in all locales, and gave a spurious
	warning in R >= 2.5.0.


Version: 1.1-8 (2007-01-02, released)

	* Make use of symbol registration for .Call entry points.

	* Add odbcEndTran() function for use when odbcSetAutoCommit() has
	been used to disable auto-commit.

	* Add odbcDataSources() function to list User and System DSNs.

	* sqlUpdate(fast=FALSE) now quotes date and time columns as some
	drivers appear to need it.

	* sqlwrite{fast=FALSE, append=TRUE) works better with out-of-order
	columns on some drivers.


Version: 1.1-7 (2006-05-24, released)

	* configure.ac: make use of odbc_config if --with-odbc-manager=odbc.

	* sqlSave: change wording of one error message
	(Matthew Dowle, 2006-04-11).

	* sqlFetch can now fetch up to 1024 rows at a time,
	which can be substantially faster when using a remote server.
	(Based on code suggested by Nick Gorman to Matthew Dowle.)

	* setSqlTypeInfo: corrected typo.


Version: 1.1-6 (2006-04-04, released)

	* Use SQL[U]LEN to agree with ODBC 64-bit headers.

	* Add config.h.in to show if the above are defined, and also
	  SIZEOF_LONG for unixODBC headers.

	* Add more info on sqlite3 in README and tests.R.  (I failed to
	  make sqlite 2.8.17 work on a 64-bit platform, and also failed
	  to save to other types such as 'date' and 'text'.)

	* Add info on 64-bit builds (especially Debian) in README.


Version: 1.1-5 (2006-01-10, released)

	* Added a cast in RODBC.c to counteract a warning Dirk Eddelbuettel
	  got (and I do not on either Linux or Windows).

	* Autoconf 2.59 goes into undocumented back-compatibility mode with
	  a one-argument AC_INIT, so use full form (with version no).

	* odbcSetAutocommit was not exported.

	* sqlSave: if 'verbose' and 'safer' write out verbose message before
	  error message.


Version: 1.1-4 (2005-08-04, released)

	* Add configure arguments and look at env vars - see README

	* Use collapse="\n" for possible multiple error messages.

	* Add odbcSetAutocommit() contributed by Yasser El-Zein.

	* Attempts to open and close more than 100 channels in a session
	  might have segfaulted.

	* sqlSave(test) was documented with the wrong default.


Version: 1.1-3 (2005-02-05, released)

	* Improve error messages for possible translation.

	* Fix typo in regexp in mangleColNames.

	* Add tests for native PostgreSQL on Windows.

	* Workaround problem with MyODBC 3.15-10 driver that needs
	  SQL_DRIVER_NOPROMPT when the window handle is null.


Version: 1.1-2 (2004-10-24, released)

	* Operating on a closed channel might crash in RODBCcheckchannel.

	* Report that DBase driver description in odbcConnectDbase was wrong.

	* Add settings for SQLite.


Version: 1.1-1 (2004-09-14, released)

	* Select the decimal point from Sys.localeconv.

	* Add an external reference and finalizer so open channels get
	  closed at the end of the session or when there is no R object
	  referring to them.

	* There is no longer a restriction to 16 channels.


Version: 1.1-0 (2004-09-06, test version)

	* Add NAMESPACE.

	* odbcConnect{Access,Dbase,Excel} allow a missing file name
	  (and will bring up a dialog box to search for it).

	* odbcGetInfo returns more information in a 8-element character
	  vector (based on an idea of Matthew Dowle).

	* The C code calls SQLExecuteDirect rather than SQLExecute and
	  does not call SQLCloseCursor, based on a problem report from
	  Matthew Dowle using MS SQLServer.  Repeated calls to
	  sqlGetResults now work.

	* New function sqlFetchMore.

	* Table names in Access with embedded spaces are mapped to the
	  [name space] form which Access requires.

	* Table creation no longer removes _ from column names.

	* New functions get/setSqlTypeInfo and the typeInfo argument to
	  sqlSave allow users to specify the mapping from R types to DBMS
	  datatypes.  sqlSave also allows the specification of DBMS
	  datatypes by column.

	* It is now possible to write more than 255 chars to a field with
	  sqlSave and sqlUpdate.

	* Dates and timestamps are now read as 'Date' and 'POSIXct'
	  columns by sqlGetResults (unless as.is = TRUE for the column).


Version: 1.0-4 (2003-07-19, released)

	* RODBC.c: iodbc was not recognizing the SQLTCHAR cast

	* odbcClose.Rd, odbcConnect.Rd: tidy up


Version: 1.0-3 (2003-05-25, released)

	* RODBC.c: remove unneeded SQLCHAR cast


Version: 1.0-2 (2003-05-13, released)

	* Add inst/ directory and install README.

	* Allow reading of character fields up to 64K bytes (limited
	  as the driver may report silly sizes).

	* Note that convenience wrappers for Excel etc need
	  English-language drivers to be installed.


Version: 1.0-1 (2003-01-20, released)

	* If a character field is truncated when reading from a database,
	  an R warning is given.

	* There was no protection against writing more than 255 chars in a
	  character vector in sqlSave/sqlUpdate(fast=TRUE).  Now the first
	  255 characters are written and a warning given.


Version: 0.99-9 (2003-01-17, test version)

	* Testing with PostgreSQL revealed that
	  - attempting to create a table with a primary key resulted in
	    memory corruption inside the unixODBC PostgreSQL driver and
	  - the special columns in PostgreSQL are pseudo-columns, so ML's
	    stategy in sqlUpdate is doomed.

	* Added 'addPK' argument to sqlSave(), defaulting to FALSE, to
	  circumvent the above.  (The latest psqlodbc client behaves.)

	* Changed strategy in sqlUpdate().  Allow 'index' argument, and
	  otherwise look first for a primary key in the data frame, then
	  special columns, then "rownames".

	* Changed all C-level tests to allow for SQL_SUCCESS_WITH_INFO as
	  the return value is driver-dependent and psqlodbc was returning
	  SQL_SUCCESS_WITH_INFO from SQLExecute.


Version: 0.99-8 (2003-01-15, test version)

	* Result sets with no rows are now reported as 0-row data frames
	  and not regarded as an error (return value -1).

	* More consistent usage of errors, with new error code -2
	  indicating no data (that is no result from the query, not just
	  no rows available).  For example, failure to create a table in
	  sqlSave() is now a fatal error.

	* On Windows, convenience functions odbcConnectAccess(),
	  odbcConnectDbase() and odbcConnectExcel() based on suggestion of
	  Fan, <xiao.gang.fan1@libertysurf.fr>.

	* A 'channel' object contains a randomly generated ID, so even if
	  a channel has been closed and the slot reused, the original R
	  object will be declared invalid.

	* options("dec") is only set when RODBC is loaded if it is not
	  already set.

	* New function odbcCloseAll().

	* Improved documentation.  New README, move ML's to README.orig.


Version: 0.99-6 (2003-01-12, test version)

	* Migration to use .Call where appropriate.

	* 'channel' is now a classed object, with a print method and
	  all relevant information is recorded as attributes of the
	  object, and new function odbcReConnect() allows reconnection to
	  a saved 'channel' object.

	* New function odbcDriverConnect() provides an alternative
	  interface via ODBC driver connection strings. Under the Windows
	  GUI this allows interactive completion of connection strings
	  via standard ODBC dialog boxes.

	* Names of tables are no longer deparsed, so normal R
	  semantics apply and they should be quoted.

	* odbcNumRows now returns the number of rows, not a list.

	* odbcCaseFlag now returns character in all cases.

	* New argument 'believeNRows' to accommodate ORACLE (and also
	  sqlTypeInfo() calls on MySQL).

	* The limit on the number of channels was off by one.

	* sqlSave() and sqlFetch() now default to rownames = TRUE, that is
	  to include rownames in the table, and to use column 'rownames'
	  for the rownames if it exists.  It is possible to retrieve
	  columns other than the first as rownames, as documented (but not
	  working).

	* New 'safer' option to sqlSave(), which defaults to TRUE.

	* When sqlSave() creates a table and includes rownames, the rownames
	  are created as a primary key (where supported).

	* sqlUpdate() has a new 'tablename' argument and many internal
	  changes (e.g. implementing case changes): it is now operational.

	* sqlSave(fast=TRUE) and sqlUpdate() can now create database NULLs
	  even on MS Access, and character strings with value "NA" are no
	  longer automatically regarded as missing.  sqlUpdate() now has a
	  fast=FALSE method, and for both the fast methods avoid
	  converting numeric and integer columns to character.

	* odbcFetchRow() has been removed.

	* sqlCopy() is now implemented.

	* odbcFetchRows() now returns a list, and sqlFetchRows() only
	  returns a data frame, this being the most efficient storage.
	  SQL double, real, integer and smallint columns are transferred
	  directly to R numeric and integer columns (rather than being
	  converted to character and back again).

	* Function sqlDrop(), sqlColumns() and sqlPrimaryKeys() were not
	  respecting case-changing (although case-altering DBMSs usually
	  coped).

	* Various memory leaks have been plugged.

	* Improved documentation.


Version: 0.9-1 (release candidate 2, released to CRAN 2002-10-30)

	* Improved documentation


Version: 0.9-0 (release candidate 1)

	* New maintainer.

	* Bring up to date for R 1.6.0.

	* Several functions were not testing the case-switched version of
	  the table name: now integrated into new function odbcTableExists.

	* New function odbcGetInfo.

	* New function sqlTypeInfo.

	* sqlFetch now does work with Excel spreadsheets.


Version: 0.8-3

	* Minor changes to make documentation and examples
	  R CMD check compliant
