53 Commits

Author SHA1 Message Date
Dimitri Fontaine
33ff0c193c Merge branch 'master' into rel_3_2_stable
And upgrade version numbers straight to 3.2.2 rather than "just"
resolving the conflicts.
2015-09-06 21:19:42 +02:00
Nikhil Benesch
fe35487048 Match pgloader-standalone target to pgloader target 2015-03-23 17:03:34 -04:00
Dimitri Fontaine
55584406fa Add encoding support for db3 sources, fix #176.
It appears that db3 files are not limited to the ASCII character
encoding that they were designed with, so let's clue pgloader about
that.

This commit build
770cbe3526
and the pgloader Makefile has been updated to momentarily fetch cl-db3
from github rather than Quicklisp so that it's possible to enjoy the new
feature immediately.
2015-02-18 22:40:03 +01:00
Dimitri Fontaine
28f6a87165 Interim release and forward porting from rel_3_2_stable.
Given the slashdot effect and some bad luck, the binary artefacts of the
3.2.0 release are not currently available, and anyway contain known bugs
that have been fixed meanwhile thanks to early adopters who did open
issues on github.

So we hastily publish the current master's branch version as a github
release with binary files.
2015-01-22 02:25:14 +01:00
Dimitri Fontaine
02ecd8866b Fix Makefile and bash multi-line escaping...
Travis is unhappy about the spelling of the command, so let's not try to
be cleverer here and accept a runaway line here. See #153 too.
2015-01-21 19:56:49 +01:00
Dimitri Fontaine
8ce967744c Add support for http_proxy environment variable to install quicklisp.
See #153.
2015-01-21 15:57:29 +01:00
Dimitri Fontaine
63ed605b19 Prepare for release 3.2.0. 2015-01-15 20:05:06 +01:00
Dimitri Fontaine
2dfb0269a4 Depend on current cl-csv master's version to fix #123.
The bug is related to the processing of empty-lines in the middle of
quoted text by cl-csv, which state machine has gotten quite complex to
be able to handle all the crazy different csv variants out there.

Testing shows the bug is fixed in pgloader by just updating cl-csv.
2015-01-14 23:39:01 +01:00
Dimitri Fontaine
6d572be186 Add build-time hints to use proper dependencies.
We got unsync again with the qmynd driver (see #124) and the WIP branch
of esrap has been in the works for a long time now. We now manually
fetch the "proper" version of those.
2014-11-23 21:27:39 +01:00
Dimitri Fontaine
87e157bee2 Add a new database source type in the parser.
Now it's possible to parse a command to load data from MS SQL. The
parser was until now parsing all database URI within the same common
rule and that isn't possible anymore if we want to distinguish in
between source database right from the parser, which we actually want to
do.

This patch also implement in-passing fixes all over the place, including
the transformation function float-to-string that only happened to work
on double-float data.
2014-11-17 00:23:06 +01:00
Dimitri Fontaine
ed853a7bea Allow pgloader to work on windows. 2014-11-06 22:12:20 +01:00
Dimitri Fontaine
8f1fc2a7a6 Release version 3.1.1. 2014-11-05 16:20:14 +01:00
Dimitri Fontaine
2d2cc26fca Allow setting dynamic space size easily at build time, fix #112. 2014-10-05 22:10:46 +02:00
Dimitri Fontaine
1acd497a69 Clean the debian package of unclear licensed material.
In passing, fix the clean target too.
2014-09-11 14:11:20 +02:00
Dimitri Fontaine
d5b91f99e5 Cleanup the debian packaging.
And re-add the 2.x era changelog of the package.
2014-09-11 11:29:13 +02:00
Dimitri Fontaine
0a3b4af290 Release pgloader 3.1.0! 2014-09-10 23:02:27 +02:00
Dimitri Fontaine
07b5aa3ed6 Add BEFORE/AFTER LOAD clauses to IXF and DBF commands. 2014-07-17 16:56:13 +02:00
Dimitri Fontaine
f352b39284 Travis: quickload local pgloader, not the QL dist one... 2014-07-17 10:19:00 +02:00
Dimitri Fontaine
5a636522de Fix make dependencies. 2014-07-14 22:34:43 +02:00
Dimitri Fontaine
3e0526c957 Implement early support for IXF files. 2014-07-14 21:53:50 +02:00
Dimitri Fontaine
f6fae39b2e Explicitely use gawk in the new regression testing facility.
Turns out that debian has mawk by default, which is not behaving the
same in our very simple use case already. In passing, add gawk as a
build dependency of the debian package, because the packaging is meant
to exercize the test cases.
2014-06-03 13:39:21 +02:00
Dimitri Fontaine
8b2b2af076 Use quicklisp release of qmynd and improve source dependencies.
As seen in #64 it's no longer necessary anymore to use a local clone of
qmynd to be able to compile pgloader: simplify the Makefile accordingly.

In passing, add source level dependencies so that if you edit any source
lisp file the binary will get automatically rebuilt by `make`.
2014-05-23 16:00:51 +02:00
Dimitri Fontaine
223199e866 Prepare and publish a MacOSX package file.
MacOSX users will be at home when using the usual packaging installer.
The binary file is installed into /usr/local/bin/pgloader and the man
page is installed too.
2014-05-11 18:37:38 +02:00
Dimitri Fontaine
31947e6c20 make latest build the Quicklisp tarball release. 2014-05-05 17:24:41 +02:00
Dimitri Fontaine
ad18c5370d Fix buildapp dependency.
We need a different buildapp binary file for SBCL and for CCL, so make
it appear that way in the Makefile, and have both
./build/bin/buildapp.sbcl and ./build/bin/buildapp.ccl.

That avoid really confusing error messages when trying to build pgloader
with CCL and using the SBCL-compiled buildapp binary...
2014-05-03 15:45:42 +02:00
Dimitri Fontaine
8d34d54772 Makefile rules optimisations. 2014-05-02 23:45:36 +02:00
Dimitri Fontaine
a5a29407f0 Release pgloader version 3.0.99. 2014-04-29 13:59:33 +02:00
Dimitri Fontaine
c0d9bb4d8f Allows to build pgloader image using CCL.
Too many Makefile commands where hard-coded using SBCL, which prevented
from building successfully against CCL. That's now fixed.
2014-04-29 11:47:22 +02:00
Dimitri Fontaine
cb20cb7145 The make clean target needs more work. 2014-04-25 17:17:19 +02:00
Dimitri Fontaine
4ccf5c5ad0 Build the buildapp binary in build/bin. 2014-04-22 17:14:00 +02:00
Dimitri Fontaine
1af517323c Attempt to fix the OpenSSL loading situation.
For the generated binary to be really portable, we need to be able to
open openssl 1.0.1 even when we've been built against openssl 1.0.0.

A way to achieve that with SBCL is by forcing the unloading of the lib
at image saving time and register a hook to load it again at image init
time. Using the proper API, CFFI will happily load the available file
for the lib rather than insisting on loading the exact same one than
found on the build machine.
2014-04-18 22:24:11 +02:00
Dimitri Fontaine
a39de0012e Simplify using the Makefile for non-CL-hackers.
Try harder not to mix Common Lisp Developers profiles with main pgloader
expected audience who will not have a Quicklisp system ready, by doing
our magic Quicklisp calls in a pgloader specific directory.

That might impact #45 badly as the homebrew formula should need to now
install its Quicklisp distributions elsewhere, but it should be easy
enough to fix.

Also, systematically `git pull` from the local-projects dependencies we
need to work with to avoid some bad surprises to our users.
2014-04-14 15:36:19 +02:00
Nikhil Benesch
73299237fb Makefile: add standalone target that doesn't install quicklisp 2014-04-06 19:59:34 -04:00
Nikhil Benesch
56fd8e3368 Makefile: use ronn to generate docs 2014-04-06 19:59:02 -04:00
Dimitri Fontaine
e7d828e696 Get rid of special versions of postmodern and cl-csv, fix #44.
The patches we made against those systems made it to Quicklisp. Next on
the list is Qmynd, which should be ok to go at the next Quicklisp release.
2014-03-31 18:07:55 -04:00
Dimitri Fontaine
59e87b84a0 Release Candidate 8. 2014-01-23 00:26:08 +01:00
Dimitri Fontaine
80b6c46aae Version 3.0.97. 2014-01-15 22:53:43 +01:00
Dimitri Fontaine
07c614c170 Switch to the newer cl-csv API.
Thanks to the work at https://github.com/AccelerationNet/cl-csv/pull/12 we
can now use the main branch of cl-csv again.
2014-01-11 18:28:24 +01:00
Dimitri Fontaine
13d53593b1 Fix buildapp to require some SBCL extensions, fix ASDF setup. 2014-01-03 16:49:08 +01:00
Dimitri Fontaine
b9e584586e Add RPM packaging for CentOS, with Vagrant provision for this OS. 2013-12-31 17:07:49 +01:00
Dimitri Fontaine
7879735046 Back to using Postmaster's main branch, CONTEXT patch applied! 2013-12-26 21:41:16 +01:00
Dimitri Fontaine
ef358c0b7d Take benefits of PostgreSQL COPY error CONTEXT.
This message has the line number where the erroneous data was found on the
server, and given the pre-processing we already done at that point, it's
easy to convert that number into an index into the current batch, an array.

To do do, we need Postmodern to expose the CONTEXT error message and we need
to parse it. The following pull request cares about the Postmodern side of
things:

  https://github.com/marijnh/Postmodern/pull/46

The parsing is done as simply as possible, only assuming that the error
message is using comma separators and having the line number in second
position. The parsing as done here should still work with localized message
strings.

  CONTEXT: COPY errors, line 3, column b: "2006-13-11"

This change should significantly reduce the cost of error processing.
2013-12-25 21:43:22 +01:00
Dimitri Fontaine
772a12d522 Postmodern and ABNF quicklisp version are now ok for use in pgloader. 2013-12-18 15:13:31 +01:00
Dimitri Fontaine
f58b5960cd Prepare a debian package, and make it pgloader 3.0.94. 2013-12-09 13:04:29 +01:00
Dimitri Fontaine
47d8e0af1c The qmynd (MySQL driver) changes made it upstream. 2013-12-06 18:35:15 +01:00
Dimitri Fontaine
b84541367d Add MySQL (MariaDB) support in tests. 2013-12-03 22:06:10 +01:00
Dimitri Fontaine
f02eb641b4 Switch from cl-mysql to qmynd, an all-lisp driver for MySQL. 2013-12-03 22:05:39 +01:00
Dimitri Fontaine
81f5f95e1d Get rid of the local Postmodern patch, use a bare local git clone.
Issue https://github.com/marijnh/Postmodern/issues/39 is now fixed!

After next Quicklisp release, we should be able to remove the whole special
treatment of Postmodern in pgloader.
2013-11-23 23:06:52 +01:00
Dimitri Fontaine
27f485b4d6 Default make target is now building pgloader self-contained binary. 2013-11-13 21:45:33 +01:00
Dimitri Fontaine
0fd3e1877f Remove "internal" libs that are now published separately at github. 2013-10-22 21:14:05 +02:00