Mario de Frutos
e68cc3e820
OBS_GetAvailableGeometries now has number of geometries parameter
...
We've add a new parameter, number of geometries, that would be used
by DO to compute the geometry that better fit with the input provided
2017-10-09 17:20:57 +02:00
Mario de Frutos
3eee68c56e
_OBS_Precheck and OBS_MetadataValidator
...
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.
2017-08-09 12:26:41 +02:00
Mario de Frutos
1ffbba2a03
New DO function _OBS_GetNumerators
2017-07-13 17:31:49 +02:00
Rafa de la Torre
2f35bc5fe5
Swap the function creation order
...
I was creating the wrappers before the wrapped function and postgres
extensions do not support that.
I did not notice in my local environment cause the old functions were
already there.
2017-07-07 19:03:16 +02:00
Rafa de la Torre
e3aaff4413
Add missing trailing semicolons
2017-07-07 18:54:56 +02:00
Rafa de la Torre
074234b8da
Use double precision as numeric type
...
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.
2017-07-07 13:08:41 +02:00
Rafa de la Torre
847a7aef99
Add support for integer postal codes
2017-07-05 18:29:49 +02:00
Mario de Frutos
ac854a94af
Fixed fallback to internal geocoder in nameplaces geocoding functions
...
- Fixed fallback becuase we have to use spiexceptions in this case
because we retrieve the configuration usig plpy.execute fuctions that
wrap any exception into a spiexception.
- In case we don't want to use Mapzen, we could leave the api_key empty
becuase we arise a ConfigException if the Mapzen api_key is empty so
we are able to make fallback. Right now we can't remove the mapzen
configuration because it'll fail when the InternalGeocoderConfig try to
load the ServiceDBConfig
This is a dirty hack, we should improve how the DB config is loaded. See
2017-05-26 12:41:41 +02:00
Rafa de la Torre
59a8cafc74
Fix another empty table case #366
2017-05-16 17:20:16 +02:00
Rafa de la Torre
b50637d36f
Fix return type of OBS_GetData #366
2017-05-16 16:23:13 +02:00
Rafa de la Torre
4c46effc9b
Add new params at the end #361
2017-05-09 16:36:03 +02:00
John Krauss
8b031a3016
add tags to getavailablegeometries, and a few additional columns to obs_getavailabletimespans
2017-04-10 18:15:19 +00:00
Javier Goizueta
c0b0a58d35
Missing changes in source
2017-03-30 18:03:45 +02:00
Javier Goizueta
2197edb467
Fix bugs in geocoding server functions
2017-03-29 16:20:59 +02:00
Javier Goizueta
2c15110255
Rename constructor arguments for consistency
2017-03-28 10:53:16 +02:00
Javier Goizueta
6b86acfaa3
Fix indentation
2017-03-28 10:44:25 +02:00
Javier Goizueta
ef09840525
Implement server-side rate limits configuration interface
2017-03-21 17:58:33 +01:00
Javier Goizueta
cf7460c27d
Fix functions schema
2017-03-21 16:17:39 +01:00
Javier Goizueta
945c6cd685
WIP: support for storing rate limits configuration
2017-03-16 19:12:39 +01:00
Javier Goizueta
7f6c19b292
Minor changes for clarity
...
* ServiceManager check method renamed as assert_within_limits
* Legacy classes moved to separate files
2017-03-16 17:59:22 +01:00
Javier Goizueta
87e37e1a26
Fix typo
2017-03-16 17:55:27 +01:00
Javier Goizueta
cebd7d2141
Apply ServiceManager to Google Geocoder
...
Note that the Goolge geocoder uses QuotaService to account for used quota,
but it doesn't have a quota limit.
2017-03-15 17:58:14 +01:00
Javier Goizueta
696bdb40b0
Fix incorrect import
2017-03-15 17:49:29 +01:00
Javier Goizueta
548d6b08db
Debug SQL geocoding interface which uses ServiceManager
2017-03-15 12:47:11 +01:00
Javier Goizueta
05b29967c7
Merge branch 'development' into 346-user-rate-limits
...
# Conflicts:
# README.md
# server/extension/sql/20_geocode_street.sql
# server/lib/python/cartodb_services/cartodb_services/metrics/config.py
2017-03-14 19:00:53 +01:00
Javier Goizueta
6c5ca97468
Complete rate-limiting for Mapzen & Here gecoding
...
ServiceManager class has been introduced to handle service configuration at
SQL level (with a LegacyServiceManager alternative for non-refactored services).
These new classes take the responsibility of rate limits and quota checking.
Tests have been added for ServiceManager and rate limits, but currently they
check only the limits configuration since Lua support would be needed
to use rratelimit with MockRedis.
2017-03-14 18:51:18 +01:00
Javier Goizueta
250d384d06
Geocoder, per user, cofigurable rate limits
...
WIP, specially the GeocoderConfig part is flaky and ugly
2017-03-09 18:42:48 +01:00
Rafa de la Torre
25ba9866ae
Small PoC with rratelimit #346
2017-03-07 13:31:06 +01:00
Javier Goizueta
89762c1a7f
Use service params configuration in Mapzen services
2017-03-06 15:25:11 +01:00
Javier Goizueta
29cdd8099a
Add service configuration (URL, etc) for Mapzen Geocoding
2017-03-06 10:20:20 +01:00
Javier Goizueta
677d2acead
Add service configuration (URL, etc) for Here Geocoding
...
See #343
2017-03-02 17:15:14 +01:00
Mario de Frutos
435a84f294
OBS_GetData functions shall increase the DO quota usage
2017-02-06 17:47:15 +01:00
Mario de Frutos
061956f250
Remove quota usage for obs_meta functions
2017-02-02 10:59:21 +01:00
John Krauss
56de523498
add wrappers for getmeta, getdata(geoms) and getdata(ids)
2017-01-26 12:27:29 +01:00
Mario de Frutos
77f4f3e7ff
Mapzen isochtrones integration
2016-11-29 12:57:23 +01:00
Rafa de la Torre
9c6eabc59e
Do not enforce types for params #302
...
As types are tied to a schema, they don't get along very well with
pl/proxy. Do not use them for the service_type.
2016-11-24 18:38:33 +01:00
Rafa de la Torre
769b740ba4
Rename service_params to service_quota_info #302
2016-11-24 17:46:07 +01:00
Rafa de la Torre
c2ede37d75
Revert internal geocoder related stuff #302
2016-11-24 17:45:19 +01:00
Rafa de la Torre
4c75c5f261
Revert internal geocoder related stuff #302
...
This reverts commits 579d11e
, 4af5975
and a2da597
2016-11-24 17:33:06 +01:00
Rafa de la Torre
efb10e43e4
Merge remote-tracking branch 'origin/development' into 302-expose-quotas
2016-11-24 12:36:23 +01:00
Rafa de la Torre
a2da597e00
Support null quota (internal_geocoder) #302
2016-11-23 18:10:44 +01:00
Rafa de la Torre
4af5975ac1
Add the internal geocoder to cdb_service_params #302
2016-11-23 17:07:23 +01:00
Rafa de la Torre
d70d149eed
Fix bug: the service_type to used_quota #302
2016-11-23 16:40:00 +01:00
Rafa de la Torre
decc7626a8
Create types only if they don't exist #302
2016-11-23 16:38:47 +01:00
Rafa de la Torre
abbb227ad5
Fix typo: use obs config for obs service #302
2016-11-23 11:40:02 +01:00
Mario de Frutos
8396eae733
Server update to type obs_meta_geometry with new types
2016-11-11 18:13:01 +01:00
Rafa de la Torre
2e6f37af56
Add observatory #302
2016-11-11 11:27:57 +01:00
Mario de Frutos
b5f4c507b3
Fixed some typos in SQL artifact v0.18 and v0.17
2016-11-11 11:13:08 +01:00
Rafa de la Torre
95dda082e7
Add routing #302
2016-11-11 10:24:03 +01:00
Rafa de la Torre
9f9034f4f1
Make cdb_enough_quota check the table got from cdb_service_params #302
2016-11-10 19:23:39 +01:00
Rafa de la Torre
603fbbbc3f
Make cdb_service_params return a table for all services #302
2016-11-10 19:23:01 +01:00
Rafa de la Torre
3fa686ec65
Remove the class Service in favor of service_type ENUM #302
2016-11-10 19:21:29 +01:00
Rafa de la Torre
429a71ef37
Add a function to check for enough quota #302
2016-11-10 18:56:50 +01:00
Rafa de la Torre
b2cdb1c74b
Move all into one func returning a tuple #302
2016-11-10 18:40:18 +01:00
Rafa de la Torre
84061dec4f
Move everything to cdb_service_params (WIP) #302
2016-11-10 18:12:24 +01:00
Mario de Frutos
08debb83ed
Server side change JSONB to JSON in the legacybuildermedatada function
2016-11-10 18:08:35 +01:00
Rafa de la Torre
7a32ace1ac
Add the hires_geocoder to cdb_monthly_quota #302
2016-11-10 17:00:25 +01:00
Mario de Frutos
040b094b01
New observatory meta functions for server side
2016-11-10 11:29:19 +01:00
Rafa de la Torre
eb7188235d
Provider function #302
2016-11-10 11:14:15 +01:00
Rafa de la Torre
3e059003b6
Add soft limit function #302
2016-11-10 11:09:40 +01:00
Rafa de la Torre
0e38af6ecd
Add cdb_remaining_quota to server #302
2016-11-08 18:47:22 +01:00
Rafa de la Torre
6f9feb07a0
Add cdb_monthly_quota (WIP) #302
2016-11-08 18:29:06 +01:00
Mario de Frutos
352d4217bc
Fixed typo in the config cache for observatory snapshot functions
2016-11-07 10:31:53 +01:00
Mario de Frutos
49fd51f6da
Added logger to metrics context manager
2016-11-04 13:39:10 +01:00
Mario de Frutos
708bee2912
Added metrics context manager to public functions
2016-11-04 13:39:10 +01:00
Mario de Frutos
cf3c6f2ce5
New metrics logger system
...
- It's not mandatory to have the log_path defined for all the services
- Now we add metrics to a MetricsGatherer using the add method in order
to gather data from all the function scope, not just in one defined
point
- There is a `metrics` context manager to wrap the function block. This
context manager get the execution time for the block among other
things
2016-11-02 15:26:39 +01:00
Rafa de la Torre
35da7e48fd
Implement a ServerConfigBackendFactory
...
mostly to keep layers separated.
2016-10-03 17:42:19 +02:00
Rafa de la Torre
0d87a95270
Inject the environment into the LoggerConfigBuilder
2016-10-03 17:06:57 +02:00
Rafa de la Torre
fcca5da302
Add a RedisMetricsConnectionFactory class
2016-10-03 16:47:45 +02:00
Rafa de la Torre
1aec541906
Add ServerEnvironment and ServerEnvironmentBuilder
2016-10-03 16:21:28 +02:00
Rafa de la Torre
9e98e0794d
Add backends for user and org configs
2016-10-03 16:05:08 +02:00
Rafa de la Torre
8fbb41742c
Rename redis conf factories to builders
2016-10-03 15:25:01 +02:00
Rafa de la Torre
275a6dc27f
Move redis_config related classes to separate file
2016-10-03 13:33:46 +02:00
Rafa de la Torre
073163eb1a
Rename redis_config.py to redis_connection_config.py
2016-10-03 13:20:30 +02:00
Rafa de la Torre
86ab3abc53
Rename mapzen_geocoder module to mapzen_geocoder_config
2016-10-03 12:58:15 +02:00
Rafa de la Torre
b1f3405cd0
Rename variable s/user_geocoder_config/mapzen_geocoder_config
2016-10-03 12:52:18 +02:00
Carla Iriberri
6c61626214
Remove RedisMock TODO
2016-09-30 12:29:00 +02:00
Carla Iriberri
74d2fba763
Add Redis Mock -- tested and working
2016-09-30 12:28:27 +02:00
Rafa de la Torre
e24819f193
Take the environment into account
2016-09-30 11:29:44 +02:00
Rafa de la Torre
3a6cc4c364
Add mapzen config and integrate into legacy code
2016-09-29 18:41:16 +02:00
Rafa de la Torre
8ad2434b1d
Add instantiation of configs to mapzen geocoder
2016-09-29 17:47:36 +02:00
Rafa de la Torre
02a2619b45
Fix instantiation of redis metadata connection
2016-09-29 17:19:18 +02:00
Rafa de la Torre
1f3a655ae5
Add all the code to instantiate a user_config_storage (WIP)
2016-09-29 16:57:31 +02:00
Rafa de la Torre
efdc151282
Add things to get logger config from storage
2016-09-28 18:22:51 +02:00
Carla
fc99f7aba9
Merge pull request #267 from CartoDB/augment_revamp_analysis
...
Table-level OBS_GetMeasue revamp
2016-09-01 17:21:56 +02:00
Carla Iriberri
1e9b551160
Add populate table function and several fixes
2016-08-30 16:38:44 +02:00
Carla Iriberri
fc291a7c63
First steps
2016-08-29 18:07:58 +02:00
Mario de Frutos
18ae2525b6
Add search type filter for Mapzen geocoder
2016-08-29 14:32:49 +02:00
Mario de Frutos
06462fdf7a
Control file for version 0.15 and empty upgrade/downgrade
2016-08-29 14:04:08 +02:00
Mario de Frutos
71d5ce951a
Use mapzen as first option for the namedplace geocoding
2016-08-26 16:39:25 +02:00
Carla Iriberri
19b3e05661
Remove default intersect for OBS functions
2016-08-10 16:25:26 +02:00
John Krauss
d63f2ba4d5
Replace all 'area' defaults for with NULL. Fixes #235
2016-08-10 16:25:26 +02:00
Mario de Frutos
7f2f6e7d99
Change notice for info in the logger method
2016-08-04 17:54:57 +02:00
Mario de Frutos
5f8416d166
Add logger config function with proper permission to get logger config
2016-08-03 17:37:40 +02:00
Mario de Frutos
a33999ed04
Dont re-raise the exception to avoid leak sensitive information
2016-08-03 12:08:23 +02:00
Mario de Frutos
9186eb5d5b
Log part decoupled from the main config class
2016-08-02 18:40:01 +02:00
Mario de Frutos
ed5cf25e9c
Added new logger to all the functions
2016-08-02 16:44:03 +02:00
Mario de Frutos
6349be476d
Remove 1 row limit for isolines functions
2016-07-29 17:00:08 +02:00
Mario de Frutos
fc399c12c1
Change notices for debug
2016-07-25 13:58:01 +02:00
Mario de Frutos
79d0b5ba7c
Add service providers that come from the user configuration
2016-07-25 12:25:52 +02:00