forked from cran/RODBC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
653 lines (384 loc) · 19.2 KB
/
ChangeLog
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
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
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