Daniel García Aubert
f2ea01f627
Removed unnecessary check in job controller
2016-01-25 14:50:43 +01:00
Daniel García Aubert
79e626a71e
Added cors middleware, decoupled query and job controllers from its dependencies
2016-01-21 17:24:48 +01:00
Daniel García Aubert
048d2cd0ea
Refactored user database service ans updated controllers to use it.
2016-01-21 16:17:17 +01:00
Daniel García Aubert
f42727212b
Removed unnecessary checkAborted function in job controller and changed signature for getUserDatabase.
2016-01-21 15:05:46 +01:00
Daniel García Aubert
2913aed697
Placed job controller endpoit under /api/vX/sql
2016-01-18 20:12:44 +01:00
Daniel García Aubert
2d13bde301
Implemented uses cases test for Batch API
2016-01-11 20:14:15 +01:00
Daniel García Aubert
20f00d58d9
Refactored batch service to avoid event noise, doing in callback way
2016-01-08 15:47:59 +01:00
Daniel García Aubert
e6a4e0f7eb
Returned 201 HTTP code in job creation
...
Fixed bug listing jobs, now user job index is cleaned before respond to client
2016-01-07 12:07:30 +01:00
Daniel García Aubert
40d0161218
Fixed bug in authentication for PUT methods in Job Controller
2016-01-05 13:54:18 +01:00
Daniel García Aubert
246655de94
Changed redis data structure for users jobs
2016-01-04 19:08:13 +01:00
Daniel García Aubert
35650985db
Implemented job modification whether job is pending
2015-12-31 15:42:31 +01:00
Daniel García Aubert
ada39d84b8
Implemented job cancelation in Batch API
2015-12-30 20:16:18 +01:00
Daniel García Aubert
851c393f75
Refactored batch manager avoiding concurrence issues
2015-12-29 10:19:10 +01:00
Daniel García Aubert
4dcd7c0a50
Fixed typo and prepared for listing user's job
2015-12-24 17:47:41 +01:00
Daniel García Aubert
c4f96b4a59
Implemented support for listing jobs for one user
2015-12-24 17:42:49 +01:00
Daniel García Aubert
ecb76ca1de
Improved batch API being consistent with naming, humam readability for job dates, hide redis key details for jobs.
2015-12-23 17:29:11 +01:00
Daniel García Aubert
62db809476
Return 401 when no API KEY is provided
2015-12-23 14:55:49 +01:00
Daniel García Aubert
30d0b2906b
Implemented GET for jobs API
2015-12-22 11:45:25 +01:00
Daniel García Aubert
ef59a1d942
Fixed typo in batch test
2015-12-22 11:06:46 +01:00
Daniel García Aubert
328d4c6bfe
Fixed bad assertion in batch acceptance test
2015-12-22 11:02:16 +01:00
Daniel García Aubert
3762ad7a39
Now jobs are stored in redis instead of user's database
2015-12-21 19:57:10 +01:00
Daniel García Aubert
fb8feeb964
Now Job is an event emitter instance and we are able to know what happen wwith any job. Implemented test without a silly timeout
2015-12-16 18:13:48 +01:00
Daniel García Aubert
43f759e96a
Refactored Batch API using streams instead a interval to consume the job queue. Limited one job running at the same time per queue instead of using a job's counter to limit it.
2015-12-16 15:57:58 +01:00
Daniel García Aubert
6cc48bf9dd
Implemented batch service
2015-12-09 20:17:45 +01:00
Daniel García Aubert
c7680722ca
Passed tests
2015-12-09 12:35:20 +01:00
Daniel García Aubert
00721bcd02
Implementing batch service
2015-12-09 00:02:08 +01:00
Daniel García Aubert
6f741827cd
Fixed jshint error
2015-12-07 12:19:16 +01:00
vagrant
35d6600f36
Implemented test for job manegement
2015-12-07 10:29:55 +00:00
Daniel García Aubert
ee41db99ad
Returned job_id to client/user after job enqueue
2015-12-07 09:59:05 +01:00
Daniel García Aubert
a1243ad64d
Implemented job controller to enqueue jobs
2015-12-07 09:40:51 +01:00
Daniel García Aubert
f7a3c6ac4e
Renamed controllers routing method
2015-12-03 18:43:13 +01:00
Daniel García Aubert
c6bae6d951
app module moved to right place
2015-12-03 18:33:17 +01:00
Daniel García Aubert
d31d496a2e
Add useful comment
2015-12-03 18:25:35 +01:00
Daniel García Aubert
a697fe6faa
Making test pass
2015-12-03 18:19:39 +01:00
Daniel García Aubert
e5dedb6315
Split query controller and separated from app
2015-12-03 17:28:18 +01:00
Daniel García Aubert
df59405dca
Split some functionallity from app to dedicated controllers
2015-12-03 15:00:35 +01:00
Raul Ochoa
b160f4051a
Merge pull request #250 from CartoDB/issue-238
...
Stop adding X-Cache-Channel header when no tables involved
2015-09-08 12:30:26 +02:00
Raul Ochoa
5ec6d7c77b
Remove no longer needed health check params
2015-09-07 18:34:50 +02:00
Raul Ochoa
875eccba62
Stop adding X-Cache-Channel header when no tables were identified in SQL query
...
Fixes #238 and fixes #157
2015-09-07 18:22:24 +02:00
Raul Ochoa
335d71bc04
Adds a custom log4js format function to log sql query from POST requests
...
Tokens in log4js are not provided with request/response for context,
using a custom format function allow to access them
In the case of express logger token functions receive request/response
for context so it uses a custom token
Closes #206
2015-09-04 12:29:20 +02:00
Raul Ochoa
f816093036
Set Last-Modified
header based on affected tables
...
Closes #101
2015-09-02 16:25:56 +02:00
Raul Ochoa
c6c614b5bf
Do not return results from health check
...
It also removed old dependencies and takes disabled file path in ctor.
2015-08-28 18:16:04 +02:00
Raul Ochoa
d42e5a6b75
Do not expose remove from pool after query error as a config option
2015-08-04 16:23:36 +02:00
Raul Ochoa
7c696317d0
New option to remove client from pool after error happens
...
This help to avoid issues with transactions.
Closes #241
2015-08-04 15:53:50 +02:00
Raul Ochoa
a297a14300
Revert "Uses tables ogr2ogr param to avoid heavy query on pg_class and friends"
...
This reverts commit b6e53f7326
.
2015-06-16 16:58:22 +02:00
Francisco Dans
3a8f94641b
Merge pull request #225 from CartoDB/log-addr
...
Uses :remote-addr instead of :req[X-Real-IP]
2015-06-01 16:17:47 +02:00
Francisco Dans
996bd971cd
replaces default log format string to remote-addr
2015-05-26 19:18:54 +02:00
Raul Ochoa
debeb8ca3e
Update news
2015-05-25 16:38:07 +02:00
Raul Ochoa
b6e53f7326
Uses tables ogr2ogr param to avoid heavy query on pg_class and friends
...
Fixes #204
Newer versions of ogr2ogr don't use that heavy query so it should work
Ref 2e3eeefd0f
2015-05-25 16:29:18 +02:00
Raul Ochoa
9dd887dc4d
jshint fixes, not addressing complexity
2015-05-13 12:22:41 +02:00
Raul Ochoa
9dcb397737
Merge pull request #205 from CartoDB/url_rewrite
...
added /u/:user routing
2015-03-20 12:22:07 +01:00
Raul Ochoa
9b31df6793
Improve row size limit error message
2015-03-02 14:34:01 +01:00
Raul Ochoa
302a856d37
Move note about username extraction to cartodb_request
2015-02-02 12:15:53 +01:00
Raul Ochoa
e5ab4272eb
Use a multiple params route to be able to extract the username from
...
the path or default to host header.
2015-02-02 12:09:34 +01:00
javi
824b7c084e
added /u/:user routing
2015-01-30 11:37:29 +01:00
Seth Fitzsimmons
bcc1577ec4
Add 'refresh' to the list of keywords that write
2015-01-06 12:40:01 -08:00
Raul Ochoa
d50ddbb10f
Add more fields to error responses with hint, detail and context for SQL errors.
2014-11-21 12:59:48 +01:00
Raul Ochoa
74429f82e1
Improve topojson output by streaming json
2014-11-12 11:36:59 +01:00
Raul Ochoa
dc601a5feb
Improve statement timeout error messages
2014-11-11 13:57:15 +01:00
Raul Ochoa
25d2e64891
Removes query tables console.log
2014-09-17 15:54:46 +02:00
Raul Ochoa
2d232c20ef
Returns 401 Unauthorized for queries without permission
2014-09-02 15:00:04 +02:00
Raul Ochoa
7c62632ea8
Health check endpoint
2014-08-26 18:40:58 +02:00
Raul Ochoa
3a26692448
New header for database host serving the request
2014-08-22 12:29:27 +02:00
Raul Ochoa
0035f04edd
Metrics revamp: removes and adds some metrics
2014-08-18 19:45:17 +02:00
Raul Ochoa
77cb86154c
Starts using cartodb-psql node module in SQL API
2014-08-11 20:15:55 +02:00
Raul Ochoa
951636892c
Removes unused vars
2014-08-08 12:54:36 +02:00
Raul Ochoa
21b8e6947c
Non authenticated request cannot use pg_ catalogs/functions
2014-08-08 12:48:29 +02:00
Raul Ochoa
f6c364b3b9
CDB-3032 Removes sql statements restriction on pg_ queries
2014-08-07 16:22:48 +02:00
Raul Ochoa
bd60f8f748
Using new method from cartodb-redis to retrieve oauth values so we
...
can reuse the same redis-mpool
2014-08-06 12:51:55 +02:00
Raul Ochoa
a7027f4b05
Removes console.log
2014-08-05 16:48:11 +02:00
Raul Ochoa
480a9f27b4
New authentication mechanism: checks in advance if credentials are provided
...
in order to do a single request to redis to retrieve the required database
connection parameters.
2014-08-05 16:20:06 +02:00
Raul Ochoa
49406c99fa
Moves auth functionality to its own directory
2014-08-05 11:57:43 +02:00
Raul Ochoa
e16f278087
CDB-3629 Uses one request to redis to retrieve all connection params
2014-08-05 02:29:07 +02:00
Raul Ochoa
ce70e7252b
Callback requests send 200 status error even if the query failed
2014-08-04 15:56:43 +02:00
Raul Ochoa
73a195a7fa
Use streaming for json responses. Number of buffered rows can be specified by config.
2014-07-31 02:17:07 +02:00
Luis Bosque
6bb015bb14
[CDB-3678] Add X-Served-By-Host header
2014-07-30 12:39:03 +02:00
Raul Ochoa
2653314818
CDB-3657 Sends profiler data as json in X-SQLAPI-Profiler header
2014-07-29 19:29:16 +02:00
Raul Ochoa
0f14118235
CDB-3629 Pickup redis pool config values
2014-07-29 13:58:16 +02:00
Raul Ochoa
a7d444ca92
Changes authentication to start using public user if it is defined in redis.
2014-07-29 13:52:04 +02:00
Raul Ochoa
1a390a3d40
Some style changes
2014-07-29 13:52:04 +02:00
Raul Ochoa
21d6924088
Removes the call to set the search path as it should get the correct public user from redis
2014-07-29 13:52:04 +02:00
javi
ca7b87d81a
fixed problem when a query raised a database error
2014-07-29 13:52:04 +02:00
Raul Ochoa
9c255c504b
Updates CDB_QueryTables to match the one from the extension. Fixes some tests to show the schema presence.
...
Skip some tests that we need to review because with the current implementation of CDB_QueryTables dont make sense.
CDB_QueryTables should be used from the extension as a dependency.
2014-07-29 13:52:04 +02:00
javi
755ed362d4
set scheme to host user when public user is accessing
2014-07-29 13:52:04 +02:00
Raul Ochoa
b3609696a3
requests associated with formats based on postgres expose a cancel method that will be called on client request abortion/cancelling so postgres can cancel ongoing queries
2014-06-02 14:48:38 +02:00
Sandro Santilli
4b5a5921d5
Fix application_name to "cartodb_sqlapi"
2014-05-07 16:15:46 +02:00
Sandro Santilli
51b135c0ac
Set default PostgreSQL application name to "cartodb_sqlapi"
2014-05-07 16:14:17 +02:00
Raul Ochoa
2d2c056d6b
Removes spawn unused dependency
2014-04-22 11:18:52 +02:00
Raul Ochoa
537cb238c6
CDB-2081 Adds support for order_by through http query params.
2014-04-14 15:01:12 +02:00
Raul Ochoa
909530cfb3
documentation for sql parameter
2014-04-11 12:13:44 +02:00
Raul Ochoa
d10bd8e3b0
precompiled query may write regex
2014-04-11 12:03:43 +02:00
Sandro Santilli
766345595e
Add statsd support
...
Closes #133
2014-03-20 11:22:13 +01:00
Sandro Santilli
2cbdc4c38c
Add profiler support
...
Closes #142
2014-03-19 18:34:21 +01:00
Sandro Santilli
b0d0d4d073
Reduce work on aborted requests
...
Closes #129
Includes testcase
2014-03-19 13:30:29 +01:00
Sandro Santilli
67cc05085f
Always use INFO severity for express logging
...
Avoids sending non-200 responses logs to rollbar, when active
2014-03-13 17:13:53 +01:00
Sandro Santilli
622846b453
Add '/version' endpoint
...
Closes #138
Includes testcase
2014-03-13 13:40:56 +01:00
Sandro Santilli
ac4acf98ae
Use console.error for logging errors
2014-03-13 12:14:11 +01:00
Sandro Santilli
1f3aca837b
Use log4js for logging
...
Closes #136
2014-03-13 11:52:40 +01:00
Sandro Santilli
b565ce2959
Allow configuring log_format
...
Closes #131
2014-02-10 17:34:27 +01:00
Sandro Santilli
ec1d002812
Stop using ANSI colors in the logs
...
Closes #130
2014-02-10 17:10:34 +01:00
Sandro Santilli
6c47537f47
Honour the 'node_socket_timeout' configuration directive
...
Closes #128
Includes testcase, which required enhancing assert.response to
handle errors.
Changes app controller to a function that only reads configuration
when executed (rather than when only require'd).
2014-01-31 10:58:19 +01:00
Sandro Santilli
161a0bf5e5
Restore compatibility with 1.6.x configuration
2014-01-17 13:14:30 +01:00
Sandro Santilli
80c30858bd
Enhance error message on unknown cartodb username
...
Closes #126
2013-12-18 12:02:51 +01:00
Sandro Santilli
87d35aa155
Generalize CartoDB username extraction, allowing for multiuser setups
...
Closes #124
2013-12-18 11:59:00 +01:00
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
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
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
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
1637610f66
Set a meaningful X-Cache-Channel with cache_policy=persist
...
Closes #105
2013-10-18 13:29:06 +02:00
Sandro Santilli
a0ff7ee10c
Remove last bit of hard-coded format names from app controller
2013-09-05 17:10:48 +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
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
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
838c0c93ba
Add support for GET params in POST requests
2013-07-04 16:14:44 +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
339bc0b3a4
Fix windowing support for non-uppercased SELECT queries
2013-06-06 15:24:57 +02:00
Luis Bosque
fac2b1bb68
Trust forwarded proto header from proxy
2013-05-30 11:56:43 +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
3f98cab09a
Do not execute queries on OPTIONS. Closes #94
2013-05-24 14:21:13 +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
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
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
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
Sandro Santilli
3e7c8f4d22
Improve mixed geometry export error message. Closes #78
2013-01-11 17:09:22 +01:00
Sandro Santilli
a81b55e421
Include properties to TopoJSON output. Closes #79
...
Includes support for the skipfields option
2013-01-11 11:10:51 +01:00
Sandro Santilli
39669578b6
Initial support for TopoJSON ( #79 )
...
Does not include any attributes in the format
2013-01-09 17:43:23 +01:00
Sandro Santilli
2e85588d99
Format date fields in CSV output
2012-12-07 14:27:02 +01:00
Sandro Santilli
c00cf6d390
Revert "Upgrade node-csv module to version 0.2.4"
...
This reverts commit 270e6280ed
.
The performance issue must be fixed before we can upgrade:
https://github.com/wdavidw/node-csv-parser/issues/64
2012-11-19 18:44:53 +01:00
Sandro Santilli
270e6280ed
Upgrade node-csv module to version 0.2.4
...
Will help with compressed-csv export format
2012-11-19 16:20:40 +01:00
Sandro Santilli
3a641beda8
Fix UTF8 in shapefile export. Closes #66 .
...
Testcases count reaches 100 ! Happy post-post-gis day :)
2012-11-16 12:50:21 +01:00
Sandro Santilli
da05e6f4ca
Fix KML export truncation. Closes #947
...
Also adds test for SHP truncation (isn't trucated)
2012-11-16 12:22:06 +01:00
Sandro Santilli
75fcd5ae9c
Do not write back to request.query as it breaks oAuth signature
...
NOTE: this breakage misses a testcase (overcomplex at the moment)
2012-11-14 18:04:38 +01:00
Sandro Santilli
bd08eb4add
Use inline attachment also with POST, if format isn't given
2012-11-14 16:30:18 +01:00
Sandro Santilli
6b7cada97d
Never dispose "inline" when using POST.
2012-11-13 19:27:25 +01:00
johnhackworth
e64c3f57f7
changes in the way the parameters are collected to support both POST and GET
2012-11-13 19:27:25 +01:00
Sandro Santilli
0ef13f08c2
Use inline disposition when no format and no filename are given
...
See #61
2012-11-12 19:44:16 +01:00
Sandro Santilli
120cf3f0c5
Add 'cache_policy' parameter. Closes #62
2012-11-12 19:14:20 +01:00
Sandro Santilli
005ae48e3a
Support for specifying a list of fields to skip from output.
...
Closes #63
2012-11-12 17:11:17 +01:00
Sandro Santilli
46cec7a0e5
Add support for specifying a filename for exports. Closes #64
...
Sets release target to 1.3.0, due to parameter addition
2012-11-12 12:40:53 +01:00
javi
3fd3c5fabc
added the needed headers for CORS
2012-11-01 13:17:45 +01:00
Sandro Santilli
110af3e9d9
Add "sqlapi" prefix to temporary dir for shapefile output
2012-10-31 11:57:20 +01:00
Sandro Santilli
9aa28c5bea
Initial support for KML output format. Closes #54 .
2012-10-25 18:10:56 +02:00
Sandro Santilli
978c0b4cbe
Advertise header presence in CSV Content-Type
2012-10-25 13:40:21 +02:00
Sandro Santilli
a6837573c5
Use "attachment" Content-Disposition for all output formats.
...
Closes #61 , includes tests
NOTE: this includes the default "json" format.
2012-10-25 13:34:06 +02:00
Sandro Santilli
5d8eccc81e
Fix CSV output with no rows. Closes #60
2012-10-25 13:14:47 +02:00
Sandro Santilli
a560a37823
Generalize OGR output function
2012-10-23 17:45:56 +02:00
Sandro Santilli
26bdccf541
Remove debugging output
2012-10-18 13:19:08 +02:00
Sandro Santilli
d0ae7e08a6
Initial support for Shapefile output
2012-10-18 12:51:12 +02:00
Sandro Santilli
8574517ab8
Add a userid_to_dbuser function
2012-10-18 11:33:35 +02:00
Sandro Santilli
d9b733e5c6
Recognize ALTER as a writing query
2012-10-15 13:40:04 +02:00
Sandro Santilli
d23416cc60
Set X-Cache-Channel to NONE when the SQL may write to the database
...
Note that "may write" allows for false positive, so there could be
less cache hits than possibly allowable. If this will be a problem
for any real use case we could still improve the regular expression
used to detect "writing" queries.
Automated tests are added to check for the X-Cache-Channel header
with both writing and read-only queries performed by authenticated
requests.
Closes #27
Closes #43
2012-10-15 13:23:17 +02:00
Sandro Santilli
553146e6dd
Add consistency checking in packageResult about format value
2012-10-12 12:57:03 +02:00
Sandro Santilli
ac83700810
Send a 404 on unsupported format requested
2012-10-12 12:17:35 +02:00
Sandro Santilli
0d91ab2c6a
Survive multiple "format" parameters, only using last one
2012-10-12 11:42:03 +02:00
Sandro Santilli
6a2c0e9727
Initial support for SVG output ( #49 )
...
This version only dumps the geometries with no identifier.
Scales geometries to fit in a 1024x768 pixels area, using
a circle radius of 5 pixels, a stroke-width of 1 pixel and
no fill. Supports trimming number of decimals.
Adds a viewBox tag to fit the drawing to the output device window.
Includes an automated testcase.
2012-10-04 12:04:50 +02:00
Sandro Santilli
4521942820
Test "CSV" format, drop "KML" from the list of supported formats
2012-10-04 12:04:50 +02:00
Sandro Santilli
eb645d298c
More embedded comments
2012-10-04 12:04:49 +02:00
Sandro Santilli
8b824801cf
Fix INSERT and UPDATE with RETURNING clause. Closes #50
...
Includes regression test
2012-09-17 11:50:19 +02:00
JM
c881d991a6
Support case insensitive in format parameter. Closes #30
...
Also fixes https://github.com/Vizzuality/cartodb/issues/795
2012-07-13 10:24:12 +02:00
strk
e6b4896338
Merge pull request #33 from jmnavarro/issue-14
...
Allow using without redis (closes #14 )
... as long as OAuth is not used and database name is given in URL
2012-07-12 08:31:24 -07:00
JM
7e1847bca5
fixed #13
...
from support: Different JSON result for non-query request
http://support.cartodb.com/discussions/suggestions/50-sql-api-different-json-object-for-non-query-request
2012-06-30 02:34:43 +02:00
JM
b65d947b5a
skip redis when database is hardcoded
2012-06-30 01:54:53 +02:00
Simon Tokumine
374583e655
add tests and refactor validations for input parameters. closes #29
2012-06-06 19:47:21 +01:00
Javier de la Torre
72c3911453
Fix issue #723 to return better error
...
https://github.com/Vizzuality/cartodb/issues/723
2012-05-11 16:46:45 -04:00
Javier de la Torre
bba4ba6192
Change default number of decimals on geojson to 6
2012-05-11 15:48:50 -04:00
Simon Tokumine
1834d6e245
update tests with md5 fix
2012-05-08 15:28:22 +01:00
Simon Tokumine
d7df8b1449
fix api key tests
2012-05-08 15:25:19 +01:00
Simon Tokumine
b3fac461fb
allow dollar quoted sql to be passed
2012-05-01 20:55:12 +01:00
Simon Tokumine
7e074bbc98
add explain cache and cache status route
2012-05-01 16:46:30 +01:00
Simon Tokumine
977f7d0e79
dollar quote sql
2012-04-20 16:09:31 -04:00
Simon Tokumine
9bb7afb7f5
add specific cache key
2012-04-20 14:34:18 -04:00
Simon Tokumine
d704dc39d0
red herring
2012-04-19 11:38:27 -04:00
Simon Tokumine
5f27cb896e
update close
2012-04-19 11:25:09 -04:00
Simon Tokumine
f359cd3ed3
close connections
2012-04-19 11:14:29 -04:00
Simon Tokumine
4cbdf62cc2
make wellformed CSV and stream back to browser. #9
2012-04-13 15:37:09 +01:00
Simon Tokumine
ffc1fa3fe1
closes #11 . closes #9 . Pending reorganisation.
2012-04-13 00:30:45 +01:00
javi santana
59739483e8
added auth using api token
2011-12-26 19:16:41 +01:00
Simon Tokumine
4a9e00e476
update logging format
2011-12-14 00:50:56 +00:00
Simon Tokumine
54a7aee5e5
better sql-api logging
2011-12-13 23:59:00 +00:00
Simon Tokumine
807dbce04c
better sql-api logging
2011-12-13 23:55:35 +00:00
Simon Tokumine
00bec44720
add host to log
2011-12-13 10:18:37 +00:00
Simon Tokumine
c59e7964d0
add host to log
2011-12-13 10:13:55 +00:00
Simon Tokumine
9c6619f3e0
organise headers
2011-12-08 12:34:07 +00:00
Simon Tokumine
2bd532bc20
add experimental varnish headers
2011-12-08 02:22:44 +00:00
Simon Tokumine
025f201ea8
add system table sanitizer
2011-11-22 00:06:14 +00:00
Simon Tokumine
8ebdd0474c
Add test for system tables
2011-11-21 23:06:38 +00:00
Simon Tokumine
de191ed33b
Add decimal place limiting to geojson call
2011-11-08 23:35:59 +00:00
Simon Tokumine
f66022a63d
add cross site post
2011-11-07 14:24:08 -05:00
Simon Tokumine
555e072195
tidy geojson, add content-disposition and remove KML for now. Closes #7
2011-10-28 12:11:18 +01:00
Simon Tokumine
d4ca767753
update readme
2011-10-07 17:19:02 +01:00
Andrew W. Hill
1c3fb9b072
allows either s sql.format or format=format
2011-09-20 20:04:43 -07:00
Andrew W. Hill
19b2829d73
added simple kml support to SQL API, format=kml will output
2011-09-20 19:15:43 -07:00
Andrew W. Hill
fd4bab78e1
moved sql.fogeojson? to sql?format=geojson
2011-09-20 18:04:26 -07:00
Andrew W. Hill
bc2c828c9a
removed some console.log remnants
2011-09-19 05:16:53 -07:00
vizadmin
1a0c2d3eaf
working sql.ext option, sql.geojson formats the json as a geojson spec. also rewrites the query to perform a ST_AsGeoJSON query
2011-09-19 05:15:14 -07:00
Simon Tokumine
5360a41ccf
add instructions for a mapuser
2011-09-08 15:40:27 +01:00
Simon Tokumine
47db0644c9
reverted to non-native bindings while we bug check the PQsendQuery error
2011-09-07 16:50:35 +01:00
Simon Tokumine
ec74953e78
updated logging format
2011-09-07 15:38:48 +01:00
Simon Tokumine
d9870305da
updated to post
2011-09-07 12:05:10 +01:00
Simon Tokumine
f10cd72e0b
updated acceptance tests for host name based public api and made work :)
2011-08-24 20:47:10 +01:00
Simon Tokumine
fe93684b85
tests pass
2011-08-24 12:54:26 +01:00
Simon Tokumine
e189aec262
added ability to query user metadata Redis data for database name from the request host
2011-08-23 21:42:27 +01:00
Simon Tokumine
ce4413cbda
added body_hash to oauth check and stopped firing exception if incomplete oauth variables sent
2011-08-22 13:33:12 +01:00
Alvaro Bautista
164f3725a7
Check that err object is defined
2011-08-18 13:35:55 +02:00
Simon Tokumine
5771cdc8a8
update jsonp
2011-08-17 21:54:18 +01:00
Simon Tokumine
5683394417
added jsonp
2011-08-17 21:46:47 +01:00
Simon Tokumine
94478ec775
added jsonp
2011-08-17 21:44:30 +01:00
Simon Tokumine
d4d1f3b223
remove logging
2011-08-17 21:26:15 +01:00
Simon Tokumine
1e7663f44a
debug logging
2011-08-17 19:35:26 +01:00
Simon Tokumine
bb08f4f982
further fixes for public
2011-08-17 18:42:19 +01:00
Simon Tokumine
fefa051450
added true oauth to application. got rid of bogus
2011-08-17 17:27:45 +01:00
Simon Tokumine
1a1493327f
patched windowing function to only work on selects
2011-08-05 13:35:32 +01:00
Simon Tokumine
34dc9d367a
I'm a total idiot
2011-07-08 21:19:45 +01:00
Simon Tokumine
6b67fc4877
catch page 0
2011-07-05 17:56:31 +01:00
Simon Tokumine
ae2890c42a
added rows_per_page and page to url params
2011-07-05 17:31:01 +01:00
Simon Tokumine
c65ad395d1
added logging to main worker
2011-07-05 12:01:34 +01:00
Alvaro Bautista
f0df331fb4
Change request path from /v1 to /api/v1
2011-07-04 17:28:39 +02:00
Simon Tokumine
2e3575339c
update json format to match current cartodb
2011-07-01 19:43:42 +01:00
Simon Tokumine
80ecdc565c
oauth
2011-06-20 15:39:12 +02:00
Simon Tokumine
f47c611dfc
added redis pool, and fixed to use pg_bouncer
2011-06-16 18:23:38 +02:00
Simon Tokumine
870ae7d325
fix psql bug
2011-06-16 11:55:36 +02:00
Simon Tokumine
5c68302b55
fix postgres issue
2011-06-13 13:07:55 +01:00
Simon Tokumine
423e156552
remove args trim (broken for some reason) and funcionise exception handler
2011-06-13 13:07:21 +01:00
Simon Tokumine
bcd56de458
first draft, tidied, unit tests, modules, refactor, environments, see TODO for next steps"
2011-06-13 04:23:02 +01:00