Adds cdb_cartodb_server schema

This commit is contained in:
Guido Fioravantti 2015-11-06 18:13:57 +01:00
parent 0297214c53
commit d772033b45
7 changed files with 29 additions and 29 deletions

View File

@ -1,7 +1,7 @@
-- Complain if script is sourced in psql, rather than via CREATE EXTENSION -- Complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION cdb_geocoder_server" to load this file. \quit \echo Use "CREATE EXTENSION cdb_geocoder_server" to load this file. \quit
-- Check if a given host is up by performing a ping -c 1 call. -- Check if a given host is up by performing a ping -c 1 call.
CREATE OR REPLACE FUNCTION check_host(hostname TEXT) CREATE OR REPLACE FUNCTION cdb_geocoder_server._check_host(hostname TEXT)
RETURNS BOOLEAN RETURNS BOOLEAN
AS $$ AS $$
import os import os
@ -12,10 +12,26 @@ AS $$
$$ LANGUAGE plpythonu VOLATILE; $$ LANGUAGE plpythonu VOLATILE;
-- Returns current pwd -- Returns current pwd
CREATE OR REPLACE FUNCTION pwd() CREATE OR REPLACE FUNCTION cdb_geocoder_server._pwd()
RETURNS TEXT RETURNS TEXT
AS $$ AS $$
import os import os
return os.getcwd() return os.getcwd()
$$ LANGUAGE plpythonu VOLATILE; $$ LANGUAGE plpythonu VOLATILE;
-- Check if a given host is up by performing a ping -c 1 call.
CREATE OR REPLACE FUNCTION cdb_geocoder_server.geocode_street(searchtext TEXT, state TEXT DEFAULT NULL, country TEXT DEFAULT NULL)
RETURNS Geometry
AS $$
from heremaps import heremapsgeocoder
geocoder = heremapsgeocoder.Geocoder(app_id, app_code)
results = geocoder.geocode_address(searchtext=searchtext, state=state, country=country)
coordinates = geocoder.extract_lng_lat_from_result(results[0])
plan = plpy.prepare("SELECT ST_SetSRID(ST_MakePoint($1, $2), 4326); ", ["double precision", "double precision"])
point = plpy.execute(plan, [coordinates[0], coordinates[1]], 1)[0]
return point['st_setsrid']
$$ LANGUAGE plpythonu VOLATILE;

View File

@ -1,6 +1,6 @@
# cdb geocoder server extension # cdb geocoder server extension
comment = 'CartoDB server geocoder extension' comment = 'CartoDB server geocoder extension'
default_version = '0.0.1' default_version = '0.0.1'
relocatable = true requires = 'plpythonu, schema_triggers, postgis'
requires = cartodb
superuser = true superuser = true
schema = cdb_geocoder_server

View File

@ -2,13 +2,5 @@
CREATE EXTENSION postgis; CREATE EXTENSION postgis;
CREATE EXTENSION schema_triggers; CREATE EXTENSION schema_triggers;
CREATE EXTENSION plpythonu; CREATE EXTENSION plpythonu;
CREATE EXTENSION cartodb;
-- Install the extension -- Install the extension
CREATE EXTENSION cdb_geocoder_server; CREATE EXTENSION cdb_geocoder_server;
-- Mock the varnish invalidation function
CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$
BEGIN
RETURN;
END
$$
LANGUAGE plpgsql;

View File

@ -1,13 +1,13 @@
-- Check that check_host is working -- Check that check_host is working
select check_host('cartodb.com'); select cdb_geocoder_server._check_host('cartodb.com');
check_host _check_host
------------ -------------
t t
(1 row) (1 row)
-- Check that check_pwd is working -- Check that check_pwd is working
select pwd(); select cdb_geocoder_server._pwd();
pwd _pwd
------------------------------ ------------------------------
/var/lib/postgresql/9.3/main /var/lib/postgresql/9.3/main
(1 row) (1 row)

View File

@ -1,5 +1,5 @@
-- Check if a given host is up by performing a ping -c 1 call. -- Check if a given host is up by performing a ping -c 1 call.
CREATE OR REPLACE FUNCTION check_host(hostname TEXT) CREATE OR REPLACE FUNCTION cdb_geocoder_server._check_host(hostname TEXT)
RETURNS BOOLEAN RETURNS BOOLEAN
AS $$ AS $$
import os import os
@ -10,7 +10,7 @@ AS $$
$$ LANGUAGE plpythonu VOLATILE; $$ LANGUAGE plpythonu VOLATILE;
-- Returns current pwd -- Returns current pwd
CREATE OR REPLACE FUNCTION pwd() CREATE OR REPLACE FUNCTION cdb_geocoder_server._pwd()
RETURNS TEXT RETURNS TEXT
AS $$ AS $$
import os import os

View File

@ -2,15 +2,7 @@
CREATE EXTENSION postgis; CREATE EXTENSION postgis;
CREATE EXTENSION schema_triggers; CREATE EXTENSION schema_triggers;
CREATE EXTENSION plpythonu; CREATE EXTENSION plpythonu;
CREATE EXTENSION cartodb;
-- Install the extension -- Install the extension
CREATE EXTENSION cdb_geocoder_server; CREATE EXTENSION cdb_geocoder_server;
-- Mock the varnish invalidation function
CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$
BEGIN
RETURN;
END
$$
LANGUAGE plpgsql;

View File

@ -1,5 +1,5 @@
-- Check that check_host is working -- Check that check_host is working
select check_host('cartodb.com'); select cdb_geocoder_server._check_host('cartodb.com');
-- Check that check_pwd is working -- Check that check_pwd is working
select pwd(); select cdb_geocoder_server._pwd();