File: Makefile

package info (click to toggle)
pgloader 3.6.10-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 12,060 kB
  • sloc: sql: 32,321; lisp: 14,793; makefile: 435; sh: 85; python: 26
file content (126 lines) | stat: -rw-r--r-- 3,562 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
TMPDIR ?= /tmp
TESTS = $(wildcard *.load)
OUT   = $(TESTS:.load=.out)

REMOTE = archive.load bossa-all.load bossa.load census-places.load dbf-zip.load
LOCAL  = $(filter-out $(REMOTE:.load=.out),$(OUT))
REGRESS= allcols.load 		    \
         csv-before-after.load 	    \
         csv-districts.load 	    \
         csv-parse-date.load 	    \
         csv-error.load 	    \
         csv-escape-mode.load 	    \
         csv-filename-pattern.load  \
         csv-guess.load             \
         csv-header.load            \
         csv-json.load              \
         csv-keep-extra-blanks.load \
         csv-missing-col.load       \
         csv-non-printable.load     \
         csv-nulls.load             \
         csv-temp.load              \
         csv-trim-extra-blanks.load \
         csv-using-sexp.load        \
         csv.load 		    \
	 copy.load                  \
	 copy-hex.load              \
         dbf.load 		    \
         errors.load 		    \
         fixed.load 		    \
         fields-with-periods.load   \
         ixf.load 		    \
         overflow.load 		    \
         partial.load 		    \
         serial.load 		    \
         udc.load 		    \
         xzero.load

# Those are not included in the tests because CCL doesn't have the cp866
# encoding, and then PostgreSQL 9.6 lacks "create schema if not exists".
#
# dbf-memo.load
# dbf-31.load
# dbf-8b.load

PGLOADER ?= ../build/bin/pgloader
PGSUPERUSER ?= postgres
export DBPATH = sqlite/sqlite.db # needed by sqlite-env.load
export SOURCEFILE = data/2013_Gaz_113CDs_national.txt # needed by csv-districts-env.out

EXTRA_OPTS =
ifneq (,$(findstring ccl,$(CL)))
EXTRA_OPTS = --batch --heap-reserve 150g
endif

regress: clean-out $(addprefix regress/out/, $(REGRESS:.load=.out)) ;

clean clean-out:
	rm -f regress/out/*

local: prepare $(LOCAL)

remote: prepare $(REMOTE:.load=.out)

all: prepare $(OUT)

prepare: bossa.sql
	-dropdb -U $(PGSUPERUSER) pgloader
	-dropdb -U $(PGSUPERUSER) stocks
	-dropdb -U $(PGSUPERUSER) ip4r
	-createuser -U $(PGSUPERUSER) --superuser `whoami`
	createdb -U $(PGSUPERUSER) -O `whoami` pgloader
	createdb -U $(PGSUPERUSER) -O `whoami` stocks
	createdb -U $(PGSUPERUSER) -O `whoami` ip4r
	psql -d pgloader -c 'create schema expected'
	psql -U $(PGSUPERUSER) -d pgloader -c 'create extension ip4r'
	psql -U $(PGSUPERUSER) -d ip4r -c 'create extension ip4r'
	psql -d stocks -f bossa.sql

errors.out: errors.load
	-$(PGLOADER) $<
	@echo

nofile.out: nofile.load
	-$(PGLOADER) $<
	@echo

csv-hstore.out: csv-hstore.load
	@echo skipping $@

# sakila needs preparing a MySQL database too
$(TMPDIR)/sakila-db/sakila-schema.sql: data/sakila-db.zip
	rm -rf $(TMPDIR)/sakila-db
	unzip $< -d $(TMPDIR)

sakila: $(TMPDIR)/sakila-db/sakila-schema.sql
	-dropdb -U $(PGSUPERUSER) sakila
	-createdb -U $(PGSUPERUSER) -O `whoami` sakila
	-echo "DROP DATABASE sakila" | mysql -u root
	echo "SOURCE $(TMPDIR)/sakila-db/sakila-schema.sql" | mysql -u root
	echo "SOURCE $(TMPDIR)/sakila-db/sakila-data.sql"   | mysql -u root

sakila.out: sakila sakila.load
	-$(PGLOADER) sakila.load
	@echo

csv-districts-stdin.out: csv-districts-stdin.load
	cat  data/2013_Gaz_113CDs_national.txt | $(PGLOADER) $^

ifneq (,$(findstring ccl,$(CL)))
regress/out/dbf.out: dbf.load
	@echo "Skipping $@, CCL doesn't have CP850 encoding"
	touch $@
else
	$(PGLOADER) $(EXTRA_OPTS) --regress $<
	touch $@
endif

# General case where we do NOT expect any error
%.out: %.load
	$(PGLOADER) $<
	@echo

# Regression tests
regress/out/%.out: %.load
	$(PGLOADER) $(EXTRA_OPTS) --regress $<
	touch $@