Adds cdb_cartodb_server schema
This commit is contained in:
parent
0297214c53
commit
d772033b45
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
|
||||||
|
@ -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();
|
||||||
|
Loading…
Reference in New Issue
Block a user