All tests that were failing in CI with this diffs showing traces with
context, which correspond to a default `VERBOSITY verbose` in the server.
Since we migrated the CI to postgres 9.6 it makes sense to see such
differences in server configuration.
Enforcing the verbosity level makes the tests more robust indeed.
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.
As shown in the tests, that type has the flexibility of being able to be
cast to from any other numeric type. This gives us flexibility without
bloating the API with lots of type-specific functions.
The client functions to make configuration changes are not publicly available
(require a super user) and they have username, orgname parameters like the
server-sixe functions
The difference between
```
=> select * from cdb_service_quota_info();
service | monthly_quota | used_quota | soft_limit | provider
----------------+---------------+------------+------------+------------------
isolines | 1000 | 0 | f | heremaps
hires_geocoder | 5 | 2 | f | mapzen
routing | 1500000 | 0 | f | mapzen
observatory | 1000 | 0 | f | data observatory
(4 rows)
```
and
```
=> select cdb_service_quota_info();
cdb_service_quota_info
-------------------------------------------
(isolines,1000,0,f,heremaps)
(hires_geocoder,5,2,f,mapzen)
(routing,1500000,0,f,mapzen)
(observatory,1000,0,f,"data observatory")
(4 rows)
```
is important to pl/proxy. In the later case, rows only have one field
(a tuple) and it complains with "Got too few fields from remote end".