Commit Graph

2115 Commits

Author SHA1 Message Date
Daniel García Aubert
4e28f7bb4e Do not require assert and step 2018-05-30 17:10:18 +02:00
Daniel García Aubert
532d50ad7a Return 'null' explicitly 2018-05-30 17:09:01 +02:00
Daniel García Aubert
d8b0d338c0 Use 'const' instead of 'var' 2018-05-30 17:02:15 +02:00
Daniel García Aubert
cd0be5f79d Do not require 'step' 2018-05-30 17:00:55 +02:00
Daniel García Aubert
3820894454 Do not use 'step' 2018-05-30 17:00:15 +02:00
Daniel García Aubert
fe79ee0315 Merge branch 'master' into unify-connection-pool-config 2018-05-29 16:44:21 +02:00
Javier Goizueta
26da872704 Leave sample exclude_columns for later 2018-05-28 17:37:45 +02:00
Javier Goizueta
8a1d5d3a48 Be careful and detect type invalid types 2018-05-28 17:36:58 +02:00
Javier Goizueta
4bb8914d9a Add parameters to select metadata sample columns 2018-05-28 16:08:31 +02:00
Daniel García Aubert
bbab9c1a6b Avoid breaking changes 2018-05-25 14:44:58 +02:00
Daniel García Aubert
8fe192267d cosmetic 2018-05-25 13:37:57 +02:00
Daniel García Aubert
92255797d9 Add torque options to renderer factory 2018-05-25 13:37:34 +02:00
Daniel García Aubert
f404285140 Use postgres pool configuration to have the same configuration for all renderers. 2018-05-24 18:36:45 +02:00
Daniel García Aubert
ee38c717a5 Remove geojson renderer config 2018-05-24 18:11:18 +02:00
Daniel García Aubert
1668392296 Move 'postgres' attributes inside Mapnik's renderer configuration and keep params relative to user's connection 2018-05-24 13:42:32 +02:00
Javier Goizueta
c1feaecbcb Merge branch 'master' into refactor-metadata
# Conflicts:
#	lib/cartodb/backends/layer-stats/mapnik-layer-stats.js
2018-05-23 12:12:36 +02:00
Javier Goizueta
94c34eeb23 Small change to use const 2018-05-23 11:15:20 +02:00
Javier Goizueta
97b4e19777 Add metadata parameter for NULL categories 2018-05-22 13:00:18 +02:00
Javier Goizueta
ebc086106f Refactor metadata queryPromise helper
This function to adapt query execution as a Promise was unnecessary complex.
2018-05-21 17:33:03 +02:00
Javier Goizueta
6384f5538c Rename variable for clarity 2018-05-21 17:06:53 +02:00
Javier Goizueta
d7a90e6be4 Remove debugging comment 2018-05-21 15:54:52 +02:00
Javier Goizueta
b233f18a0f Modernize code copied from SQL API 2018-05-21 15:43:23 +02:00
Javier Goizueta
32092d212e Fix bug 2018-05-21 14:05:27 +02:00
Javier Goizueta
11cdcc65ad Add safety limit to sample metadata
The sampling probability is now being computed using an estimate of the table row count
This could led to too high probabilities (to large samples) if the estimate is not accurate.
To avoid potential problems with large samples we've added a LIMIT to the sampling queries.
2018-05-21 12:45:16 +02:00
Javier Goizueta
fecd63e582 Fix bug 2018-05-21 11:59:49 +02:00
Javier Goizueta
38e55367b1 Revert error behaviour for estimatedFeatureCount
Keep current production behavior of ignoreing errors when computing this stat and returning -1.
This is done as to no introduce any instability in production at the moment.
2018-05-21 11:44:52 +02:00
Javier Goizueta
4e99ff1c39 Fix token substitution for stat queries 2018-05-18 22:25:32 +02:00
Javier Goizueta
8e8458e557 Merge branch 'master' into metadata 2018-05-18 20:49:26 +02:00
Javier Goizueta
391ac51f0f Implement metadata queries with plain Promises
Remove usage of PhasedExecution
This achives better query execution granularity and
removes questionable usage of shared results object.
It introduces a couple of behavior changes:
* estimatedFeatureCount desn't ignore errors now
* sample always uses estimatedFeatureCount,even if the actual count is also computed.
2018-05-18 15:33:07 +02:00
Javier Goizueta
4bc8fb207a Use sql_raw for query without aggregation 2018-05-18 15:29:46 +02:00
Simon Martín
81bace1dca Merge branch 'master' into fix-dataview-typeof 2018-05-17 12:13:11 +02:00
Javier Goizueta
012fa91e83 Typo 2018-05-16 14:45:34 +02:00
Javier Goizueta
3af1182206 Rename misleading function argument 2018-05-16 14:45:19 +02:00
Simon Martín
04e00bb834 Merge branch 'master' into fix-image-format-png 2018-05-16 14:40:59 +02:00
Simon Martín
56aa1b39f0 removing 'jpeg' as valid format and no checking agains lowercase 2018-05-16 12:00:40 +02:00
Daniel G. Aubert
d940ab36e1
Merge pull request #954 from CartoDB/controllers-goodies
Controllers goodies
2018-05-14 18:31:48 +02:00
Daniel García Aubert
5a397afd06 In order to extract common middlewares between routers and controlles we need to activate mergeParams options to preserve the req.params from the parent router 2018-05-14 11:50:48 +02:00
Javier Goizueta
5e09c80b71 Remove comment 2018-05-11 19:57:49 +02:00
Javier Goizueta
b906f88a44 Slight refactor 2018-05-11 19:32:03 +02:00
Javier Goizueta
24b1b53ba0 Merge branch 'master' into metadata 2018-05-11 18:58:38 +02:00
Javier Goizueta
53fae9fbbd Comment 2018-05-11 18:57:14 +02:00
Simon Martín
ad4ed7a06b detail 2018-05-11 17:47:47 +02:00
Simon Martín
7f5e655730 static image format for last route 2018-05-11 17:45:17 +02:00
Simon Martín
e96a9f0b46 static image format controllers 2018-05-11 17:42:28 +02:00
Simon Martín
7112341c51 checkStaticImageFormat middleware 2018-05-11 17:41:00 +02:00
Daniel García Aubert
f4d60f963d Add comment 2018-05-11 16:37:02 +02:00
Daniel García Aubert
c6babc7dc4 Create .middlewares() method to build midlleware stack to perform request 2018-05-11 16:26:05 +02:00
Daniel García Aubert
3905ed796e Use ES6 class syntax 2018-05-11 16:24:28 +02:00
Daniel García Aubert
595d006d5b Rename function 2018-05-11 16:21:57 +02:00
Daniel García Aubert
3bcf6d7ca0 Place comment 2018-05-11 16:20:44 +02:00
Daniel García Aubert
68f5ee7bde Use ES6 class syntax 2018-05-11 16:18:52 +02:00
Daniel García Aubert
9db6e2161b Use ES6 class syntax 2018-05-11 16:15:33 +02:00
Daniel García Aubert
6eeb75a35e Use .middlewares() method to build middleware stack to process the request 2018-05-11 16:13:34 +02:00
Daniel García Aubert
1f717617b0 Add .middlewares() method to build middleware stack to be mounted 2018-05-11 16:07:25 +02:00
Daniel García Aubert
3d7231929c Create .middlewares() method to return the middlewares to process the request 2018-05-11 15:34:10 +02:00
Javier Goizueta
3b4668cc19 Fix simple tabley sampling 2018-05-11 14:45:12 +02:00
Javier Goizueta
34ad3fcfe8 Add aggregated stat for testing
Also change aggregated stats to not filter a single tile
2018-05-11 14:18:31 +02:00
Daniel García Aubert
242224396d Create .middlewares() method to compose controller actions 2018-05-11 14:05:41 +02:00
Javier Goizueta
68b3cb8a34 Fix estimated row count with aggregations
All stats are computed now pre-aggregation
Code to help compute post-aggregation stats remains for testing
2018-05-11 13:44:43 +02:00
Daniel García Aubert
1cfeda8fe5 Create .middlewares() method to mount corresponding set of middlewares 2018-05-11 13:38:51 +02:00
Daniel García Aubert
33af2d37b3 Remove declared variables but not used 2018-05-11 13:30:25 +02:00
Daniel García Aubert
69505974fe Pass object instead of argument list 2018-05-11 13:29:50 +02:00
Daniel García Aubert
a77dd9a11f Create .middlewares() method to be mounted in dataview controller 2018-05-11 13:20:05 +02:00
Daniel García Aubert
1bc017eac9 Rename function 2018-05-11 12:42:17 +02:00
Daniel García Aubert
07dec2e641 Create .middlwares() to return a set of middlewares to be mounted 2018-05-11 12:38:52 +02:00
Daniel García Aubert
d86a839265 Blank line 2018-05-11 12:22:50 +02:00
Daniel García Aubert
72d8a26ede Use ES6 class 2018-05-11 12:14:27 +02:00
Javier Goizueta
cae4dd81c9 WIP: fix problems for aggregations & metadata 2018-05-10 19:12:47 +02:00
Simon Martín
eba68c56ef handling pg_typeof undefined 2018-05-10 18:36:08 +02:00
Daniel García Aubert
0741881959 Do not initialize status code to 404 when method is OPTIONS 2018-05-09 16:24:38 +02:00
Daniel García Aubert
c51e254287 Set 404 as defautl status code and set the proper status code fir the response at very same time that the response body 2018-05-09 15:00:18 +02:00
Daniel García Aubert
9feea66550 Use routes configuration to create and mount routes and controllers 2018-05-09 14:59:21 +02:00
Javier Goizueta
944ce80c1e Revert debugging change 2018-05-09 11:42:53 +02:00
Javier Goizueta
d8ef8cb12f Debug travis test failures 2018-05-09 11:08:02 +02:00
Javier Goizueta
eea7bed2f3 Slightly more elegant results of queries 2018-05-08 20:41:42 +02:00
Javier Goizueta
741bcd1a80 Metadata fixes 2018-05-08 20:07:20 +02:00
Javier Goizueta
7d68a2967f Fix: callback expected errors in first argument 2018-05-08 13:08:26 +02:00
Javier Goizueta
b96be69a5c Clarify example 2018-05-08 13:08:01 +02:00
Javier Goizueta
636cd8cd50 Fix:phase execution
phase (not only its tasks) must be executed after the tasks of previous phases
2018-05-08 12:56:06 +02:00
Javier Goizueta
c647f852d6 Refactor metadata queries execution
Also fixed bug where sampling query generation needed results of count queries
2018-05-08 11:09:09 +02:00
Javier Goizueta
ebab879aca Fix bugs & typos 2018-05-08 11:07:47 +02:00
Javier Goizueta
7561635b24 WIP:add layer metadata 2018-05-07 19:03:19 +02:00
Daniel García Aubert
7ed819e84a Merge branch 'separate-routers' into improve-folder-structure 2018-05-07 18:29:53 +02:00
Daniel García Aubert
407a83e81d Merge branch 'separate-app-and-controllers-creation' into separate-routers 2018-05-07 18:29:00 +02:00
Daniel García Aubert
3c3731252d Respect default values with object.assign 2018-05-07 18:24:41 +02:00
Eneko Lakasta
534c827904 remove auth fallback 2018-05-07 15:44:44 +02:00
Daniel García Aubert
9bd9503e9b Merge paths to perform the same middleware stack 2018-04-18 19:07:38 +02:00
Daniel García Aubert
56495522b8 Use array of path to avoid collisions and extract scale-factor param properly 2018-04-18 18:52:09 +02:00
Daniel García Aubert
1694b4b3a6 Merge branch 'separate-routers' into improve-folder-structure 2018-04-17 16:07:47 +02:00
Daniel García Aubert
5b1b78d386 Merge branch 'separate-app-and-controllers-creation' into separate-routers 2018-04-17 15:56:33 +02:00
Daniel García Aubert
9c249596c0 Merge branch 'master' into separate-app-and-controllers-creation 2018-04-17 15:55:38 +02:00
Daniel García Aubert
6c466d13ff Typo 2018-04-17 11:36:33 +02:00
Daniel García Aubert
9905b20448 Improve naming 2018-04-17 11:22:05 +02:00
Daniel García Aubert
8000a51918 Improve error messages 2018-04-17 11:04:03 +02:00
Daniel García Aubert
98d15e2e34 Typo 2018-04-16 18:57:28 +02:00
Daniel García Aubert
d5c591317b Add coordinates validation to specific endpoints 2018-04-16 18:55:42 +02:00
Daniel García Aubert
730b29c9cc Remove defined dependecies but never used 2018-04-11 18:51:44 +02:00
Daniel García Aubert
e06d3200c3 Use a better API to define public routes 2018-04-11 12:33:07 +02:00
Daniel García Aubert
c0943a7c58 Use config to define base path for express routers 2018-04-10 20:26:36 +02:00
Daniel G. Aubert
5d230c444c
Merge pull request #928 from CartoDB/extract-cors-mw
Make cors middleware more generic and link it just to application level
2018-04-10 18:29:59 +02:00
Daniel García Aubert
ac615b4a25 Merge branch 'separate-routers' into improve-folder-structure 2018-04-10 16:15:49 +02:00
Daniel García Aubert
bc45b50290 Merge branch 'separate-app-and-controllers-creation' into separate-routers 2018-04-10 15:59:05 +02:00
Daniel García Aubert
1bbd84b37a Please jshint 2018-04-10 15:56:52 +02:00
Daniel García Aubert
aa3fb4807b Merge branch 'master' into separate-app-and-controllers-creation 2018-04-10 15:25:36 +02:00
Daniel García Aubert
d1a4057a8d Rename user limits api by user limits backend 2018-04-10 10:16:07 +02:00
Daniel García Aubert
8519d2724b Rename tables extent api by tables extent backend 2018-04-10 09:40:09 +02:00
Daniel García Aubert
ba36a47228 Rename overviews metadata api by overviews metadata backend 2018-04-09 19:47:43 +02:00
Daniel García Aubert
e0d8dc0334 Rename filter stats api by filter stats backend 2018-04-09 18:56:01 +02:00
Daniel García Aubert
8dec4814a9 Rename AuthAppi by AuthBackend 2018-04-09 18:08:56 +02:00
Daniel García Aubert
6167562758 Meet application logic and folder struture 2018-04-09 16:18:30 +02:00
Daniel García Aubert
7e68f5270d Move application middlewares to routers folder 2018-04-06 18:20:33 +02:00
Daniel García Aubert
25aa967146 Forbid access to named map admin resources for everyone but master 2018-04-06 15:26:11 +02:00
Daniel García Aubert
3bfc7d3d23 Rename controllers folder by routers 2018-04-06 13:53:50 +02:00
Simon Martín
c94d782037 calling to new createAffectedTables 2018-04-06 13:00:12 +02:00
Simon Martín
233f9698f3 fix affectedtables cache 2018-04-06 12:59:53 +02:00
Daniel García Aubert
61fc15cec0 Add comment to indicate deprecated paths 2018-04-06 11:13:34 +02:00
Daniel García Aubert
4e754e0d86 Create API router to handle common stuff among child routers 2018-04-05 19:42:20 +02:00
Javier Goizueta
ffa3a96f1a Use unique cartodb_id in aggregated results
See #889
FOr centroid and point-grid the cartodb_id wasn't unique across tiles.
2018-04-05 14:06:27 +00:00
Javier Goizueta
44424583f0 Revert "Use unique cartodb_id in aggregated results"
This reverts commit c1da1a8a16.
This is reverted for moving the change out of PR #913 into its own PR for clarity.
2018-04-05 12:12:58 +02:00
Daniel García Aubert
5aa63d35ce Add comments 2018-04-04 20:07:53 +02:00
Daniel García Aubert
11099c88dc Improve routing via regular expressions 2018-04-04 20:00:59 +02:00
Daniel García Aubert
ef22c46199 Make send-response middleware generic to the router 2018-04-04 19:15:51 +02:00
Javier Goizueta
e8cd6856b5 Add missing aggregation columns to ST_AsMVT
Aggregation results always should have the cartodb_id and the feature count
2018-04-04 17:18:56 +02:00
Javier Goizueta
dc706aeb43 Fix bug with dimension aliases
The point-sample aggregation query failed if dimensions had alias different from the base columns
2018-04-04 16:29:40 +02:00
Daniel García Aubert
cfdff61d08 Create map & template routers to skip unneeded middlewares in monitor endpoints 2018-04-04 15:52:54 +02:00
Javier Goizueta
2132960d7c Fix non-default aggregation columns
The columns for non-default aggregations were the base columns not the resulting aggregated columns
In particular this could cause invalid wrapped SQL code to be passed to ST_AsMVT when the Windshaft pg-mvt renderer was used.
2018-04-04 15:25:08 +02:00
Javier Goizueta
fefb0b23af Merge branch 'master' into cartogl 2018-04-04 12:21:43 +02:00
Javier Goizueta
c1da1a8a16 Use unique cartodb_id in aggregated results
See #889
FOr centroid and point-grid the cartodb_id wasn't unique across tiles.
2018-04-04 11:05:03 +02:00
Daniel García Aubert
93bdbb1c50 Create monitor monitor router 2018-04-03 19:16:37 +02:00
Daniel García Aubert
f1e421db05 Create an api router isolated from heath checks 2018-04-03 19:08:56 +02:00
Daniel García Aubert
462ba62656 Make cors middleware more generic and link it just to application level 2018-04-03 15:32:29 +02:00
Daniel García Aubert
5cd073c96f Remove old controller from bad merge 2018-04-03 14:50:24 +02:00
Daniel García Aubert
40b8d865a9 Merge branch 'master' into separate-app-and-controllers-creation 2018-04-03 14:45:49 +02:00
Daniel García Aubert
a21d7db390 Extract json-replacer 2018-04-03 13:21:41 +02:00
Daniel García Aubert
cc61a89c68 Remove function 2018-04-03 12:27:45 +02:00
Daniel García Aubert
3316c2ded3 Create logger middleware to encapsulate its configuration from app 2018-04-03 12:26:35 +02:00
Daniel García Aubert
b6989ac82a Create a controllers factory where all collaborators are created and controllers are mounted afterwards 2018-04-02 19:02:31 +02:00
Daniel García Aubert
6bf06116df Build controllers (analysis and server info) in server 2018-03-28 20:12:11 +02:00
Daniel García Aubert
5bb5bc42ee Create Map Controller while building server 2018-03-28 19:58:30 +02:00
Daniel García Aubert
57e10a8d2b Create layergroup controllers in server construction 2018-03-28 19:37:31 +02:00
Daniel García Aubert
51fade6bd3 Ensure each controller only receives one router 2018-03-28 19:11:19 +02:00
Daniel García Aubert
22fdc3d1bf Add query params when instantiating template 2018-03-28 15:53:34 +02:00
Daniel García Aubert
3576eb8081 Do not use template strings 2018-03-28 14:16:13 +02:00
Daniel García Aubert
9377b73aa3 Extract map error middleware 2018-03-28 14:12:21 +02:00
Daniel García Aubert
e5aff3f366 Extract layergroup-metadata middleware 2018-03-28 14:06:23 +02:00
Daniel García Aubert
78356ab298 Extract layergroupIdHeader middleware 2018-03-28 13:41:41 +02:00
Daniel García Aubert
947a367865 Extract layerStats middleware 2018-03-28 13:31:37 +02:00
Daniel García Aubert
e79d9ec2f9 Extract lastUpdatedTimeLayergroup middleware 2018-03-28 13:27:01 +02:00
Daniel García Aubert
16e8451166 Extract augment layergroup data middleware 2018-03-28 13:10:47 +02:00
Daniel García Aubert
1d54a8dccd Extract increment map view count middleware 2018-03-28 13:01:23 +02:00