Version 0.4-12

o satisfy CRA checks. No code changes.

Version 0.4-11

o modifications for RSQLite 2.0.0 

o read.csv.sql now accepts https and ftps

Version 0.4-10

o more modifications for RSQLite 1.0.0 

Version 0.4-9

o modifications for RSQLite 1.0.0 

Version 0.4-8

o new R option "sqldf.RPostgresSQL.other"

Version 0.4-7.1

o bug fix involving dates; also added corresponding unit test

Version 0.4-7

o misc changes to satisfy R CMD CHECK in R 3.0.2

Version 0.4-6.5

o fixed the a2r/a2s unit test

Version 0.4-6.4

o uses ByteCompile hence dependence on R 2.14.0 or higher

o now uses strapplyc if tcltk available hence dependence on gsubfn 0.6 or higher

o fixed time zone bug in dealing with POSIXct

o added MASS to Suggests to pass R CMD check in R 2.15.0

o RSQLite and RSQLite.extfuns namespaces are loaded at startup if there 
  are no other drivers supported by sqldf currently on search path

Version 0.4-6.1

o message regarding RPostgreSQL was not issued when RPostgreSQL is loaded

Version 0.4-6

o support for the RPostgreSQL driver was added

o RSQLite and RSQLite.extfuns have been moved from Depends to both Imports and
  Suggests and are loaded only if actually used.

o any database backend specified via drv= or the "sqldf.driver" option is 
  loaded if its not already loaded. Previously user was responsible for loading.

o the drv= argument of sqldf and the "sqldf.driver" option can specify either
  the database name or the driver name (i.e. SQLite or RSQLite, H2 or RH2,
  etc.)

o a possible bug regarding checking for tcltk was fixed.  This makes it more
  likely that substitute R code will be used rather than giving an error in 
  the absence of tcltk

o unit tests upgraded to latest versions of drivers

Version 0.4-5

o fixed bug that occurred when times class columns were in output

o added INSTALL file

o improve tcltk checking.

Version 0.4-4

o NAMESPACE added

o fixed an erroneous example in ?sqldf

o appends the sqldf library directory to AWKPATH.  This allows gawk calls in
  the filter argument of read.csv.sql to refer to awk programs that are 
  supplied with sqldf without supplying the path.  (See discussion of AWKPATH 
  in the gawk documentation.)

o sqldf includes an awk program, csv.awk, to process csv files for use as 
  a filter with read.csv.sql when its necessary to handle commas within quoted
  fields and quotes within quoted fields (such quotes must be doubled).  The
  following arguments (defaults shown) can be passed to csv.awk: isep = ",", 
  osep = "\"", quote  "\"", escape = "\"", newline = "\\n", trim = 1. Note that
  the escape character is used if quotes  are within quotes.  Newlines are also
  allowed in fields between quotes.  If trim=1 then whitespace is trimmed from 
  beginning and end of fields.

    # write out test data and then read it back using read.csv.sql
	cat('A,B\n"Joe, Jr.","Mac ""The Knife"""\n', file = "temp.csv")
    temp.out <- read.csv.sql("temp.csv", sep = ";", eol = "\n",
      filter = "gawk -v osep=; -f csv.awk")

  (In most there are no commas or quotes in fields so this filter not needed. 
  Also note that the above example assumes Windows console syntax and the 
  the corresponding shell syntax needs to be used instead on UNIX.)

o changes to eliminate the NOTE produced during build/INSTALL on Linux.

Version 0.4-3

o dbname = NULL can be used to force default behavior

o in read.csv.sql and read.csv2.sql the file argument may optionally be a URL

o in read.csv.sql and read.csv2.sql the file argument may be omitted (or
  equivalently NULL or NA or "") if filter is specified and no file is to to 
  be input to the filter.

Version 0.4-2

o read.csv.sql and read.csv2.sql now handle dbWriteTable's nrows and 
  field.types arguments.  (Previously sqldf did but not these two routines.)

Version 0.4-1.2

o bug fixes

Version 0.4-1.1

o bug fixes

Version 0.4-1

o startup message giving database that will be used as default (if not sqlite)

Version 0.4-0

o the heuristic which assigns classes to columns for the data frame output
  from sqldf has been improved

o method argument can now be a list of two transformations. The first
  component corresponds to the old method and can be a keyword ("auto", "raw"
  or "name__class"), a function or a character vector of class names.  The
  second may be a function which is used to transform all data frames input
  to the data base prior to sending them to the data base.

o automatic searching for spatialite is no longer performed.  It seems less
  useful now that RSQLite.extfunctions is automatically loaded.  To use
  the spatialite extension specify its path using the dll argument.

o sqldf has a new optional argument, verbose, which gives more output if
  it is set to TRUE.  Any other value suppresses the extra output.

o filter may be a list whose first component is a command with keywords
  naming the second and subsequent components.  These components are each
  specified as character vectors which are written out to temporary files
  of the indicated names.  This can be used for specifying gawk and other 
  filters/preprocessors of the input file without having to worry about
  shell interpretation of special characters. e.g.
	filter = list("gawk -f prog", prog = '{ gsub(",", ".") }')

o MySQL is now supported (in addition to SQLite, PostgreSQL and h2).

o stringsAsFactors now defaults to FALSE

o unit tests have been added.  To run them for sqlite do this:
	R CMD check sqldf
  or:
	demo("sqldf-unitTests")
  To run for all 4 databases:
    demo("sqldf-unitTests") # sqlite
    library(RH2); demo("sqldf-unitTests"); detach()
    library(RMySQL); demo("sqldf-unitTests"); detach()
    library(RpgSQL); demo("sqldf-unitTests"); detach()

Version 0.3-5

o global option "sqldf.method" used as default value of method argument.  If
  not set then default is method = "auto", as before.

o extension function from the RSQLite.extfuns package are automatically loaded

o heuristic improved.  It now checks for ambiguous situations and uses "raw"
  for those columns rather than the class of the first match.

Version 0.3-4

o all SQL statements now work with H2 rather than just a subset

Version 0.3-3

o if RpgSQL is loaded or if sqldf drv argument is "RpgSQL" then sqldf will use 
  PostgreSQL database

o database persistance (sqldf without arguments) now works with H2 database
  (previously only SQLite)

o bug fixes

Version 0.3-2

o if RH2 package is loaded then sqldf will use H2 database

Version 0.2-1

o bug fixes

o certain Date conversions which previously required as.Date.numeric from zoo
  package no longer depend on zoo

Version 0.2-0

o column names which are SQL reserved words are no longer mangled

o file.format list can contain a filter which is a batch or shell command
  that filters the input file

o read.csv2.sql is like read.csv.sql but has a default filter which translates 
  each comma in the input file to a dot

o if getOption("sqldf.dll") defaulting to libspatial-1.dll is found on the PATH
  then it will be loaded as an SQLite loadable extension.  With the default this
  gives access to these SQL functions:
  https://www.gaia-gis.it/spatialite/spatialite-sql-2.3.1.html
  The sqldf package does not itself include this or any other SQLite loadable
  extension.  The user must download and place it on the PATH if they wish to 
  use it.  libspatialite-1.dll can be found here:
  https://www.gaia-gis.it/spatialite
  If sqldf does not find the dll on the PATH then sqldf will continue to work 
  but without access to these functions.

Version 0.1-7

o now supports table names with a dot in them provided that they are 
  placed within backquotes

o bug fixes (thanks to Soren Hojsgaard for bug report)

Version 0.1-6

o new command read.csv2.sql

Version 0.1-5

o minor improvement in second example in ?sqldf (thanks to Wacek Kusnierczyk)

o new command read.csv.sql

Version 0.1-4

o removed junk files

Version 0.1-3

o corrected DESCRIPTION file

Version 0.1-2

o searches for and uses "file" objects as well as data frame objects.
  file.format argument or "file.format" attribute on file object
  is a list with arguments accepted by sqliteImportFile.
  [Thanks to Soren Hojsgaard for suggestion to support files.]

o dots in argument list replaced with a single variable x.
  x can be a "character" vector in which case each component is 
  executed by SQLite in turn and result of the last is returned.

o new dbname argument can be specified.  For SQLite it defaults to ":memory:",
  i.e. an embedded data base.  If database does not exist it is created
  and deleted upon exit.  If it does exist then only tables created by sqldf
  are deleted on exit but not the database itself.

o improvements in sqldf.Rd

o MySQL testing

o added a demo illustrating sorting and grouping vs. nested selects

o new example illustrating vector x

o support for POSIXct, Date and chron dates and times

Version 0.1-1

o removed use of subset in favor of subscripts since codetools chokes on it

o added table example to sqldf.Rd

o improved explanation in sqldf.Rd

Version 0.1-0

o initial release

