summaryrefslogtreecommitdiff
path: root/src/postprocess
diff options
context:
space:
mode:
Diffstat (limited to 'src/postprocess')
-rw-r--r--src/postprocess/merge_entries.c8
-rw-r--r--src/postprocess/postgres.sql15
2 files changed, 13 insertions, 10 deletions
diff --git a/src/postprocess/merge_entries.c b/src/postprocess/merge_entries.c
index f248a3f..0b35fc4 100644
--- a/src/postprocess/merge_entries.c
+++ b/src/postprocess/merge_entries.c
@@ -225,7 +225,7 @@ int main(int argc, char **args) {
225 entry_t * sort_array; 225 entry_t * sort_array;
226 int outoff = 0, lines = COLUMNS; 226 int outoff = 0, lines = COLUMNS;
227 unsigned long current = 0, i, flag; 227 unsigned long current = 0, i, flag;
228 __uint128_t year_list = 0, revflag_list = 0, bizflag_list = 0; 228 __uint128_t year_list = 0, revflag_list = 0, bizflag_list = 0, one = 1;
229 229
230 if (argc != 2) exit(1); 230 if (argc != 2) exit(1);
231 tbuch = map_file(args[1], 1); 231 tbuch = map_file(args[1], 1);
@@ -278,9 +278,9 @@ int main(int argc, char **args) {
278 qsort(sort_array, current, sizeof(entry_t), sort_me); 278 qsort(sort_array, current, sizeof(entry_t), sort_me);
279 279
280 for (i=0; i<current; ++i) { 280 for (i=0; i<current; ++i) {
281 year_list |= 1LL << sort_array[i].year; 281 year_list |= one << sort_array[i].year;
282 if (sort_array[i].flag & 0x80 ) bizflag_list |= 1LL << sort_array[i].year; 282 if (sort_array[i].flag & 0x80 ) bizflag_list |= one << sort_array[i].year;
283 if (sort_array[i].flag & 0x40 ) revflag_list |= 1LL << sort_array[i].year; 283 if (sort_array[i].flag & 0x40 ) revflag_list |= one << sort_array[i].year;
284 284
285 if ((i == current - 1) || compare_entries(sort_array+i, sort_array+i+1)) { 285 if ((i == current - 1) || compare_entries(sort_array+i, sort_array+i+1)) {
286 // printf("%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 "\t", year_list, bizflag_list, revflag_list); 286 // printf("%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 "\t", year_list, bizflag_list, revflag_list);
diff --git a/src/postprocess/postgres.sql b/src/postprocess/postgres.sql
index 3c891d4..ec42a22 100644
--- a/src/postprocess/postgres.sql
+++ b/src/postprocess/postgres.sql
@@ -1,10 +1,16 @@
1\timing on 1\timing on
2 2
3CREATE EXTENSION IF NOT EXISTS pg_trgm;
4CREATE EXTENSION IF NOT EXISTS btree_gin;
5
6-- # Clean up the old ones
7DROP TABLE IF EXISTS Telefonbuch, table_nachname, table_vorname, table_zusaetze, table_strasse, table_hausnummer, table_zip, table_ort, table_verweise, table_vorwahl, table_rufnummer, table_web, table_email;
8
3CREATE TABLE telefonbuch ( 9CREATE TABLE telefonbuch (
4 id SERIAL PRIMARY KEY, 10 id SERIAL PRIMARY KEY,
5 presence_flag bigint, 11 presence_flag int4multirange,
6 reverse_flag bigint, 12 reverse_flag int4multirange,
7 biz_flag bigint, 13 biz_flag int4multirange,
8 zip character varying(64)[] DEFAULT '{}', 14 zip character varying(64)[] DEFAULT '{}',
9 nachname character varying(256)[] DEFAULT '{}', 15 nachname character varying(256)[] DEFAULT '{}',
10 vorname character varying(192)[] DEFAULT '{}', 16 vorname character varying(192)[] DEFAULT '{}',
@@ -22,9 +28,6 @@ CREATE TABLE telefonbuch (
22 28
23COPY Telefonbuch ( presence_flag, reverse_flag, biz_flag, zip, nachname, vorname, zusaetze, strasse, hausnummer, verweise, ort, vorwahl, rufnummer, web, email, coords ) FROM '/Users/erdgeist/Coding/Telefonbuch/work/telefonbuch.txt' WITH NULL AS ''; 29COPY Telefonbuch ( presence_flag, reverse_flag, biz_flag, zip, nachname, vorname, zusaetze, strasse, hausnummer, verweise, ort, vorwahl, rufnummer, web, email, coords ) FROM '/Users/erdgeist/Coding/Telefonbuch/work/telefonbuch.txt' WITH NULL AS '';
24 30
25-- # Clean up the old ones
26DROP TABLE IF EXISTS table_nachname, table_vorname, table_zusaetze, table_strasse, table_hausnummer, table_zip, table_ort, table_verweise, table_vorwahl, table_rufnummer, table_web, table_email;
27
28-- # tables we use for indexing 31-- # tables we use for indexing
29CREATE TABLE table_nachname ( telefonbuch_id integer, offs integer, value text); 32CREATE TABLE table_nachname ( telefonbuch_id integer, offs integer, value text);
30CREATE TABLE table_vorname ( telefonbuch_id integer, offs integer, value text); 33CREATE TABLE table_vorname ( telefonbuch_id integer, offs integer, value text);