-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathNEWS
More file actions
executable file
·485 lines (318 loc) · 17.2 KB
/
NEWS
File metadata and controls
executable file
·485 lines (318 loc) · 17.2 KB
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
Version 1.5-1 (2025-09-05)
* Add support for sparse vectors
* Make package uploadable to CRAN
* Bug 37777349: support data longer than 32767 in bind to CLOB
Version 1.5-0 (2024-10-11)
* Add dynamic load of Oracle client library
* Add support for vector data types
This feature is only available with 23AI database, source package
built with Oracle client lower than version 23 mjust be rebuilt with
higher version
* Add support for PLSQL boolean types
* Fix configure.ac
* if one sees differences with precision after ROracle driver is loaded
then one can set environment variable ORA_FPU_PRECISION to EXTENDED
NOTE: dbWriteTable on boolean and object types fetched from DB is not
supported in this version, it will be added in future version
Version 1.4-1 (2019-11-22)
* Add support for user defined types
* bug 30087742 - Modify WriteTable() to insert into generated columns
Version 1.3-2 (2018-11-01)
* Use ora.encoding for DML when specified
* Updated INSTALL
* One can now specify type of Oracle DBMS column using ora.type attribute in
dataframe when using dbWriteTable
Version 1.3-1 (2016-02-16)
* Handled both upper and lower cases in ora.type, ora.parameter_mode and
ora.encoding attributes.
* Support for OCIBindByName has been added for SQL and PL/SQL calls by
specifying ora.parameter_name attribute and bind valiables used in SQL or
PL/SQL calls must be bound by the name specified in ora.parameter_name.
* Support for PL/SQL stored procedure/function and REF cursors have been added.
The OUT bind parameter must be initialized with 'NA' or 'NA' coerced to any
other vector type .
* Use OCIArrayDescriptorAlloc instead of OCIDescriptorAlloc for performance
improvements when Oracle client release 11.1 or higher is used to build and
run ROracle.
* Removed unused variables
* Removed functions (dbSetDataMappings and dbCallProc) that will not be
available in 0.3.1 DBI specifications.
Version 1.2-2 (2015-06-20)
* Performance improvements for fetching date, timestamp, timstamp with time zone
and time stamp with local time zone.
* Atlantic Azores and America Scoresbysund timezone regions have an issue with
overlap times and hence these timezones are not supported with ROracle. The
issue is being investigated by Oracle. Bug #22558537 filed for this.
Version 1.2-1 (2014-12-05)
* ROracle on client now supports NATIVE, UTF8 and LATIN1 encoded data in query
and results. Please refer to man page. ROracle works with character sets that
are supported by both R and Oracle NLS on the host platform. UTF-8 encoded
character sets are usually supported on many Unix-like platforms.
* bug 16017358 - Misuse of Extproc driver in embedded R can cause a
segmentation fault
* enhancement 20603162 - CLOB/BLOB enhancement on ROracle. Please refer to man
page regarding the following attributes:
1) Attribute Name: ora.type
2) Attribute Name: ora.encoding
3) Attribute Name: ora.maxlength
4) Attribute Name: ora.fractional_seconds_precision
* bug 15937661 - Allow mapping BLOB, CLOB, NCLOB, NCHAR, NVARCHAR2, TIME STAMP
WITH TIME ZONE, TIME STAMP WITH LOCAL TIME ZONE columns
correctly for dbWriteTable
* bug 16907374 - ROracle creates time stamp column for R Date with dbWriteTable
* ROracle now displays NCHAR, NVARCHAR2 and NCLOB data types defined for
columns in the server using dbColumnInfo and dbGetInfo
Version 1.1-12 (2014-06-04)
* Add bulk_write parameter to specify number of rows to bind at a time to
improve performance for dbWriteTable and DML operations.
* Date, Timestamp, Timestamp with time zone and Timestamp with local time zone
data are maintained in R and Oracle's session time zone. Oracle session time
zone environment variable ORA_SDTZ and R's environment variable TZ must be
the same for this to work else an error is reported when operating on any of
these column types.
* bug 16198839 - Allow selecting data from time stamp with time zone and time
stamp with local time zone without reporting error 1805
* bug 18316008 - increases the bind limit from 4000 to 2GB for inserting data
into BLOB, CLOB and 32K VARCHAR and RAW data types. Changes
describe lengths to NA for all types except for CHAR,
VARCHAR2, and RAW
* Fix unnecessary adjustment to UTC when converting from epoch to Oracle types
and vice versa
* Performance improvements and address issue with fetch
* bug 18404532 - Fetching LOB data with an empty BLOB/CLOB (0 LENGTH) results
in ORA-24801 error
* bug 18404569 - Fetch method will result in extra instructions when size
exceeds bulk read limit
* bug 18908645 - Follow base::.set_row_names convention when forming data.frame
objects at the C level.
* bug 16686948 - Updated ROracle document with use of ora.number argument of
dbWriteTable()
Version 1.1-11 (2014-01-09)
* Performance improvements for RAW data type and large result sets
* Cache resultset in memory before transferring to R to avoid unnecessary alloc
and free using allocVector when result exceeds bulk_read rows
* Updated INSTALL with restrictions on using Basic Lite package
* added session mode to connect as SYSDBA or external credentials
NOTE: authentication using SYSDBA is only available by default in 11.2 and
later releases, for earlier releases please obtain patch for
bug# 7000451 in Oracle Client
* bug 17383542: Enhanced dbWritetable() & dbRemoveTable() to work on global
schema.
Version 1.1-10 (2013-04-30)
* Oracle number columns are now fetched using SQLT_FLT data type
Version 1.1-9 (2013-03-29)
* bug 16570993: Fix platform-porting issue for supporting datastore
Version 1.1-8 (2013-01-30)
* bug 16188612: Setting of OCI_LIB32 and/or OCI_LIB64 environment variables
on Windows is mandatory, see INSTALL for details.
Version 1.1-7 (2012-11-25)
* bug 15900089: Fixed ORA-1805 error when accessing date or time stamp columns
when the time zone versions on the client and server differ. ROracle returns
the date, time stamp, time stamp with time zone and time stamp with local
time zone in POSIXct format. Please refer to man page
Version 1.1-6 (2012-09-18)
* dbWriteTable now uses timestamp with time zone for POSIXct
columns
* dbWriteTable now support Date columns
* Oracle interval day to second data type now maps to R's difftime
Version 1.1-5 (2012-09-11)
* Fixed build issues of ROracle driver with 10.2 OCI client
* Removed references to OCIArrayDescriptorAlloc() and LOB prefetch
attributes to make ROracle driver compatible with 10.2 OCI client.
Version 1.1-4 (2012-07-27)
* Corrected buffer length issue to get Server Release Version
Version 1.1-3 (2012-07-15)
* add support for Oracle TimesTen In-Memory Database
* Date time (time stamp, date, time stamp with time zone and time stamp with
local time zone) now uses POSIXct/POSIXlt
* RAW data type support
* BLOB and BFILE support
* Prefetching support
* soft parameter (bulk_read) to specify number of rows to fetch per
execute/fetch operation from DB
* Whether to prefetch LOB data
* Break Ctrl-C handler
* Windows now uses .def file instead of binaries
* Statement caching support
Version 1.1-2 (2012-03-29)
* add support for Oracle Wallet (connect with blank username and password)
* bug 13880813: incorrectly classifying NUMBER columns as integer
* bug 13904056: wrong result in dbWriteTable when inserting NAs
* add support for datetime and interval types (selects)
Version 1.1-1 (2012-02-01)
* Pass ownership and maintenance of ROracle to the Oracle R team.
* Drop Splus support.
* Totally reimplemented from the ground up using OCI.
Version 0.5-12
* Code and cleanup.
Version 0.5-11
* Added namespace to package.
Version 0.5-10
* Increased maximum SQL statement length from 20000 to 200000.
* Fixed buffer sizes when copying data frame to Oracle.
* Fixed casting of pointer assignments in C.
* Fixed broken links in man pages.
Version 0.5-9
* Trivial changes to make "R CMD check" happy.
Version 0.5-7
* Remove install.R (to be deprecated as of R 2.3.0).
* Allow empty username/passwords, as per ProC/C++ convention, fixed a
memory leak when extracting char data, and added a workaround for the
incorrect Oracle 9.2 sgls() that reports no select on the first query
(thanks to David Hinds for all these patches).
* Modified the configure.in to define the C macro RS_ORA_SQLGLS_WORKAROUND
when the Oracle version is 9* (should we restirict it to 9i and >9.2?).
If the macro is defined, we use David Hinds' patch to guess whether the
SQL statement being prepared is a select or not.
* Yet another Pro C/C++ bug workaround. Added --enable-prefetch=1 to the
configure script to allow a workaround to the ProC/C++ bug when building
on an Oracle 8i but connecting to a Oracle 9i server (thanks to Marco Kienzle
for the very informative Pro C/C++ bug report).
* Trivial changes to Makefile.win to create windows binaries for 2.2.1.
* Fixed documentation typos.
Version 0.5-6
* After trial and error (under Linux, older Oracle 8), the size for the
internal dynamic statment (RS_ORA_STATEMENT_LEN) was increased to 20000
characters (the Oracle documentation is apparently silent on how big
the statement string can be). This should allow exporting data.frames
up to ~255 columns. Your mileage may vary.
* Include a workaround in oraQuickSQL() to the Pro C/C++ 9.2 bug or
"feature" that causes sqlgls() to return the wrong SQL function code
(we rely on the value 04 to identify SELECT statements). See the
Pro C/C++ Readme file.
* Thanks to Sunny Ho's painstaking detective work, ROracle now includes
SQLCA.H and SQLDA.H (all uppercase) to avoid the nasty PostgreSQL/Oracle
co-existance problem (at least) on Red Hat linux systems. For details,
see Sunny's 2004-11-23 posting to R-help "ROracle: fetch return zero rows
or empty dataset (a workaround)".
* Fixed the problem of leaving connections open upon disconnection (thanks
to Rebeca Steffan for the hint.)
* Fixed bug where the indicator variables for prepared statements
were not re-initialized (thanks to David Hinds for the patch).
* Fixed typo in oraRollbackback().
* Fixed bug in dbReadTable's method that incorrectly processed the default
for detecting row names.
Version 0.5-5
* Fixed documentation typos.
Version 0.5-4
* Fixed a bug in configure.in that was statically linking
by default when it should have been dynamically linking
and ignoring --enable-static=no. I also changed the default
to static linking (this avoids having to set the LD_LIBRARY_PATH).
* Added the configure arg --enable-extralibs (-lsqlplus by default)
to append oracle libraries to PKG_LIBS. This, of course, should
never be needed, but on some Linux Oracle 9 systems the libcnltsh.so
library apparently does not include the sqlca symbol. This argument
works around this problem. For details see the file README.Oracle9.
* added the missing PACKAGE= argument to a couple .Call invocations.
Version 0.5-3
* Yet many more changes to the documentation structure (not the
contents) due to changes in the R help system.
Version 0.5-2
* Ported to Windows 2000 (see src/Makefile.win for details).
* Fixed a bug in RS_Ora_cpyOraToDataFrame that manifest (apparently)
only in 64-bit version of R *and* Oracle when copying integers from
Oracle's buffers to the output data.frame (thanks to Joerg Shaber
for helping identifying this one).
* Added --enable-oracle32=[default|yes|no] to the configure script
to allow R 32-bit binaries to access Oracle's 64-lib installations
(thanks to Don MacQueen for finding the right incantation).
See the file INSTALL for more details.
* Added a patch to work around a bug in (what I think) is in the
Oracle 9 Pro C/C++ sqlgls() function. See the file README.Oracle9.
Version 0.5-1
* Fixed a bug in oraQuickSQL() that would incorrectly return an
OraPrepareStatement object instead of plain OraResult with
select statements.
* Fixed a typo in dbExistsTable().
* Fixed a bug where an invalid connection string of the form
"user@password" (instead of the correct "user/password[@dbname]")
would cause a crash.
Version 0.5-0
* This version has an experimental dynamic SQL binding to data frame
columns. SQL statements can be "prepared" (parsed and cached
for improved performance), and columns of data frames bound to
them for automatic data transfer). For details see the help()
for "Oracle", "dbPrepareStatement" and "dbExecStatement".
(Note, dbPrepareStatement() and dbExecStatement() are extension to
the DBI package.)
* Host arrays are now operational. These are buffers used by Oracle's
internal implementation to reduce network traffic and speed
up fetches and prepared statements. Currently fetches use a
default buffer size (host arrays) of size 500 (previous version
did no buffering). **Very preliminary** results suggest performance
improvements on fetching of about a factor of 2.
(Note that the maximum size of these buffers is limited to about
65K bytes per column.)
* dbCommit() and dbRollback() are now explicitly implemented,
but save points are not (you may code them through dynamic SQL).
* The precompiler ProC/C++ is now used with the option PARSE=none
to avoid bogus C errors with some compilers and/or platforms
(e.g., Mac OS X).
Version 0.4-0
* The package is now compliant with the R/S Database interface (DBI),
see package DBI 0.1-4. This means that almost all functions have
new names, but the functionality is exactly the same as the last version.
* Simplified the underlying (support) functions by deleting more than a few,
and changing their names to start with "ora" (the previous function and
their names where a vestige of S3 style methods, which we no longer need).
* No changes to the C code (except for minor changes to RS_DBI.c to
generate more helpful error messages in case of internal errors).
Version 0.3-3
* NOTE: Next major version will comply with the emerging common
database interface DBI, if agreed by the R-SIG-DB. This
will probably change the function names, but not the basic
functionality.
* Some minor clean up of the RS-DBI C code.
* Updated the use of NAs in strings in the C code, according to the new
1.5.0 stricter rules.
* added a PROTECT() when re-setting the length of output data.frame
during fetching that could lead to random core dumps (thanks to
Don MacQueen for reporting this pesky bug).
* getInfo() on a connection object now also returns the password used
on the connection (needed, e.g., in assignTable, see below).
* A few fixes to assignTable.OraConnection:
A bug in the SQL*Loader script that assignTable() creates to
efficiently transfer data.frames to Oracle (the bug was that NAs in
the last column caused SQL*Loader to fail);
assingTable() now also provides the password in the call to SQL*Loader
to avoid being prompted for it.
Added an argument "batch=10000"; this is used to write.table() these
many rows at a time from the data.frame in order to avoid huge memory
build ups. It's still shamefully slow (due to write.table), but at least
it won't exhaust memory. [Need to find an efficient alternative to
write.table(), perhaps we need to write our own specialized C code?]
* Extended the size of the internal connections parameters (user, password
and dbname) to 1024 to allow users to embed the tnsnames.ora string, e.g.,
con <- dbConnect(Oracle(),
"user/passwd@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=foo.misc.de)(PORT=1521))(CONNECT_DATA=(SID=TEST))
[this seems to be an undocumented "feature" that Oracle gurus use quite
commonly when they don't have privileges to update the network config
file $ORALCE_HOME/network/admin/tnsname.ora (thanks to Michael Mader for
this trick!]
* ifdef all S4/Splus' idioms if(IS_LIST(x)) x = AS_LIST(x). I'm not sure
whether these should be PROTECTED in R, but since the idiom is only
needed in S4/Splus5+, it's better not to have it in R.
* Fixed a bug in SQLDataType.OraConnection (wrong signature).
* Added dbObject validity checks to a bunch of the meta-data functions.
Version 0.3-2
* Added code to be able to copy data.frames to Oracle, see
assignTable().
Version 0.3-1
* Note that if you statically link against the Oracle libraries
you may move the resulting package to systems w.o. Oracle (of
course, subject to the other system being binary compatible).
If you do this, you may need to provide additional Oracle
configuration parameters to ROracle. See the file "README.client"
for details.
* Ported to R, added a configure script.
* Implemented a workaround to the very nasty bug in the linux
implementation of the ProC/C++ (as of 8.1.[567]) (see the function
filter_buggy_error() in RS-Oracle.pc) The sign was that Oracle
would give a "fetch out of order" error when there was no fetching
going on.
* Modified the documentation to pass R CMD check. Unfortunately we now
have two separate versions of the help (one for Splus, another for R).
Splus-specific
* It nows does the #include "S.h" conditionally, for the sake of
Splus 6.0 (you need to define the macro SPLUS6 in the makefile).