From: Nicolas Boisselier Date: Wed, 3 Jan 2018 23:17:35 +0000 (+0000) Subject: share/sql/zipcode.sql X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=bb94ea3c4f9ec3552580fb8d5aff19b0a80f2185;p=nb.git share/sql/zipcode.sql --- diff --git a/lib/postgres/function-show_create_table.sql b/lib/postgres/function-show_create_table.sql new file mode 100644 index 00000000..ccdf3803 --- /dev/null +++ b/lib/postgres/function-show_create_table.sql @@ -0,0 +1,77 @@ +-- CREATE OR REPLACE FUNCTION generate_create_table_statement(p_table_name varchar) +CREATE OR REPLACE FUNCTION show_create_table(p_table_name varchar) + RETURNS text AS +$BODY$ +DECLARE + v_table_ddl text; + column_record record; +BEGIN + FOR column_record IN + SELECT +(SELECT 1 FROM pg_index i WHERE a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey) AND i.indrelid = b.relname::regclass AND i.indisprimary) as pk, + b.nspname as schema_name, + b.relname as table_name, + a.attname as column_name, + pg_catalog.format_type(a.atttypid, a.atttypmod) as column_type, + CASE WHEN + (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128) + FROM pg_catalog.pg_attrdef d + WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) IS NOT NULL THEN + 'DEFAULT '|| (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128) + FROM pg_catalog.pg_attrdef d + WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) + ELSE + '' + END as column_default_value, + CASE WHEN a.attnotnull = true THEN + 'NOT NULL' + ELSE + 'NULL' + END as column_not_null, + a.attnum as attnum, + e.max_attnum as max_attnum + FROM + pg_catalog.pg_attribute a + INNER JOIN + (SELECT c.oid, + n.nspname, + c.relname + FROM pg_catalog.pg_class c + LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE c.relname ~ ('^('||p_table_name||')$') + AND pg_catalog.pg_table_is_visible(c.oid) + ORDER BY 2, 3) b + ON a.attrelid = b.oid + INNER JOIN + (SELECT + a.attrelid, + max(a.attnum) as max_attnum + FROM pg_catalog.pg_attribute a + WHERE a.attnum > 0 + AND NOT a.attisdropped + GROUP BY a.attrelid) e + ON a.attrelid=e.attrelid + WHERE a.attnum > 0 + AND NOT a.attisdropped + ORDER BY a.attnum + LOOP + IF column_record.attnum = 1 THEN + v_table_ddl:='CREATE TABLE '||column_record.schema_name||'.'||column_record.table_name||' ('; + ELSE + v_table_ddl:=v_table_ddl||','; + END IF; + + IF column_record.attnum <= column_record.max_attnum THEN + v_table_ddl:=v_table_ddl||chr(10)|| + ' '||column_record.column_name||' '||column_record.column_type||' '||column_record.column_default_value||' '||column_record.column_not_null; + END IF; + IF column_record.pk = 1 THEN + v_table_ddl:=v_table_ddl||' PRIMARY KEY'; + END IF; + END LOOP; + + v_table_ddl:=v_table_ddl||chr(10)||');'; + RETURN v_table_ddl; +END; +$BODY$ + LANGUAGE 'plpgsql' COST 100.0 SECURITY INVOKER; diff --git a/share/db/nb.db b/share/db/nb.db index 94104ee5..8566e99b 100644 Binary files a/share/db/nb.db and b/share/db/nb.db differ diff --git a/share/db/timezone b/share/db/timezone new file mode 100755 index 00000000..7c1f5155 --- /dev/null +++ b/share/db/timezone @@ -0,0 +1,14 @@ +#!/usr/bin/env perl +use strict; +use warnings; +@ARGV = ('curl -s http://download.geonames.org/export/dump/timeZones.txt |'); + +my $i; +while (<>) { + next unless $i++; + chomp($_); + @_ = (split("\t",$_))[1,2,3,4]; + #push @_,0 if (@_<4); + #$_[1] = join("\t",reverse split('/',$_[1])); + print join ("\t",@_)."\n"; +} diff --git a/share/db/timezone.csv b/share/db/timezone.csv new file mode 100644 index 00000000..29233ba3 --- /dev/null +++ b/share/db/timezone.csv @@ -0,0 +1,424 @@ +Africa/Abidjan 0.0 0.0 0.0 +Africa/Accra 0.0 0.0 0.0 +Africa/Addis_Ababa 3.0 3.0 3.0 +Africa/Algiers 1.0 1.0 1.0 +Africa/Asmara 3.0 3.0 3.0 +Africa/Bamako 0.0 0.0 0.0 +Africa/Bangui 1.0 1.0 1.0 +Africa/Banjul 0.0 0.0 0.0 +Africa/Bissau 0.0 0.0 0.0 +Africa/Blantyre 2.0 2.0 2.0 +Africa/Brazzaville 1.0 1.0 1.0 +Africa/Bujumbura 2.0 2.0 2.0 +Africa/Cairo 2.0 2.0 2.0 +Africa/Casablanca 0.0 1.0 0.0 +Africa/Ceuta 1.0 2.0 1.0 +Africa/Conakry 0.0 0.0 0.0 +Africa/Dakar 0.0 0.0 0.0 +Africa/Dar_es_Salaam 3.0 3.0 3.0 +Africa/Djibouti 3.0 3.0 3.0 +Africa/Douala 1.0 1.0 1.0 +Africa/El_Aaiun 0.0 1.0 0.0 +Africa/Freetown 0.0 0.0 0.0 +Africa/Gaborone 2.0 2.0 2.0 +Africa/Harare 2.0 2.0 2.0 +Africa/Johannesburg 2.0 2.0 2.0 +Africa/Juba 3.0 3.0 3.0 +Africa/Kampala 3.0 3.0 3.0 +Africa/Khartoum 3.0 3.0 3.0 +Africa/Kigali 2.0 2.0 2.0 +Africa/Kinshasa 1.0 1.0 1.0 +Africa/Lagos 1.0 1.0 1.0 +Africa/Libreville 1.0 1.0 1.0 +Africa/Lome 0.0 0.0 0.0 +Africa/Luanda 1.0 1.0 1.0 +Africa/Lubumbashi 2.0 2.0 2.0 +Africa/Lusaka 2.0 2.0 2.0 +Africa/Malabo 1.0 1.0 1.0 +Africa/Maputo 2.0 2.0 2.0 +Africa/Maseru 2.0 2.0 2.0 +Africa/Mbabane 2.0 2.0 2.0 +Africa/Mogadishu 3.0 3.0 3.0 +Africa/Monrovia 0.0 0.0 0.0 +Africa/Nairobi 3.0 3.0 3.0 +Africa/Ndjamena 1.0 1.0 1.0 +Africa/Niamey 1.0 1.0 1.0 +Africa/Nouakchott 0.0 0.0 0.0 +Africa/Ouagadougou 0.0 0.0 0.0 +Africa/Porto-Novo 1.0 1.0 1.0 +Africa/Sao_Tome 0.0 0.0 0.0 +Africa/Tripoli 2.0 2.0 2.0 +Africa/Tunis 1.0 1.0 1.0 +Africa/Windhoek 2.0 1.0 1.0 +America/Adak -10.0 -9.0 -10.0 +America/Anchorage -9.0 -8.0 -9.0 +America/Anguilla -4.0 -4.0 -4.0 +America/Antigua -4.0 -4.0 -4.0 +America/Araguaina -3.0 -3.0 -3.0 +America/Argentina/Buenos_Aires -3.0 -3.0 -3.0 +America/Argentina/Catamarca -3.0 -3.0 -3.0 +America/Argentina/Cordoba -3.0 -3.0 -3.0 +America/Argentina/Jujuy -3.0 -3.0 -3.0 +America/Argentina/La_Rioja -3.0 -3.0 -3.0 +America/Argentina/Mendoza -3.0 -3.0 -3.0 +America/Argentina/Rio_Gallegos -3.0 -3.0 -3.0 +America/Argentina/Salta -3.0 -3.0 -3.0 +America/Argentina/San_Juan -3.0 -3.0 -3.0 +America/Argentina/San_Luis -3.0 -3.0 -3.0 +America/Argentina/Tucuman -3.0 -3.0 -3.0 +America/Argentina/Ushuaia -3.0 -3.0 -3.0 +America/Aruba -4.0 -4.0 -4.0 +America/Asuncion -3.0 -4.0 -4.0 +America/Atikokan -5.0 -5.0 -5.0 +America/Bahia -3.0 -3.0 -3.0 +America/Bahia_Banderas -6.0 -5.0 -6.0 +America/Barbados -4.0 -4.0 -4.0 +America/Belem -3.0 -3.0 -3.0 +America/Belize -6.0 -6.0 -6.0 +America/Blanc-Sablon -4.0 -4.0 -4.0 +America/Boa_Vista -4.0 -4.0 -4.0 +America/Bogota -5.0 -5.0 -5.0 +America/Boise -7.0 -6.0 -7.0 +America/Cambridge_Bay -7.0 -6.0 -7.0 +America/Campo_Grande -3.0 -4.0 -4.0 +America/Cancun -5.0 -5.0 -5.0 +America/Caracas -4.0 -4.0 -4.0 +America/Cayenne -3.0 -3.0 -3.0 +America/Cayman -5.0 -5.0 -5.0 +America/Chicago -6.0 -5.0 -6.0 +America/Chihuahua -7.0 -6.0 -7.0 +America/Costa_Rica -6.0 -6.0 -6.0 +America/Creston -7.0 -7.0 -7.0 +America/Cuiaba -3.0 -4.0 -4.0 +America/Curacao -4.0 -4.0 -4.0 +America/Danmarkshavn 0.0 0.0 0.0 +America/Dawson -8.0 -7.0 -8.0 +America/Dawson_Creek -7.0 -7.0 -7.0 +America/Denver -7.0 -6.0 -7.0 +America/Detroit -5.0 -4.0 -5.0 +America/Dominica -4.0 -4.0 -4.0 +America/Edmonton -7.0 -6.0 -7.0 +America/Eirunepe -5.0 -5.0 -5.0 +America/El_Salvador -6.0 -6.0 -6.0 +America/Fort_Nelson -7.0 -7.0 -7.0 +America/Fortaleza -3.0 -3.0 -3.0 +America/Glace_Bay -4.0 -3.0 -4.0 +America/Godthab -3.0 -2.0 -3.0 +America/Goose_Bay -4.0 -3.0 -4.0 +America/Grand_Turk -4.0 -4.0 -4.0 +America/Grenada -4.0 -4.0 -4.0 +America/Guadeloupe -4.0 -4.0 -4.0 +America/Guatemala -6.0 -6.0 -6.0 +America/Guayaquil -5.0 -5.0 -5.0 +America/Guyana -4.0 -4.0 -4.0 +America/Halifax -4.0 -3.0 -4.0 +America/Havana -5.0 -4.0 -5.0 +America/Hermosillo -7.0 -7.0 -7.0 +America/Indiana/Indianapolis -5.0 -4.0 -5.0 +America/Indiana/Knox -6.0 -5.0 -6.0 +America/Indiana/Marengo -5.0 -4.0 -5.0 +America/Indiana/Petersburg -5.0 -4.0 -5.0 +America/Indiana/Tell_City -6.0 -5.0 -6.0 +America/Indiana/Vevay -5.0 -4.0 -5.0 +America/Indiana/Vincennes -5.0 -4.0 -5.0 +America/Indiana/Winamac -5.0 -4.0 -5.0 +America/Inuvik -7.0 -6.0 -7.0 +America/Iqaluit -5.0 -4.0 -5.0 +America/Jamaica -5.0 -5.0 -5.0 +America/Juneau -9.0 -8.0 -9.0 +America/Kentucky/Louisville -5.0 -4.0 -5.0 +America/Kentucky/Monticello -5.0 -4.0 -5.0 +America/Kralendijk -4.0 -4.0 -4.0 +America/La_Paz -4.0 -4.0 -4.0 +America/Lima -5.0 -5.0 -5.0 +America/Los_Angeles -8.0 -7.0 -8.0 +America/Lower_Princes -4.0 -4.0 -4.0 +America/Maceio -3.0 -3.0 -3.0 +America/Managua -6.0 -6.0 -6.0 +America/Manaus -4.0 -4.0 -4.0 +America/Marigot -4.0 -4.0 -4.0 +America/Martinique -4.0 -4.0 -4.0 +America/Matamoros -6.0 -5.0 -6.0 +America/Mazatlan -7.0 -6.0 -7.0 +America/Menominee -6.0 -5.0 -6.0 +America/Merida -6.0 -5.0 -6.0 +America/Metlakatla -9.0 -8.0 -9.0 +America/Mexico_City -6.0 -5.0 -6.0 +America/Miquelon -3.0 -2.0 -3.0 +America/Moncton -4.0 -3.0 -4.0 +America/Monterrey -6.0 -5.0 -6.0 +America/Montevideo -3.0 -3.0 -3.0 +America/Montserrat -4.0 -4.0 -4.0 +America/Nassau -5.0 -4.0 -5.0 +America/New_York -5.0 -4.0 -5.0 +America/Nipigon -5.0 -4.0 -5.0 +America/Nome -9.0 -8.0 -9.0 +America/Noronha -2.0 -2.0 -2.0 +America/North_Dakota/Beulah -6.0 -5.0 -6.0 +America/North_Dakota/Center -6.0 -5.0 -6.0 +America/North_Dakota/New_Salem -6.0 -5.0 -6.0 +America/Ojinaga -7.0 -6.0 -7.0 +America/Panama -5.0 -5.0 -5.0 +America/Pangnirtung -5.0 -4.0 -5.0 +America/Paramaribo -3.0 -3.0 -3.0 +America/Phoenix -7.0 -7.0 -7.0 +America/Port-au-Prince -5.0 -4.0 -5.0 +America/Port_of_Spain -4.0 -4.0 -4.0 +America/Porto_Velho -4.0 -4.0 -4.0 +America/Puerto_Rico -4.0 -4.0 -4.0 +America/Punta_Arenas -3.0 -3.0 -3.0 +America/Rainy_River -6.0 -5.0 -6.0 +America/Rankin_Inlet -6.0 -5.0 -6.0 +America/Recife -3.0 -3.0 -3.0 +America/Regina -6.0 -6.0 -6.0 +America/Resolute -6.0 -5.0 -6.0 +America/Rio_Branco -5.0 -5.0 -5.0 +America/Santarem -3.0 -3.0 -3.0 +America/Santiago -3.0 -4.0 -4.0 +America/Santo_Domingo -4.0 -4.0 -4.0 +America/Sao_Paulo -2.0 -3.0 -3.0 +America/Scoresbysund -1.0 0.0 -1.0 +America/Sitka -9.0 -8.0 -9.0 +America/St_Barthelemy -4.0 -4.0 -4.0 +America/St_Johns -3.5 -2.5 -3.5 +America/St_Kitts -4.0 -4.0 -4.0 +America/St_Lucia -4.0 -4.0 -4.0 +America/St_Thomas -4.0 -4.0 -4.0 +America/St_Vincent -4.0 -4.0 -4.0 +America/Swift_Current -6.0 -6.0 -6.0 +America/Tegucigalpa -6.0 -6.0 -6.0 +America/Thule -4.0 -3.0 -4.0 +America/Thunder_Bay -5.0 -4.0 -5.0 +America/Tijuana -8.0 -7.0 -8.0 +America/Toronto -5.0 -4.0 -5.0 +America/Tortola -4.0 -4.0 -4.0 +America/Vancouver -8.0 -7.0 -8.0 +America/Whitehorse -8.0 -7.0 -8.0 +America/Winnipeg -6.0 -5.0 -6.0 +America/Yakutat -9.0 -8.0 -9.0 +America/Yellowknife -7.0 -6.0 -7.0 +Antarctica/Casey 11.0 11.0 11.0 +Antarctica/Davis 7.0 7.0 7.0 +Antarctica/DumontDUrville 10.0 10.0 10.0 +Antarctica/Macquarie 11.0 11.0 11.0 +Antarctica/Mawson 5.0 5.0 5.0 +Antarctica/McMurdo 13.0 12.0 12.0 +Antarctica/Palmer -3.0 -3.0 -3.0 +Antarctica/Rothera -3.0 -3.0 -3.0 +Antarctica/Syowa 3.0 3.0 3.0 +Antarctica/Troll 0.0 2.0 0.0 +Antarctica/Vostok 6.0 6.0 6.0 +Arctic/Longyearbyen 1.0 2.0 1.0 +Asia/Aden 3.0 3.0 3.0 +Asia/Almaty 6.0 6.0 6.0 +Asia/Amman 2.0 3.0 2.0 +Asia/Anadyr 12.0 12.0 12.0 +Asia/Aqtau 5.0 5.0 5.0 +Asia/Aqtobe 5.0 5.0 5.0 +Asia/Ashgabat 5.0 5.0 5.0 +Asia/Atyrau 5.0 5.0 5.0 +Asia/Baghdad 3.0 3.0 3.0 +Asia/Bahrain 3.0 3.0 3.0 +Asia/Baku 4.0 4.0 4.0 +Asia/Bangkok 7.0 7.0 7.0 +Asia/Barnaul 7.0 7.0 7.0 +Asia/Beirut 2.0 3.0 2.0 +Asia/Bishkek 6.0 6.0 6.0 +Asia/Brunei 8.0 8.0 8.0 +Asia/Chita 9.0 9.0 9.0 +Asia/Choibalsan 8.0 8.0 8.0 +Asia/Colombo 5.5 5.5 5.5 +Asia/Damascus 2.0 3.0 2.0 +Asia/Dhaka 6.0 6.0 6.0 +Asia/Dili 9.0 9.0 9.0 +Asia/Dubai 4.0 4.0 4.0 +Asia/Dushanbe 5.0 5.0 5.0 +Asia/Famagusta 3.0 3.0 3.0 +Asia/Gaza 2.0 3.0 2.0 +Asia/Hebron 2.0 3.0 2.0 +Asia/Ho_Chi_Minh 7.0 7.0 7.0 +Asia/Hong_Kong 8.0 8.0 8.0 +Asia/Hovd 7.0 7.0 7.0 +Asia/Irkutsk 8.0 8.0 8.0 +Asia/Jakarta 7.0 7.0 7.0 +Asia/Jayapura 9.0 9.0 9.0 +Asia/Jerusalem 2.0 3.0 2.0 +Asia/Kabul 4.5 4.5 4.5 +Asia/Kamchatka 12.0 12.0 12.0 +Asia/Karachi 5.0 5.0 5.0 +Asia/Kathmandu 5.75 5.75 5.75 +Asia/Khandyga 9.0 9.0 9.0 +Asia/Kolkata 5.5 5.5 5.5 +Asia/Krasnoyarsk 7.0 7.0 7.0 +Asia/Kuala_Lumpur 8.0 8.0 8.0 +Asia/Kuching 8.0 8.0 8.0 +Asia/Kuwait 3.0 3.0 3.0 +Asia/Macau 8.0 8.0 8.0 +Asia/Magadan 11.0 11.0 11.0 +Asia/Makassar 8.0 8.0 8.0 +Asia/Manila 8.0 8.0 8.0 +Asia/Muscat 4.0 4.0 4.0 +Asia/Nicosia 2.0 3.0 2.0 +Asia/Novokuznetsk 7.0 7.0 7.0 +Asia/Novosibirsk 7.0 7.0 7.0 +Asia/Omsk 6.0 6.0 6.0 +Asia/Oral 5.0 5.0 5.0 +Asia/Phnom_Penh 7.0 7.0 7.0 +Asia/Pontianak 7.0 7.0 7.0 +Asia/Pyongyang 8.5 8.5 8.5 +Asia/Qatar 3.0 3.0 3.0 +Asia/Qyzylorda 6.0 6.0 6.0 +Asia/Riyadh 3.0 3.0 3.0 +Asia/Sakhalin 11.0 11.0 11.0 +Asia/Samarkand 5.0 5.0 5.0 +Asia/Seoul 9.0 9.0 9.0 +Asia/Shanghai 8.0 8.0 8.0 +Asia/Singapore 8.0 8.0 8.0 +Asia/Srednekolymsk 11.0 11.0 11.0 +Asia/Taipei 8.0 8.0 8.0 +Asia/Tashkent 5.0 5.0 5.0 +Asia/Tbilisi 4.0 4.0 4.0 +Asia/Tehran 3.5 4.5 3.5 +Asia/Thimphu 6.0 6.0 6.0 +Asia/Tokyo 9.0 9.0 9.0 +Asia/Tomsk 7.0 7.0 7.0 +Asia/Ulaanbaatar 8.0 8.0 8.0 +Asia/Urumqi 6.0 6.0 6.0 +Asia/Ust-Nera 10.0 10.0 10.0 +Asia/Vientiane 7.0 7.0 7.0 +Asia/Vladivostok 10.0 10.0 10.0 +Asia/Yakutsk 9.0 9.0 9.0 +Asia/Yangon 6.5 6.5 6.5 +Asia/Yekaterinburg 5.0 5.0 5.0 +Asia/Yerevan 4.0 4.0 4.0 +Atlantic/Azores -1.0 0.0 -1.0 +Atlantic/Bermuda -4.0 -3.0 -4.0 +Atlantic/Canary 0.0 1.0 0.0 +Atlantic/Cape_Verde -1.0 -1.0 -1.0 +Atlantic/Faroe 0.0 1.0 0.0 +Atlantic/Madeira 0.0 1.0 0.0 +Atlantic/Reykjavik 0.0 0.0 0.0 +Atlantic/South_Georgia -2.0 -2.0 -2.0 +Atlantic/St_Helena 0.0 0.0 0.0 +Atlantic/Stanley -3.0 -3.0 -3.0 +Australia/Adelaide 10.5 9.5 9.5 +Australia/Brisbane 10.0 10.0 10.0 +Australia/Broken_Hill 10.5 9.5 9.5 +Australia/Currie 11.0 10.0 10.0 +Australia/Darwin 9.5 9.5 9.5 +Australia/Eucla 8.75 8.75 8.75 +Australia/Hobart 11.0 10.0 10.0 +Australia/Lindeman 10.0 10.0 10.0 +Australia/Lord_Howe 11.0 10.5 10.5 +Australia/Melbourne 11.0 10.0 10.0 +Australia/Perth 8.0 8.0 8.0 +Australia/Sydney 11.0 10.0 10.0 +Europe/Amsterdam 1.0 2.0 1.0 +Europe/Andorra 1.0 2.0 1.0 +Europe/Astrakhan 4.0 4.0 4.0 +Europe/Athens 2.0 3.0 2.0 +Europe/Belgrade 1.0 2.0 1.0 +Europe/Berlin 1.0 2.0 1.0 +Europe/Bratislava 1.0 2.0 1.0 +Europe/Brussels 1.0 2.0 1.0 +Europe/Bucharest 2.0 3.0 2.0 +Europe/Budapest 1.0 2.0 1.0 +Europe/Busingen 1.0 2.0 1.0 +Europe/Chisinau 2.0 3.0 2.0 +Europe/Copenhagen 1.0 2.0 1.0 +Europe/Dublin 0.0 1.0 0.0 +Europe/Gibraltar 1.0 2.0 1.0 +Europe/Guernsey 0.0 1.0 0.0 +Europe/Helsinki 2.0 3.0 2.0 +Europe/Isle_of_Man 0.0 1.0 0.0 +Europe/Istanbul 3.0 3.0 3.0 +Europe/Jersey 0.0 1.0 0.0 +Europe/Kaliningrad 2.0 2.0 2.0 +Europe/Kiev 2.0 3.0 2.0 +Europe/Kirov 3.0 3.0 3.0 +Europe/Lisbon 0.0 1.0 0.0 +Europe/Ljubljana 1.0 2.0 1.0 +Europe/London 0.0 1.0 0.0 +Europe/Luxembourg 1.0 2.0 1.0 +Europe/Madrid 1.0 2.0 1.0 +Europe/Malta 1.0 2.0 1.0 +Europe/Mariehamn 2.0 3.0 2.0 +Europe/Minsk 3.0 3.0 3.0 +Europe/Monaco 1.0 2.0 1.0 +Europe/Moscow 3.0 3.0 3.0 +Europe/Oslo 1.0 2.0 1.0 +Europe/Paris 1.0 2.0 1.0 +Europe/Podgorica 1.0 2.0 1.0 +Europe/Prague 1.0 2.0 1.0 +Europe/Riga 2.0 3.0 2.0 +Europe/Rome 1.0 2.0 1.0 +Europe/Samara 4.0 4.0 4.0 +Europe/San_Marino 1.0 2.0 1.0 +Europe/Sarajevo 1.0 2.0 1.0 +Europe/Saratov 4.0 4.0 4.0 +Europe/Simferopol 3.0 3.0 3.0 +Europe/Skopje 1.0 2.0 1.0 +Europe/Sofia 2.0 3.0 2.0 +Europe/Stockholm 1.0 2.0 1.0 +Europe/Tallinn 2.0 3.0 2.0 +Europe/Tirane 1.0 2.0 1.0 +Europe/Ulyanovsk 4.0 4.0 4.0 +Europe/Uzhgorod 2.0 3.0 2.0 +Europe/Vaduz 1.0 2.0 1.0 +Europe/Vatican 1.0 2.0 1.0 +Europe/Vienna 1.0 2.0 1.0 +Europe/Vilnius 2.0 3.0 2.0 +Europe/Volgograd 3.0 3.0 3.0 +Europe/Warsaw 1.0 2.0 1.0 +Europe/Zagreb 1.0 2.0 1.0 +Europe/Zaporozhye 2.0 3.0 2.0 +Europe/Zurich 1.0 2.0 1.0 +Indian/Antananarivo 3.0 3.0 3.0 +Indian/Chagos 6.0 6.0 6.0 +Indian/Christmas 7.0 7.0 7.0 +Indian/Cocos 6.5 6.5 6.5 +Indian/Comoro 3.0 3.0 3.0 +Indian/Kerguelen 5.0 5.0 5.0 +Indian/Mahe 4.0 4.0 4.0 +Indian/Maldives 5.0 5.0 5.0 +Indian/Mauritius 4.0 4.0 4.0 +Indian/Mayotte 3.0 3.0 3.0 +Indian/Reunion 4.0 4.0 4.0 +Pacific/Apia 14.0 13.0 13.0 +Pacific/Auckland 13.0 12.0 12.0 +Pacific/Bougainville 11.0 11.0 11.0 +Pacific/Chatham 13.75 12.75 12.75 +Pacific/Chuuk 10.0 10.0 10.0 +Pacific/Easter -5.0 -6.0 -6.0 +Pacific/Efate 11.0 11.0 11.0 +Pacific/Enderbury 13.0 13.0 13.0 +Pacific/Fakaofo 13.0 13.0 13.0 +Pacific/Fiji 13.0 12.0 12.0 +Pacific/Funafuti 12.0 12.0 12.0 +Pacific/Galapagos -6.0 -6.0 -6.0 +Pacific/Gambier -9.0 -9.0 -9.0 +Pacific/Guadalcanal 11.0 11.0 11.0 +Pacific/Guam 10.0 10.0 10.0 +Pacific/Honolulu -10.0 -10.0 -10.0 +Pacific/Kiritimati 14.0 14.0 14.0 +Pacific/Kosrae 11.0 11.0 11.0 +Pacific/Kwajalein 12.0 12.0 12.0 +Pacific/Majuro 12.0 12.0 12.0 +Pacific/Marquesas -9.5 -9.5 -9.5 +Pacific/Midway -11.0 -11.0 -11.0 +Pacific/Nauru 12.0 12.0 12.0 +Pacific/Niue -11.0 -11.0 -11.0 +Pacific/Norfolk 11.0 11.0 11.0 +Pacific/Noumea 11.0 11.0 11.0 +Pacific/Pago_Pago -11.0 -11.0 -11.0 +Pacific/Palau 9.0 9.0 9.0 +Pacific/Pitcairn -8.0 -8.0 -8.0 +Pacific/Pohnpei 11.0 11.0 11.0 +Pacific/Port_Moresby 10.0 10.0 10.0 +Pacific/Rarotonga -10.0 -10.0 -10.0 +Pacific/Saipan 10.0 10.0 10.0 +Pacific/Tahiti -10.0 -10.0 -10.0 +Pacific/Tarawa 12.0 12.0 12.0 +Pacific/Tongatapu 14.0 13.0 13.0 +Pacific/Wake 12.0 12.0 12.0 +Pacific/Wallis 12.0 12.0 12.0 diff --git a/share/db/timezone.sql b/share/db/timezone.sql new file mode 100644 index 00000000..0664ab5d --- /dev/null +++ b/share/db/timezone.sql @@ -0,0 +1,13 @@ +DROP TABLE IF EXISTS timezone; +CREATE TABLE IF NOT EXISTS timezone ( + id varchar(2) PRIMARY KEY, + -- capital varchar(300), + -- continent varchar(300), + gmt float(1,1), + dst float(1,1), + raw float(1,1) +); +BEGIN TRANSACTION; +.separator \t +.import "timezone.csv" timezone +COMMIT; diff --git a/share/db/zipcode b/share/db/zipcode new file mode 100755 index 00000000..c9ce2559 --- /dev/null +++ b/share/db/zipcode @@ -0,0 +1,12 @@ +#!/usr/bin/env perl +use strict; +use warnings; +#exec('curl -s http://download.geonames.org/export/zip/allCountries.zip | zcat'); +#exit; +@ARGV = ('curl -s http://download.geonames.org/export/zip/allCountries.zip | zcat |'); + +while (<>) { + chomp($_); + @_ = split("\t",$_); + print join ("\t",@_)."\n"; +} diff --git a/share/postgres/postgres-create-functions.sql b/share/postgres/postgres-create-functions.sql deleted file mode 100644 index ccdf3803..00000000 --- a/share/postgres/postgres-create-functions.sql +++ /dev/null @@ -1,77 +0,0 @@ --- CREATE OR REPLACE FUNCTION generate_create_table_statement(p_table_name varchar) -CREATE OR REPLACE FUNCTION show_create_table(p_table_name varchar) - RETURNS text AS -$BODY$ -DECLARE - v_table_ddl text; - column_record record; -BEGIN - FOR column_record IN - SELECT -(SELECT 1 FROM pg_index i WHERE a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey) AND i.indrelid = b.relname::regclass AND i.indisprimary) as pk, - b.nspname as schema_name, - b.relname as table_name, - a.attname as column_name, - pg_catalog.format_type(a.atttypid, a.atttypmod) as column_type, - CASE WHEN - (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128) - FROM pg_catalog.pg_attrdef d - WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) IS NOT NULL THEN - 'DEFAULT '|| (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128) - FROM pg_catalog.pg_attrdef d - WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) - ELSE - '' - END as column_default_value, - CASE WHEN a.attnotnull = true THEN - 'NOT NULL' - ELSE - 'NULL' - END as column_not_null, - a.attnum as attnum, - e.max_attnum as max_attnum - FROM - pg_catalog.pg_attribute a - INNER JOIN - (SELECT c.oid, - n.nspname, - c.relname - FROM pg_catalog.pg_class c - LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace - WHERE c.relname ~ ('^('||p_table_name||')$') - AND pg_catalog.pg_table_is_visible(c.oid) - ORDER BY 2, 3) b - ON a.attrelid = b.oid - INNER JOIN - (SELECT - a.attrelid, - max(a.attnum) as max_attnum - FROM pg_catalog.pg_attribute a - WHERE a.attnum > 0 - AND NOT a.attisdropped - GROUP BY a.attrelid) e - ON a.attrelid=e.attrelid - WHERE a.attnum > 0 - AND NOT a.attisdropped - ORDER BY a.attnum - LOOP - IF column_record.attnum = 1 THEN - v_table_ddl:='CREATE TABLE '||column_record.schema_name||'.'||column_record.table_name||' ('; - ELSE - v_table_ddl:=v_table_ddl||','; - END IF; - - IF column_record.attnum <= column_record.max_attnum THEN - v_table_ddl:=v_table_ddl||chr(10)|| - ' '||column_record.column_name||' '||column_record.column_type||' '||column_record.column_default_value||' '||column_record.column_not_null; - END IF; - IF column_record.pk = 1 THEN - v_table_ddl:=v_table_ddl||' PRIMARY KEY'; - END IF; - END LOOP; - - v_table_ddl:=v_table_ddl||chr(10)||');'; - RETURN v_table_ddl; -END; -$BODY$ - LANGUAGE 'plpgsql' COST 100.0 SECURITY INVOKER; diff --git a/www/dbq/html/default.min.js b/www/dbq/html/default.min.js index 7e4029a3..775b64ae 100644 --- a/www/dbq/html/default.min.js +++ b/www/dbq/html/default.min.js @@ -1 +1 @@ -function form_clean(e){var t;for(i=0;i'+document.querySelector(".nav.bottom").innerHTML+""),document.querySelectorAll("table").forEach(function(e){parseInt(e.offsetWidth)>parseInt(window.innerWidth)&&(e.className=e.className.replace(/(^| +)fixed($| )/,"")+" fixed",e.className=e.className.trim())}),window._dbq.perm'+(window._dbq.perm>=window._dbq.perms.write?' ':""))}),document.querySelector("th.delete")){var e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=document.querySelector("th.delete").innerHTML,document.querySelector("th.delete").innerHTML="",e.onclick=function(){var e=document.querySelectorAll("form.rm");for(document.querySelector(".rows").className="loader",j=0;j'+document.querySelector(".nav.bottom").innerHTML+""),document.querySelectorAll("table").forEach(function(e){parseInt(e.offsetWidth)>parseInt(window.innerWidth)&&(e.className=e.className.replace(/(^| +)fixed($| )/,"")+" fixed",e.className=e.className.trim())}),window._dbq.perm'+(window._dbq.perm>=window._dbq.perms.write?' ':""))}),document.querySelector("th.delete")){var e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=document.querySelector("th.delete").innerHTML,document.querySelector("th.delete").innerHTML="",e.onclick=function(){var e=document.querySelectorAll("form.rm");for((document.querySelector(".rows")?document.querySelector(".rows"):"").className="loader",j=0;j