From 8434a830b27c9df639b7058092dbe6a8228bc469 Mon Sep 17 00:00:00 2001 From: Mario de Frutos Date: Tue, 24 Nov 2015 10:14:34 +0100 Subject: [PATCH] Changed server geocode ip address signature to match client --- server/extension/expected/70_ips_test.out | 14 +++++++------- server/extension/sql/0.0.1/70_ips.sql | 10 +++++----- server/extension/sql/70_ips_test.sql | 8 ++++---- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/server/extension/expected/70_ips_test.out b/server/extension/expected/70_ips_test.out index bc9bbb5..9dd9f81 100644 --- a/server/extension/expected/70_ips_test.out +++ b/server/extension/expected/70_ips_test.out @@ -1,16 +1,16 @@ -- Check that the public function is callable, even with no data -- It should return NULL -SELECT cdb_geocoder_server.geocode_ip_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); - geocode_ip_point ------------------- +SELECT cdb_geocoder_server.geocode_ipaddress_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); + geocode_ipaddress_point +------------------------- (1 row) -- Insert dummy data into ip_address_locations INSERT INTO ip_address_locations VALUES ('::ffff:0.0.0.0'::inet, (ST_SetSRID(ST_MakePoint('40.40', '3.71'), 4326))); -- This should return the polygon inserted above -SELECT cdb_geocoder_server.geocode_ip_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); - geocode_ip_point +SELECT cdb_geocoder_server.geocode_ipaddress_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); + geocode_ipaddress_point ---------------------------------------------------- 0101000020E61000003333333333334440AE47E17A14AE0D40 (1 row) @@ -20,7 +20,7 @@ SELECT exists(SELECT * FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid) WHERE ns.nspname = 'cdb_geocoder_server' - AND proname = 'geocode_ip_point' + AND proname = 'geocode_ipaddress_point' AND oidvectortypes(p.proargtypes) = 'name, json, json, text'); exists -------- @@ -31,7 +31,7 @@ SELECT exists(SELECT * FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid) WHERE ns.nspname = 'cdb_geocoder_server' - AND proname = '_geocode_ip_point' + AND proname = '_geocode_ipaddress_point' AND oidvectortypes(p.proargtypes) = 'text'); exists -------- diff --git a/server/extension/sql/0.0.1/70_ips.sql b/server/extension/sql/0.0.1/70_ips.sql index 0e8cf5d..1aab6ed 100644 --- a/server/extension/sql/0.0.1/70_ips.sql +++ b/server/extension/sql/0.0.1/70_ips.sql @@ -1,8 +1,8 @@ -- Interface of the server extension -CREATE OR REPLACE FUNCTION geocode_ip_point(user_id name, user_config json, geocoder_config json, ip text) +CREATE OR REPLACE FUNCTION geocode_ipaddress_point(user_id name, user_config json, geocoder_config json, ip text) RETURNS Geometry AS $$ - plpy.debug('Entering _geocode_ip_point') + plpy.debug('Entering _geocode_ipaddress_point') plpy.debug('user_id = %s' % user_id) #-- Access control @@ -14,10 +14,10 @@ RETURNS Geometry AS $$ #--TODO: quota check #-- Copied from the doc, see http://www.postgresql.org/docs/9.4/static/plpython-database.html - plan = plpy.prepare("SELECT cdb_geocoder_server._geocode_ip_point($1) AS point", ["TEXT"]) + plan = plpy.prepare("SELECT cdb_geocoder_server._geocode_ipaddress_point($1) AS point", ["TEXT"]) rv = plpy.execute(plan, [ip], 1) - plpy.debug('Returning from _geocode_ip_point') + plpy.debug('Returning from _geocode_ipaddress_point') return rv[0]["point"] $$ LANGUAGE plpythonu; @@ -26,7 +26,7 @@ $$ LANGUAGE plpythonu; -- Implementation of the server extension -- Note: these functions depend on the cdb_geocoder extension -CREATE OR REPLACE FUNCTION _geocode_ip_point(ip text) +CREATE OR REPLACE FUNCTION _geocode_ipaddress_point(ip text) RETURNS Geometry AS $$ DECLARE ret Geometry; diff --git a/server/extension/sql/70_ips_test.sql b/server/extension/sql/70_ips_test.sql index 73989a9..cc7d09b 100644 --- a/server/extension/sql/70_ips_test.sql +++ b/server/extension/sql/70_ips_test.sql @@ -1,24 +1,24 @@ -- Check that the public function is callable, even with no data -- It should return NULL -SELECT cdb_geocoder_server.geocode_ip_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); +SELECT cdb_geocoder_server.geocode_ipaddress_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); -- Insert dummy data into ip_address_locations INSERT INTO ip_address_locations VALUES ('::ffff:0.0.0.0'::inet, (ST_SetSRID(ST_MakePoint('40.40', '3.71'), 4326))); -- This should return the polygon inserted above -SELECT cdb_geocoder_server.geocode_ip_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); +SELECT cdb_geocoder_server.geocode_ipaddress_point(session_user, '{"is_organization": false, "entity_name": "test_user"}', '{"street_geocoder_provider": "nokia","nokia_monthly_quota": 100, "nokia_soft_geocoder_limit": false}', '0.0.0.0'); -- Check for namedplaces signatures (point and polygon) SELECT exists(SELECT * FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid) WHERE ns.nspname = 'cdb_geocoder_server' - AND proname = 'geocode_ip_point' + AND proname = 'geocode_ipaddress_point' AND oidvectortypes(p.proargtypes) = 'name, json, json, text'); SELECT exists(SELECT * FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid) WHERE ns.nspname = 'cdb_geocoder_server' - AND proname = '_geocode_ip_point' + AND proname = '_geocode_ipaddress_point' AND oidvectortypes(p.proargtypes) = 'text'); \ No newline at end of file