File: ChangeLog

package info (click to toggle)
rodbc 1.3-2-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 1,948 kB
  • ctags: 102
  • sloc: ansic: 1,198; makefile: 7; sh: 1
file content (533 lines) | stat: -rw-r--r-- 16,941 bytes parent folder | download
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
Version: 1.3-2 (2010-07-06, unreleased)

        * 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