From 3e059003b6402c47ab4c6df8e30f8bbf93d40dd2 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Thu, 10 Nov 2016 11:09:40 +0100 Subject: [PATCH] Add soft limit function #302 --- server/extension/sql/200_quotas.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/server/extension/sql/200_quotas.sql b/server/extension/sql/200_quotas.sql index 7c65869..0f5fec2 100644 --- a/server/extension/sql/200_quotas.sql +++ b/server/extension/sql/200_quotas.sql @@ -37,3 +37,20 @@ RETURNS integer AS $$ else: raise 'not implemented' $$ LANGUAGE plpythonu; + + +CREATE OR REPLACE FUNCTION cdb_dataservices_server.cdb_soft_limit( + username TEXT, + orgname TEXT, + service TEXT) +RETURNS boolean AS $$ + plpy.execute("SELECT cdb_dataservices_server._connect_to_redis('{0}')".format(username)) + redis_conn = GD["redis_connection_{0}".format(username)]['redis_metrics_connection'] + + if service == 'isolines': + plpy.execute("SELECT cdb_dataservices_server._get_isolines_routing_config({0}, {1})".format(plpy.quote_nullable(username), plpy.quote_nullable(orgname))) + user_isolines_config = GD["user_isolines_routing_config_{0}".format(username)] + return user_isolines_config.soft_isolines_limit + else: + raise 'not implemented' +$$ LANGUAGE plpythonu;