Sandro Santilli
6ebeed04c2
Optionally read user-specific database_password from redis
...
Follows CartoDB-2.5.0 model. Includes testcase.
Closes #120 -- Jira ref CDB-870
2013-11-18 13:31:11 +01:00
Sandro Santilli
af1f3daa69
Optionally read user-specific database_host from redis
...
Follows CartoDB-2.5.0 model. Includes testcase.
Closes #121 -- Jire ref CDB-870
2013-11-18 12:21:30 +01:00
Sandro Santilli
0d44139d8c
Do not choke if ogr2ogr fails without on stderr
2013-11-18 11:54:00 +01:00
Sandro Santilli
7218c89b2d
Refactor PSQL model to take full db config in the constructor
...
Closes #58 , stops reading configuration variables itself
2013-11-18 11:42:43 +01:00
Sandro Santilli
03ea51a375
CartoDB redis interaction delegated to "cartodb-redis" module
2013-11-15 19:14:55 +01:00
Sandro Santilli
4a5c9b0eed
Refactor OGR class interface to improve flexibility
...
The toOGR and toOGR_SingleFile function now take an "options"
object rather than a long list of arguments. This allows for
easier extension toward per-user database host and password
(see tickets #120 and #121 )
2013-11-15 13:24:48 +01:00
javi
93da1c110e
removed console.log refs #119
2013-11-09 16:56:58 +01:00
javi
370d45d8b6
fixed #119
2013-11-09 16:55:40 +01:00
Sandro Santilli
973c7181f0
Allow access to tables whose name contains "pg_" (but not at beginning)
...
Closes #118
2013-11-07 10:16:58 +01:00
Sandro Santilli
0139c8fb16
JSON format: correctly recognize "date" type columns
...
Closes #117 -- includes testcase
2013-11-06 11:43:56 +01:00
Sandro Santilli
45d54c47cc
Add note about which GDAL version fixes the SRID detection bug
2013-11-06 08:06:29 +01:00
Sandro Santilli
8d2347af99
Make public PostgreSQL user name a configuration parameter
...
Closes #56 .
Updates documentation and tests and example config files
2013-11-05 17:49:10 +01:00
Sandro Santilli
2abb136258
Set KML folder name to the requested filename.
...
Closes #115 . Includes testcase.
2013-11-05 17:29:02 +01:00
Sandro Santilli
3c03099e8d
Do not trust GDAL SRID detection for KML output.
...
Closes #116 . Includes testcase.
2013-11-05 16:57:23 +01:00
Sandro Santilli
1637610f66
Set a meaningful X-Cache-Channel with cache_policy=persist
...
Closes #105
2013-10-18 13:29:06 +02:00
Sandro Santilli
75bc36039d
Remove done TODOs
2013-10-11 17:25:38 +02:00
Sandro Santilli
82f965fa57
Upgrade node-pg dependency to 2.6.2
...
Simplifies PSQL.quoteIdentifier and exposes PSQL.quoteLiteral
2013-10-02 12:32:24 +02:00
Sandro Santilli
e92530d6e5
Fix shapefile export for non-linestring results starting with NULL
...
Includes tests. Closes #111 .
2013-10-02 12:12:09 +02:00
Sandro Santilli
0d84a704df
Fix missing .prj file in shapefile format
...
Finds srid, when needed, with an additional query.
Closes #110 .
Includes testcases.
2013-10-02 11:44:06 +02:00
Sandro Santilli
7f7ef682ac
Improve recognition of non-standard field types names by db lookup
...
Closes #112 .
Only looks up "geometry" and "raster" types for now, can be improved
over time.
2013-10-02 10:22:13 +02:00
Sandro Santilli
1ddec5fdd1
Add note about why we want to skip querying geometry_columns
2013-09-30 10:43:32 +02:00
Sandro Santilli
742936b2b8
Honour skipfields in JSON schema response. Closes #109
2013-09-26 13:26:45 +02:00
Sandro Santilli
a0ff7ee10c
Remove last bit of hard-coded format names from app controller
2013-09-05 17:10:48 +02:00
Sandro Santilli
f7bee2345d
Report boolean values as of boolean type, not string. Closes #106
2013-08-22 13:45:20 +02:00
javi
d83a81bf32
merged body_param_fix
2013-08-02 15:50:48 +02:00
Sandro Santilli
7a07a25086
Add REINDEX to the list of uncacheable queries
2013-07-24 18:43:38 +02:00
Sandro Santilli
23d092f768
Use float parsing for int8 too
...
This makes us ready to upgrade to node-pg 2.x
2013-07-22 18:22:30 +02:00
Sandro Santilli
8506108aaa
Do not cache results for queries you can't fetch source tables of
2013-07-22 18:20:26 +02:00
Sandro Santilli
2ee9411889
Review cache-control headers:
...
* Raise max-age to one year for all cacheable queries
* Set max-age to 0 for uncacheable (mutating) queries
2013-07-22 17:21:38 +02:00
javi
1eb7b3c885
Merge branch 'develop' into body_param_fix
2013-07-16 11:21:05 +02:00
javi
8ba1464db1
keep req.query as it comes to not broke ouaht refs Vizzuality/cartodb-management/2853
2013-07-15 14:39:15 +02:00
Sandro Santilli
3b9bc8a9f1
Do not set Last-Modified in the remote past
...
... or max-age will be always reached
2013-07-15 13:13:19 +02:00
Sandro Santilli
dfff99224f
Set Last-Modified header with cache_policy=persist
2013-07-15 12:12:07 +02:00
Luis Bosque
7b6b541083
Revert "Set max-age=0 when using no-cache"
2013-07-10 07:58:35 +02:00
Sandro Santilli
46b7f7a309
Parse all numbers as floats. Closes #100
2013-07-09 21:51:40 +02:00
Sandro Santilli
ae502335c3
Set "numeric" type to "number"
2013-07-09 21:51:08 +02:00
Sandro Santilli
bc49aebd2a
Don't assume SELECT "updated_at" may write to the database.
...
Closes #99
2013-07-08 17:36:53 +02:00
javi
69b5d825e3
reverted support for get params in post
2013-07-04 16:23:48 +02:00
javi
e114b4266d
removed debug console.log
2013-07-04 16:17:51 +02:00
javi
320e0b97a8
Merge branch 'develop' of github.com:Vizzuality/CartoDB-SQL-API into develop
2013-07-04 16:14:51 +02:00
javi
838c0c93ba
Add support for GET params in POST requests
2013-07-04 16:14:44 +02:00
Sandro Santilli
ba28496127
Add support for "text" datatypes in json output format
2013-07-04 16:04:13 +02:00
javi
78a80e6c82
added string type
2013-07-04 15:47:09 +02:00
Sandro Santilli
46e93355c4
Set max-age=0 when using no-cache (don't be self-contraddicting)
2013-06-28 11:17:52 +02:00
Sandro Santilli
7eff0cb107
Retain UTC offset in JSON output for dates
...
Hopefully helps reducing confusion when using timezone-less
with postgresql, in that the time that comes out of JSON output
matches the one input by user, except it may be in an unexpected
timezone (the server's one)
2013-06-19 12:25:48 +02:00
Sandro Santilli
5e379012a8
Add support for CTE in sql windowing, add unit tests
...
This is still an undocumented feature, but as long as it's present
and used (by cartodb UI) better tested than broken...
NOTE: more tests are needed for CTE and RETURNING queries
2013-06-17 16:36:36 +02:00
Sandro Santilli
88f1d33b42
Add "fields" member in JSON return. Closes #97
2013-06-14 18:36:05 +02:00
Sandro Santilli
339bc0b3a4
Fix windowing support for non-uppercased SELECT queries
2013-06-06 15:24:57 +02:00
Luis Bosque
d476f74a29
Merge branch 'release/staging' into develop
2013-05-30 11:57:29 +02:00
Luis Bosque
fac2b1bb68
Trust forwarded proto header from proxy
2013-05-30 11:56:43 +02:00
Luis Bosque
80452ef6f4
Merge branch 'release/staging' into develop
2013-05-30 11:17:10 +02:00
Luis Bosque
12afc3c88f
In OAuth requests, get req.path
...
Using req.route.path breaks OAuth whtn used with regex routes. Instead
of this we need to use req.path because the path is already expanded
2013-05-29 17:36:41 +02:00
Sandro Santilli
ffafe814ef
Do not hang up to queued request on ogr generation failure
2013-05-29 17:33:10 +02:00
Sandro Santilli
7f9463e7fd
Fix filesystem access conflict among clustered processes
2013-05-29 16:48:20 +02:00
Sandro Santilli
510ac0533f
Switch to using evented query model for postgresql
...
This enables formats for processing rows as they arrive from the
database, thus possibly reducing memory use. For a start the skip
fields are immediately removed from the result, rather than only
at the end.
2013-05-29 15:39:39 +02:00
javi
0be9e47930
Add arraybuffer format
2013-05-28 10:37:39 +02:00
Sandro Santilli
76705a3fd7
Refactor format objects to expose a common stream-able interface
...
See app/models/formats/README for info
2013-05-28 10:36:15 +02:00
Sandro Santilli
75717bfb8e
Drop another unused function
2013-05-27 09:24:11 +02:00
Sandro Santilli
ab8494ab12
Survive postgresql connection losses. Closes #95 .
2013-05-24 18:18:17 +02:00
Sandro Santilli
11a61d16c4
Drop unused code. Spring cleanups! \o/
2013-05-24 17:13:05 +02:00
Sandro Santilli
3f98cab09a
Do not execute queries on OPTIONS. Closes #94
2013-05-24 14:21:13 +02:00
Sandro Santilli
7712d6f2a5
Expose PostgreSQL client pooling settings in environment files
...
Actually also moves to a real pooling model, managed by node-pg.
Closes #47
See .example files for new configurations
2013-05-24 12:09:06 +02:00
Sandro Santilli
64c0494105
Hide dangerous methods of the PSQL model class
...
These steps are prepatorial to recactoring to event-based model
2013-05-24 10:38:27 +02:00
Sandro Santilli
cf6bed9bdb
Bubble paging UI hack up from model to controller
...
... one day we'll need to completely drop this hack!
2013-05-24 10:22:17 +02:00
javi
c46e9786b5
refactor formats to external object
2013-05-24 08:50:03 +02:00
Sandro Santilli
b1e7bb8f8f
Upgrade underscore dependencies
2013-05-24 08:26:23 +02:00
Sandro Santilli
81a83b93e4
Make base url configurable, use a wildcard in the example config
2013-05-23 11:49:23 +02:00
Sandro Santilli
e5ad8f0760
Fix test broken after oAuth interface change introduced in fcf95755
...
Also improve error message on miscall
2013-05-20 09:06:08 +02:00
Luis Bosque
fcf95755b6
Fixed problem identifying OAuth request protocol
...
The protocol of a OAuth request wasn't being identified correctly. It
always considered that the request protocol was https.
2013-05-14 18:01:37 +02:00
Sandro Santilli
414f4b6c3e
Do not request caching of TRUNCATE queries
2013-05-06 18:21:22 +02:00
Sandro Santilli
cc74244b33
Do not choke on multiple skipfields
parameter
2013-05-06 12:30:32 +02:00
Sandro Santilli
0ec66c69a7
Allow sql queries to end with a semicolon. Closes #90
2013-04-10 17:21:42 +02:00
Sandro Santilli
e7437ba7cd
Rework system catalogue prevention access check to use CDB_QueryTables
...
This change reduces the chances of false positive
(forbidding legit queries). Doesn't solve the problem of false
negative (allowing illegit queries).
2013-04-09 12:36:37 +02:00
Sandro Santilli
d54d953e75
Another bit of improvement for the system-table query prevention
...
This work is more important for the testcases than the actual code
2013-04-09 12:20:27 +02:00
Sandro Santilli
1bcffbc68c
Make using SET or querying system catalogues harder
...
An hack to "prevent" querying system tables already existed but
was pretty weak. This commits makes that a bit stronger. The
filter for SET is new.
2013-04-09 11:52:34 +02:00
Sandro Santilli
104ed355d0
Fix fd leak on export query cancel
2013-03-27 20:02:21 +01:00
Sandro Santilli
8f60735b5e
Queue export requests for shapefile format. Closes #65
2013-03-27 16:43:12 +01:00
Sandro Santilli
b2e88145ff
Comment out debugging line
2013-03-27 16:09:56 +01:00
Sandro Santilli
0261e8f687
Drop unused dependencies (csv and strftime)
2013-03-27 15:55:57 +01:00
Sandro Santilli
6d6dd16446
Draft delegating CSV output to OGR
...
Adapt tests to new output
2013-03-27 15:41:24 +01:00
Sandro Santilli
ff49346d4d
Drop unused variable
2013-03-26 18:20:36 +01:00
Sandro Santilli
58b079e212
Fix reace condition in new KML output, test KML export of empty table
2013-03-26 18:18:13 +01:00
Sandro Santilli
38f99c586a
Fix concurrent requests for KML export
2013-03-26 16:59:37 +01:00
Sandro Santilli
a0d9038e59
Auth / non-auth tests for SHP and KML export are in place
2013-03-26 16:14:48 +01:00
Sandro Santilli
c3ae7074cb
Make temporary dir a configuration setting
2013-03-26 16:02:05 +01:00
Sandro Santilli
12553dafdd
Don't forget to call .end() on the result (fixes Shapefile export)
2013-03-26 15:32:07 +01:00
Sandro Santilli
3f8a606432
Simplify steps for SHP and KML outputs
2013-03-26 12:59:46 +01:00
Sandro Santilli
41dd23b429
Do not run the query twice when exporting to KML
2013-03-26 12:47:03 +01:00
Sandro Santilli
6c0d7813f6
Upgrade generic-pool to ~2.0.2
2013-03-14 11:58:30 +01:00
Sandro Santilli
dc87209033
Do not confuse warnings with errors on shapefile output
...
Closes #87
2013-02-25 18:32:28 +01:00
Sandro Santilli
d4b1f580ff
Fix X-Cache-Channel computation with paging parameters. Closes #85 .
2013-02-18 16:19:12 +01:00
Sandro Santilli
10ec5b9fda
Do not attempt to compute an X-CacheChannel from a broken query info
...
Also enhance debugging for broken query info results
2013-02-18 12:20:18 +01:00
Sandro Santilli
19eb51b06d
Use an LRU cache for query tables, and add expiration support
...
Defaults to 8192 items each valid for no more than 10 minutes
Both settings can be changed via environment config.
See #83
2013-02-13 18:59:09 +01:00
Sandro Santilli
7d2d585c54
Check CDB_QueryTable response before saving into cache
...
Also add pid to /cachestatus (#83 )
2013-02-13 16:43:04 +01:00
Sandro Santilli
5959e6465a
Fix Content-Disposition for error responses. Closes #82
2013-02-13 13:32:34 +01:00
Sandro Santilli
d667d64c78
Fix skipfields use with SHP output format. Closes #81
2013-02-13 13:02:37 +01:00
Sandro Santilli
977ecbeb29
Return an error when "the_geom" is in skipfield for SVG output
...
Closes #73
2013-01-21 10:06:51 +01:00
Sandro Santilli
e897cb07d2
Add test for null geoms in geojson
...
Also drop an hard-coded "the_geom" in geojson output code
2013-01-11 18:57:45 +01:00
Sandro Santilli
9bc79bded6
Re-add null geometry support in geojson output
...
You never know if anyone is relying on them, and they are supported
by the specs:
https://github.com/mbostock/topojson/issues/18#issuecomment-12154398
We'll still skip those records for topojson
2013-01-11 18:43:05 +01:00
Sandro Santilli
ca065e89b9
Omit NULL the_geom features from from geojson and topojson outputs
...
Closes #80
2013-01-11 18:20:25 +01:00