- Instead of modifying cdb_service_quota_info to return max_batch_size,
a new type (service_quota_info_batch) and a new function
(cdb_service_quota_info_batch) are created. That makes deployment safe.
- Fixes geocoding with forced batch size 1.
- Improves namespacing for count_estimate (->
cdb_dataservices_client.cdb_count_estimate).
- Improves namespacing for jsonb_array_casttext (->
cdb_dataservices_client.cdb_jsonb_array_casttext).
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".