Amazing work, Jacob.

On Tue, May 3, 2016 at 5:15 PM, Jacob Quinn <[email protected]> wrote:

> Hey everyone,
>
> A new release is imminent for the ODBC.jl
> <https://github.com/JuliaDB/ODBC.jl> package (will be released later
> today). As a quick history:
>
>
>    - ODBC.jl was the first package I ever worked on with Julia (indeed,
>    the first commit is from January 2013)
>    - A lot of refinements went into the package to make it basically
>    functional for the Julia 0.2/0.3 releases
>    - Since an initial push on 0.3, much has languished as I've worked on
>    other projects, Julia-related and otherwise
>
>
> Which brings us to today; a quick summary of the new release, which has
> been a long time coming:
>
>
>    - Major overhaul of key types/methods to align with more common Julia
>    idioms and more foundationally, the DataStreams.jl
>    <https://github.com/JuliaDB/DataStreams.jl> framework
>    - No more "global" ODBC connections that are saved under the hood; you
>       now explicitly construct an `ODBC.DSN` type and pass that to all other
>       functions
>       - Querying is done through constructing an `ODBC.Source` and then
>       `Data.stream!`ing it to any one of the currently supported `Data.Sink`
>       types (CSV.Sink, SQLite.Sink, Data.Table)
>       - Additionally, the `ODBC.query` still exists for now constructing
>       the ODBC.Source and streaming it to a Sink in one step (a Data.Table by
>       default)
>       - Execute a query without returning results via `ODBC.execute(dsn,
>       querystring)`
>    - 0.4 and 0.5 compatibility (currently not tested on 0.3, but I could
>    be persuaded to add compatibility if someone desperately needs)
>    - Better support across platforms, DBMS types, and DBMS data types
>    - Currently tested against SQL Server, MySQL, Teradata, and SQLite for
>       all data types they support
>       - Tested on Windows, OSX, and Linux (where DBMS drivers are
>       available)
>       - Tested on 0.4 and 0.5
>       - Will soon be additionally tested against PostgreSQL and Oracle
>       DBM as well
>       - Native support for SQL_NUMERIC and SQL_DECIMAL types through the
>       DecFP.jl <https://github.com/stevengj/DecFP.jl> package on
>       OSX/Linux, with Windows support coming soon (pending the resolution of
>       https://github.com/stevengj/DecFP.jl/issues/10)
>    - Summary of Breaking Changes:
>       - ODBC.query now requires a valid DSN as a 1st argument
>       - ODBC.query no longer takes an "output" keyword argument; instead,
>       a CSV.Sink can be passed as the 3rd argument to stream the results of a
>       query out to a CSV file
>       - The ODBC.Connection and ODBC.Metadata types no longer exist
>       - query is no longer exported; all types/methods are internal to
>       the module and usage now always includes the `ODBC.` prefix
>
>
>
> So what should you do?
>
> * Dive in! Feel free to report any bugs here
> <https://github.com/JuliaDB/ODBC.jl/issues/new>
> * Port code over from older versions of ODBC (shouldn't be too bad really;
> it should all just work better after the port!)
> * Alternatively, if you're currently relying on older versions of ODBC,
> you can run `Pkg.pin("ODBC", v"0.3.11")` to keep your code continuing to
> run on the latest stable ODBC release
>
>
> Happy DBMS-ing!
>
> -Jacob
>

Reply via email to