Version: 1.3-23 (2023-11-25, released) * src/RODBC.c: more tweaks. * po/R-de.po: update by Christoph Brinkhaus 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 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, . * 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