pgloader/src
Dimitri Fontaine 5e18cfd7d4 Implement support for partial indexes.
MS SQL has a notion of a "filtered index" that matches the notion of a
PostgreSQL partial index: the index only applies to the rows matching
the index WHERE clause, or filter.

The WHERE clause in both case are limited to simple expressions over a
base table's row at a time, so we implement a limited WHERE clause
parser for MS SQL filters and a transformation routine to rewrite the
clause in PostgreSQL slang.

In passing, we transform the filter constants using the same
transformation functions as in the CAST rules, so that e.g. a MS SQL
bit(1) value that got transformed into a PostgreSQL boolean is properly
translated, as in the following example:

  MS SQL:     "([deleted]=(0))"  (that's from the catalogs)
  PostgreSQL: deleted = 'f'

Of course the parser is still very badly tested, let's see what happens
in the wild now.

(Should) Fix #365.
2016-03-21 23:39:45 +01:00
..
monkey Fix MS SQL text values processing. 2016-03-20 20:15:02 +01:00
parsers Assorted fixes to MS SQL support. 2016-03-16 21:43:04 +01:00
pgsql Implement support for partial indexes. 2016-03-21 23:39:45 +01:00
sources Implement support for partial indexes. 2016-03-21 23:39:45 +01:00
utils Improve support for MS SQL multicolumn indexes. 2016-03-18 11:01:06 +01:00
getenv.lisp Clozure already provides a getenv function. 2015-11-08 18:26:58 +01:00
hooks.lisp Leave ssl lib alone in src/hooks.lisp. 2016-03-05 22:45:59 +01:00
main.lisp Implement --on-error-stop command line option. 2016-03-21 20:52:50 +01:00
package.lisp Implement support for partial indexes. 2016-03-21 23:39:45 +01:00
params.lisp Implement --on-error-stop command line option. 2016-03-21 20:52:50 +01:00