diff --git a/server/Makefile b/server/extension/Makefile similarity index 100% rename from server/Makefile rename to server/extension/Makefile diff --git a/server/README.md b/server/extension/README.md similarity index 100% rename from server/README.md rename to server/extension/README.md diff --git a/server/cdb_geocoder_server--0.0.1.sql b/server/extension/cdb_geocoder_server--0.0.1.sql similarity index 100% rename from server/cdb_geocoder_server--0.0.1.sql rename to server/extension/cdb_geocoder_server--0.0.1.sql diff --git a/server/cdb_geocoder_server.control b/server/extension/cdb_geocoder_server.control similarity index 100% rename from server/cdb_geocoder_server.control rename to server/extension/cdb_geocoder_server.control diff --git a/server/expected/00_install_test.out b/server/extension/expected/00_install_test.out similarity index 100% rename from server/expected/00_install_test.out rename to server/extension/expected/00_install_test.out diff --git a/server/expected/10_helper_test.out b/server/extension/expected/10_helper_test.out similarity index 100% rename from server/expected/10_helper_test.out rename to server/extension/expected/10_helper_test.out diff --git a/server/sql/0.0.1/00_header.sql b/server/extension/sql/0.0.1/00_header.sql similarity index 100% rename from server/sql/0.0.1/00_header.sql rename to server/extension/sql/0.0.1/00_header.sql diff --git a/server/sql/0.0.1/10_helper.sql b/server/extension/sql/0.0.1/10_helper.sql similarity index 100% rename from server/sql/0.0.1/10_helper.sql rename to server/extension/sql/0.0.1/10_helper.sql diff --git a/server/extension/sql/0.0.1/20_geocoding.sql b/server/extension/sql/0.0.1/20_geocoding.sql new file mode 100644 index 0000000..29ecd3a --- /dev/null +++ b/server/extension/sql/0.0.1/20_geocoding.sql @@ -0,0 +1,16 @@ +-- 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; diff --git a/server/sql/00_install_test.sql b/server/extension/sql/00_install_test.sql similarity index 100% rename from server/sql/00_install_test.sql rename to server/extension/sql/00_install_test.sql diff --git a/server/sql/10_helper_test.sql b/server/extension/sql/10_helper_test.sql similarity index 100% rename from server/sql/10_helper_test.sql rename to server/extension/sql/10_helper_test.sql