/usr/lib/R/site-library/RMySQL/NEWS is in r-cran-rmysql 0.9-3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | Version 0.7-4
* Fixed a bug whereby NULL was being fed to C_S_CPY() from
RS_DBI_getTypeName(). Affected RS_MySQL_typeNames() and
RS_DBI_SclassNames(). Changed to empty string.
Version 0.7-3
* Added mysqlClientLibraryVersions() which returns the compiled and
loaded client library versions as a vector.
* RMySQL will now check for MySQL minor version consistency and throw
an error when the client and loaded library versions don't match.
Version 0.7-2
* New maintainer is Jeffrey Horner <jeff.horner@vanderbilt.edu>.
* We no longer distribute libmysql.dll. This library is now found
either by reading the MYSQL_HOME environment variable or by reading
the windows registry entries.
* Removed dependence on MySQL C function load_defaults() as it was
meant for command-line tools, not for (re)connecting to a database.
* Fixed \r issue with dbWriteTable().
* Tests have been added and depend on proper values set in the
environment variables MYSQL_DATABASE, MYSQL_USER, and MYSQL_PASSWD.
Version 0.6-1
* Fixed a dormant bug in code that imporperly used "$" in
mysqlWriteTable().
* Fixed typo in some Rd files; got rid of a few gcc warnings;
we now silently ignore unrecognized options in mysql config files
(thanks to Jon McAuliffe for this patch), etc.
* Added method dbColumnInfo(MySQLConnection, "tablename") (similar
to Greg Warnes' dbDescribeTable() suggestion).
* mysqlWriteTable() now issues a LOAD LOCAL specifying column names,
this allows to export data.frames with a subset of fields (as per
Greg Warnes patch).
* Plugged a memory leak when closing a connection (as per Jeff Horner's
patch).
Version 0.6-0
* Added an experimental version of multiple result sets processing.
There are two new DBI generic function extensions, dbMoreResults()
and dbNextResult() that return, respectively, whether there are
more results sets and the next result set. Note that to use this
feature on a connection, the connection must be created with the
CLIENT_MULTI_STATEMENTS client flag. Also note that not all results
need return data. (Thanks to Crispin Miller for code patches and
testing; also thanks to Michal Okonlewski for initial discussions
on this.)
* Added connection flags with names after the MySQL C macros
CLIENT_COMPRESS, CLIENT_LOCAL_FILES, CLIENT_MULTI_RESULTS, etc.
* Added generic function dbEscapeStrings() and a MySQL connection
method to escape strings on a connection basis, i.e., each connection
can support different char sets. (Thanks to J. T. Lindgren for the
original code.)
* Enabled the package NAMESPACE. Notice that the mysql*() support
functions will be made private in the near future.
* The configure script now also looks in lib64 libraries *before* the
default library directories /usr/lib, etc. (thanks to Brian Ripley for
this patch and Seth Falcon for additional testing). Notice that this
behavior will select 64-bit libraries over 32-bit on systems that host
both R builds, thus in these cases you may want to explicitly use
PKG_CPPFLAGS and PKG_LIBS. See the "R Installation and Administration"
for more details, including Section 8 "Choosing between 32- and 64-bit
builds".
Version 0.5-11
* Fixed a bug that would crash R with a failed mysql_real_connect().
* dbApply() is now working again (but still experimentally).
* Re-formatted the C code.
[0.5-9 through 0.5-10 were maintenance releases that Seth Falcon
kindly put out.]
Version 0.5-8
* Added MySQL error message when failing to connect (thanks to
Louis Springer for the patch).
* Added code to recognize the newer MySQL types BIT (mapped to
integers if not too many bytes, otherwise to characters) and
NEWDECIMAL.
* Fixed a stack imbalance when cloning a connection, e.g.,
con2 <- dbConnect(con).
* Remove abbreviation F for FALSE in call to MySQL().
* Added package documentation page.
Version 0.5-7
* Added a method for dbWriteTable to write a table from a text file, e.g.,
dbWriteTable(con, "tablename", "filename")
* Added the argument "default.file" to dbConnect's method to allow
parsing options from an alternate mysql options file. If specified
only this file is read, as per the MySQL C API.
* Re-use RSQLite's helper function "dbBuildTableDefinition" that builds
an SQL string with a simple "CREATE TABLE" definition appropriate for
exporting a specified data.frame.
* Fixed default in dbReadTable's method to used a table field "row_names"
(if it exists) as the row.names() of the output.
* Modified the configure.win to create windows binaries a bit easier.
* Fixed documentation typos.
Version 0.5-6
* Fixed a (potential) bug in the safe.write() where it would use
the current options(digits), possibly losing precision on double
precision data. It now uses digits=17, regardless of option("digits").
* Added a simple configure.win to simplify building the package on
windows; removed the inst/libs directory and now provide the MySQL
windows binary library in the src/windows directory.
Version 0.5-5
* Fixed documentation typos.
Version 0.5-4
* Fixed 2 problems in configure.in:
Since the MySQL client library requires libz, but now explicitly
check for it ourselves; also we now explicitly check for the GNU
getopt_long in the C library and set the C preprocessor macro
HAVE_GETOPT_LONG accordingly, which we use to conditionally include
or exclude the appropriate C code.
Version 0.5-3
* Fixed a data.frame subsetting problem introduced (uncovered?) with
the new R 1.8.0 data.frame subsetting semantics. (The code was in
safe.write(), to be precise).
* Fixed the vector .MySQLKeywords of reserved words (it was no 100%
accurate).
* Yet many more changes to the documentation structure (not the
contents) due to yet more changes in the R help system.
* Updated S4R.h to include changes to the .Call API in S-Plus 6.x (untested).
* Built a Windows binary against MySQL 4.0.16 (see inst/libs).
Version 0.5-2
* Added a test to verify whether the MySQL runtime version is different
from the version used during compilation. Only a warning is printed
if the versions differ.
Version 0.5-1
Bug fixes only.
* Fixed the bug in dbWriteTable() incorrectly exporting logicals
(thanks to christian.ritter@shell.com). A general mechanism for
data conversion is still lacking.
* Fixed a problem with issuing mysql_options() with MYSQ_OPT_LOCAL_INFILE
in version prior to 3.23.49, which is the one introducing this option.
This bug only appeared when compiling against MySQL 3.23.39 thru 3.23.48
Version 0.5-0
Made the package DBI-compliant (as of DBI 0.1-4) using version S4 style
classes. Simplified quite a bit the MySQLSupport.R file where most of
the workhorse functions are. No new functionality in this version.
Version 0.4-6
Ported to Windows with some very nasty porting problems beautifully
solved by BDR (thanks!)
* Added Makevars.win for Windows' sake.
* ifdef the code that parses group default (problems with getop.c).
The issue is that MySQL C function load_defaults() is not defined
in libMySQL.lib, only mysqlclient.lib. Unfortunately the client
library is only for static, thread-safe applications. (Need to
solve this thread-safety issue).
* Need to re-import the libMySQL.lib (see README.windows).
Version 0.4-5
A transitional, internal version.
* Synchronized the RS-DBI.c and RS-DBI.h with ROracle_0.3-3.
* Fixed a bug in getopt_long (being assigned to a char, instead
of an int). Apparently this cause problems only on Yellow Dog
Linux versions (thanks to DTL for reporting this).
* Commented out the S4's idiom "if(IS_LIST(x)) x = AS_LIST(x)
in the C code when compiled for R (could this idiom introduce
memory protection or garbage collection problems in R?)
Version 0.4-4
All but one changes for this point release should be transparent
to all users, and were done for compatibility with version 4 classes.
* Added compatibility for Version 4 style classes and methods. Namely
don't re-define functions such as as(), new(), show(), etc. when
running with R 1.4.0 library(methods). Added a function usingV4()
that tells us whether we're running with version 4 classes or not
(works with R and Splus).
* Moved the vector of SQL keywords to .SQL92Keywords in DBI.R. Also,
modified make.SQL.names() to use a "keyword" argument (.SQL92Keywords
by default). (This will allow us to use the same function with
simultaneous drivers, MySQL, Oracle, SQLite, etc). Defined a vector
of .MySQLKeywords that we pass to make.SQL.names() in
assignTable.MySQLConnection.
* Define a new print/show method for MySQLObjects.
Version 0.4-3
NOTE: Next release will most likely implement the emerging R/S DBI
interface, so I anticipate that the functions will have very
different names, although the core functionality will be
pretty much the same.) Stay tuned.
* Added an *experimental* dbApply() that applies a function to
groups of rows, one group at a time, avoiding having to hold the
data from all the groups in R/S. It takes a result set, a grouping
field, plus one or more functions and invokes them when certain
"fetching events" occur (e.g., at the beginning/end of groups).
See help(dbApply) for more details. [I must have(?) a bizarre
bug in the my C code that causes an R core dump when quantile(x,
..., names=T) is invoked inside the R callback function, but
works fine with quantile(x, ..., names=F) -- any hints will be
greatly appreciated!]
* Fixed the unimplemented append=T in assignTable() (thanks to
Jens Nieschulze for the patch). Also, assignTable() now
explicitly sets the end-of-line to be '\n' in the call to LOAD
DATA -- this should fix the incompatibility in Windows that Brian
Ripley alerted me to (thanks!) Also fixed the treatment of NA's
when exporting a data.frame to MySQL. (On input MySQL interprets
'\N' as an SQL NULL, which is what we use in SQL to denote an NA
in R/S.) Re-named the argument from "rownames" to "row.names"
for consistency with getTable (see below).
* Added row.names= argument to getTable(). The semantics is similar
(but not identical) to read.table(), namely if row.names is a
column name or index, the corresponding column is used as row.names
(provided the column has no duplicate values, of course); a NULL
or 0 value mean "don't use any field to set the row.names of the
output data.frame."
* The getTables() method now returns a character vector, instead of
a data.frame.
* There have been 2 reports of NULL's in MySQL double fields being
incorrectly mapped to non-NA's, random (very small) numbers;
in both cases on Solaris (we couldn't reproduce it on Linux nor
our local Sun servers). In one case the problem was traced back
to multiple versions of the libmysqlclient.so library. We still
need to get to the bottom of this:-(
* Fixed a bug when converting from NULL in a float dbms field to
a numeric (i.e., double) NA.
* Fixed a bug that core dumped somewhat randomly when fetching
a large result set that required extending the receiving vectors of
the output list. The cause was not PROTECTing the code expanded
by SET_LENGTH. [Somewhat counter to my (buggy) intuition, an
element *inside* a protected list loses its protection when we
use SET_LENGTH on it. See the function RS_DBI_allocOutput in
RS-DBI.c for the gory details.] (This problems occurred with R
1.2.3 and previous versions.)
* Fixed a bug in the data conversions of FIELD_TYPE_LONG into R/S
integers that erroneously map them to numeric/double when their
length was greater than sizeof(Sint). The current logic (only
applies to BIGINTs) is that if R's integers, sizeof(Sint), have
less then BIGINT's 8 bytes then we convert BIGINT to double to
avoid overflow. This is clearly platform specific. Grrr!
* Fixed a typo (PKG_CPPFLAG, sic) in the instructions generated
when configure couldn't find the MySQL header files and libraries.
* Fixed an unobservable bug in the LST_CHR_EL macro in S4R.h.
Version 0.4-2
* (R version) We fixed a problem with load() --- we had correctly elevated
this function to generic, but failed to define load.default as the
load() in package:base; this problem only manifested when using load from
inside other packages (thanks to Prof. Brian Ripley for catching this one.)
* We now include the GNU files "getopt.h" and "getopt.c" under the "gnu"
directory -- this is for the sake of non GNU systems (note that these
files are also included in the MySQL source distributions). We also have
a copy of "getopt.h" in the "src" directory (this simplifies installation
for users of gcc on Solaris and possibly other non-GNU systems).
We still need to code this into the R configure script -- see below.
* Updated dbExec documentation, various typos, etc.
Version 0.4-1
* A manual in the Adobe PDF file "RS-MySQL.pdf"
* A lot of changes to the internal C code to have a common source
for R and Splus 5.x and 6.x
* A better configure.in (thanks to Torsten Hothorn). I still need
to add code to check for the GNU getopt.c and getopt.h (as required
by MySQL) on systems with no GNU tools (e.g., solaris/irix/hpux/aix).
* Added a convenience RS-DBI dbConnect method dbConnect(mgr="character"),
e.g., dbConnect("MySQL", ...) to invoke the dbManager("MySQL")
prior to opening the actual connection.
* added (almost) trivial convenience RS-DBI functions getTable(),
assignTable(), existsTable(), and removeTable(). They all mimic the
corresponding R/S get(), assign(), exists(), and remove(), and they
all work with a connection object and an sql table name (NOT generic
SQL queries); assignTable() assigns a data.frame object (or coerceable)
to the database. (These functions provide the basis for "user-defined
databases in S -- see below.)
* Added support RS-DBI functions make.SQL.names() and isSQLKeyword()
to create legal SQL identifiers and to test for SQL keywords.
* Similarly, added a new RS-DBI generic function SQLDataType(dbObjectId, obj)
that returns the DBMS data type that most closely can represent
the R/S object "obj". Added the corresponding MySQL method for
SQLDataType(MySQLObject, obj).
* (Splus only)
Added RS-DBI methods to be able to attach a relational DBMS
as an S user-defined S database, e.g.,
con <- dbConnect("MySQL", group = "vitalAnalysis")
attach(con, translate = T, max.rows = 10000)
ls(pos=2)
x <- CLIENTMAPTABLE
See ?attach.dbConnection for details.
Note: *DO NOT* use this facility on large tables --- see the "proxyDBMS"
library for a more efficient/ambitious interface.
(I'm not sure this facility belongs in the RS-DBI, but it sure is easiest
to be bundled here.)
* (Splus only)
Added a MySQLObject virtual class that extends dbObjectId.
dbObjectId is now the virtual class for generic remote (DBMS) database
objects; each driver then extends it through its own virtual
class, e.g., MySQLObject -> dbObjectId. MySQLObject is virtual and the
base class for all MySQL objects (dbManager, dbConnection, etc.); this
is cleaner, and besides, it simplifies some "mixin" helper classes,
e.g., show() for remote objects, SQLDataType(), and so on.)
Version 0.4.0
* Parses $HOME/.my.cnf file. Added an "rs-dbi" stanza, and
the S code parses for other stanzas, as specified in
the argument "group=" in the call to dbConnect.
For details, see help(MySQL) and the MySQL manual.
|