3eee68c56e
New functions to perform a precheck for the user data and metadata parameters that are going to be used to execute a OBS_GetData operation. Doing this before the OBD_GetData we are able to check if we're going to have problems with the current request. Is useful because right now we're using the *_Exception_Safe functions which return NULL in case we have an exception, this leads to execute the whole request even if we know beforehand that it's going to fail.
182 lines
8.3 KiB
SQL
182 lines
8.3 KiB
SQL
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getdemographicsnapshot'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getsegmentsnapshot'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getmeasure'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getmeasurebyid'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, text, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getcategory'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getuscensusmeasure'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getuscensuscategory'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getpopulation'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_search'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getavailableboundaries'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getboundary'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getboundaryid'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getboundarybyid'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getmeta'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, json, integer, integer, integer');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getdata'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geomval[], json, boolean');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getdata'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, text[], json');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getboundariesbygeometry'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getboundariesbypointandradius'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, numeric, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getpointsbygeometry'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getpointsbypointandradius'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, numeric, text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getavailablenumerators'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text[], text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getavailabledenominators'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text[], text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getavailablegeometries'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text[], text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_getavailabletimespans'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text[], text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_legacybuildermetadata'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, text');
|
|
|
|
SELECT exists(SELECT *
|
|
FROM pg_proc p
|
|
INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)
|
|
WHERE ns.nspname = 'cdb_dataservices_server'
|
|
AND proname = 'obs_metadatavalidation'
|
|
AND oidvectortypes(p.proargtypes) = 'text, text, geometry, text, json, integer');
|