Commit Graph

790 Commits

Author SHA1 Message Date
Dimitri Fontaine
17c38179cf Merge pull request #136 from mtyson01/mysql_mediumint
Add support for MySQL mediumint auto increment
2014-12-17 10:09:40 +01:00
Darrin Mison
9a7000d1be command synopsis wasn't rendering in github preview
drive-by PR ;-)
2014-12-17 14:06:46 +10:00
Dimitri Fontaine
87f8e2392e Cleanup a double pg-setting setting.
That is now taken care of in the main query macros.
2014-12-16 18:46:07 +01:00
Dimitri Fontaine
073f012d1a Add support for SSL modes in the PG connection string, fix #137.
In passing, refactor the *pgconn- dynamic bindings in favor of directly
using the connection property list straight from the connection string
parser, processing it when necessary. That allows to make it simple to
add an internal :use-ssl property.
2014-12-16 18:45:43 +01:00
Matt Tyson
dfc5c17c63 Add support for MySQL mediumint auto increment 2014-12-16 16:40:15 +10:00
Dimitri Fontaine
1996256f8f Add support for postgres:// URI prefixes, fix #135. 2014-12-15 20:32:49 +01:00
Dimitri Fontaine
1b859d269c When migrating from MySQL, add columns names to the COPY command. Fixes #132. 2014-12-12 15:12:54 +01:00
Dimitri Fontaine
3cbaea52f5 Fix pgsql uri parsing for empty hosts.
Don't use and empty string as a valid hostname, we want either the
default unix socket or "localhost" to be used in that case.
2014-12-12 15:10:46 +01:00
Dimitri Fontaine
9fb03d2d2e Update doc files for build dependencies, fix #131. 2014-12-03 00:55:32 +01:00
Dimitri Fontaine
8dbb1fe9be Fix bug introduced in f263d1b2a4, fix #124. 2014-12-02 15:05:10 +01:00
Dimitri Fontaine
b9e26ea460 Add instructions to build a docker image for pgloader.
The current instructions build SBCL then pgloader all from sources in a
debian VM. It might be a good idea to maintain a debian+SBCL docker
image and build pgloader on top of that.
2014-11-30 18:52:35 +01:00
Dimitri Fontaine
cd52654e3d Transfer processing threads errors to the main thread, fix #130.
Handling the errors within the thread is useful when debugging pgloader
interactively, but not so much when started from the command line, where
it would hand the program forever with threads waiting for interactive
debugger actions to be taken, with no way for the user to actually take
action.
2014-11-27 00:05:12 +01:00
Dimitri Fontaine
d4cab3a81e Fix MSSQL index and foreign key names.
First, the index names in MS SQL, as in MySQL, are only unique per
table, whereas they need to be globally unique (per database) in
PostgreSQL. So reuse the infrastructure we had for MySQL here.

Second, the way we trick table names in index and fkey structures means
that we already did quote the names and we don't want to quote them
again, so add a new possible *identifier-case* value to handle the case
where nothing is to be done, pretty please.
2014-11-25 00:42:37 +01:00
Dimitri Fontaine
6240202c99 Avoid the 'dbo' schema in retrieving FKeys from MS SQL. 2014-11-24 23:46:43 +01:00
Dimitri Fontaine
f263d1b2a4 Implement Foreign Key support for MSSQL.
Piggyback as much as possible on the work already done for MySQL.
2014-11-24 23:42:19 +01:00
Dimitri Fontaine
38acce57b5 Fix parsing MSSQL options, which are actually MySQL options. 2014-11-24 23:41:20 +01:00
Dimitri Fontaine
e72325ee25 Improve Index build concurrency.
Rather than doing ALTER TABLE directly, use CREATE UNIQUE INDEX in the
all in parallel concurrent index build per table, and only in the end
game "upgrade" that unique index into a PRIMARY KEY using ALTER TABLE.

The reason why it's a good idea to do that is to avoid an ACCESS
EXCLUSIVE LOCK at ALTER TABLE time, which is killing our index build
concurrency.
2014-11-24 22:05:22 +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
a8398c20ba Implement support for migrating MS SQL Indexes. 2014-11-22 02:02:44 +01:00
Dimitri Fontaine
5ab0831d4e Allow building pgloader even when the git command fails, fix #125. 2014-11-22 00:32:29 +01:00
Dimitri Fontaine
5ce92492ce Cast MySQL default values in some cases, fixing #124.
When querying the default values of MySQL tables against MySQL catalogs,
the default value is always returned as a string. When the column having
the default actually is a "binary" column, we want the transformation
functions to receive a proper vector of bytes.

This patch adds some hard-coded rules to be smarted about the situation
for columns of type "binary".
2014-11-22 00:04:34 +01:00
Dimitri Fontaine
5b87b1a85e Refactor *identifier-case* option into a dynamic binding.
That makes it much easier to use from about anywhere in the code, which
is what is needed. In passing, fix #129.
2014-11-21 23:32:02 +01:00
Dimitri Fontaine
5b2fb40578 TIL that MS SQL also has a "datetime2" data type.
For real.
2014-11-18 23:25:07 +01:00
Dimitri Fontaine
5d80c8371f In MS SQL, protect all identifiers with square brackets. 2014-11-18 23:24:33 +01:00
Dimitri Fontaine
caed00c234 Travis: install the freetds-dev lib now. 2014-11-17 10:55:14 +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
fff756f95f Refactor the command parser.
Split its content into separate files, so that each is easier to
maintain, and to make it easier also to add support for new sources.
2014-11-16 22:22:04 +01:00
Dimitri Fontaine
c94164c05c Fix MS SQL convertion of money to numeric. 2014-11-16 21:54:13 +01:00
Dimitri Fontaine
87e2e16582 Implement data transfer from SQL Server. 2014-11-10 03:15:22 +01:00
Dimitri Fontaine
e2f6dba107 Force package names to be read in the KEYWORD package. 2014-11-10 01:17:06 +01:00
Dimitri Fontaine
03bba5f486 Some more SQL Server support (schema conversion).
Converting the table definitions (with type casting) seems to work. Also
did experiment a little with actuallt fetching some data... and had to
edit the cl-mssql driver, which is temporarily monkey patched.
2014-11-10 01:16:10 +01:00
Dimitri Fontaine
ca325ba799 Refactor the SQLite source files. 2014-11-09 22:59:30 +01:00
Dimitri Fontaine
5bc5a52582 Some more initial steps towards MS SQL support. 2014-11-09 22:30:02 +01:00
Dimitri Fontaine
6473a892d4 First steps toward MS SQL compatibility. 2014-11-09 00:09:42 +01:00
Dimitri Fontaine
4c87ece82a Add a pgloader.exe binary to the download page! 2014-11-06 23:08:32 +01:00
Dimitri Fontaine
ed853a7bea Allow pgloader to work on windows. 2014-11-06 22:12:20 +01:00
Dimitri Fontaine
3904e9f058 Typo fix. 2014-11-05 16:42:10 +01:00
Dimitri Fontaine
a5e9cb172c Follow-up to the merge, we're not a release branch. 2014-11-05 16:41:19 +01:00
Dimitri Fontaine
fc78c1f623 Update web/download with the new release. 2014-11-05 16:38:24 +01:00
Dimitri Fontaine
8f1fc2a7a6 Release version 3.1.1. 2014-11-05 16:20:14 +01:00
Dimitri Fontaine
9ce323007e Report the summary to *standard-output*.
There's actually no reason to insist on using the *terminal-io*
directly, that is the pty device.
2014-11-04 02:05:19 +01:00
Dimitri Fontaine
da70aaf481 Merge debian bugfix. 2014-11-03 14:15:11 +01:00
Dimitri Fontaine
4916e67a9e Fix --root-dir debian reported bug #767288 2014-11-03 14:08:51 +01:00
Dimitri Fontaine
bb2c7e4e17 Fix MySQL ENUM and SET parsing, fixing #120.
MySQL ENUM syntax is more complex than it first looked, allowing for
escaping and spaces, so use a more complex parser here. Fortunately, the
syntax looks like a CSV row enough that cl-csv can be re-used for that.
2014-10-28 14:56:53 +01:00
Dimitri Fontaine
93990317f3 Rebuild with the new (fixed) dependencies. 2014-10-28 14:56:53 +01:00
Dimitri Fontaine
03b2291332 Rebuild with the new (fixed) dependencies. 2014-10-28 10:51:36 +01:00
Dimitri Fontaine
66f34d823c Merge pull request #121 from 3manuek/master
Fix INSTALL doc
2014-10-26 15:02:37 +01:00
Emanuel
9acc716f69 Update INSTALL.md 2014-10-25 12:40:50 -03:00
Emanuel
29ebdff9f9 Update INSTALL.md
Extending documentation
2014-10-25 11:55:14 -03:00
Emanuel
b7bea28c9b Fix INSTALL doc
Added curl on the apt-get install instructions.
2014-10-25 08:27:16 -03:00