Fix X-Cache-Channel computation with paging parameters. Closes #85.
This commit is contained in:
parent
d418db03e4
commit
d4b1f580ff
1
NEWS.md
1
NEWS.md
@ -5,6 +5,7 @@
|
|||||||
* Add pid to /cachestatus (#83)
|
* Add pid to /cachestatus (#83)
|
||||||
* Check CDB_QueryTable response before saving into cache (#83)
|
* Check CDB_QueryTable response before saving into cache (#83)
|
||||||
* Use an expiring LRU cache for query tables (#83)
|
* Use an expiring LRU cache for query tables (#83)
|
||||||
|
* Fix X-Cache-Channel computation with paging parameters (#85)
|
||||||
|
|
||||||
1.3.4 (21/01/13)
|
1.3.4 (21/01/13)
|
||||||
-----
|
-----
|
||||||
|
@ -183,7 +183,7 @@ function handleQuery(req, res) {
|
|||||||
tableCacheItem.hits++;
|
tableCacheItem.hits++;
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
pg.query("SELECT CDB_QueryTables($quotesql$" + sql + "$quotesql$)", this);
|
pg.query("SELECT CDB_QueryTables($quotesql$" + sql + "$quotesql$)", this, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function queryResult(err, result){
|
function queryResult(err, result){
|
||||||
|
@ -54,7 +54,7 @@ var PSQL = function(user_id, db, limit, offset){
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
me.query = function(sql, callback){
|
me.query = function(sql, callback, skip_window){
|
||||||
var that = this;
|
var that = this;
|
||||||
|
|
||||||
Step(
|
Step(
|
||||||
@ -67,7 +67,7 @@ var PSQL = function(user_id, db, limit, offset){
|
|||||||
},
|
},
|
||||||
function(err, client){
|
function(err, client){
|
||||||
if (err) return callback(err, null);
|
if (err) return callback(err, null);
|
||||||
client.query(that.window_sql(sql), this);
|
client.query(skip_window ? sql : that.window_sql(sql), this);
|
||||||
},
|
},
|
||||||
function(err, res){
|
function(err, res){
|
||||||
//if (err) console.log(err);
|
//if (err) console.log(err);
|
||||||
|
@ -111,6 +111,25 @@ function(done){
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Test for https://github.com/Vizzuality/CartoDB-SQL-API/issues/85
|
||||||
|
test("paging doesn't break x-cache-channel",
|
||||||
|
function(done){
|
||||||
|
assert.response(app, {
|
||||||
|
url: '/api/v1/sql?' + querystring.stringify({
|
||||||
|
q: 'SELECT cartodb_id*3 FROM untitle_table_4',
|
||||||
|
api_key: '1234',
|
||||||
|
rows_per_page: 1,
|
||||||
|
page: 2
|
||||||
|
}),
|
||||||
|
headers: {host: 'vizzuality.cartodb.com'},
|
||||||
|
method: 'GET'
|
||||||
|
},{ }, function(res) {
|
||||||
|
assert.equal(res.statusCode, 200, res.body);
|
||||||
|
assert.equal(res.headers['x-cache-channel'], 'cartodb_test_user_1_db:untitle_table_4');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
test('POST /api/v1/sql with SQL parameter on SELECT only. no database param, just id using headers', function(done){
|
test('POST /api/v1/sql with SQL parameter on SELECT only. no database param, just id using headers', function(done){
|
||||||
assert.response(app, {
|
assert.response(app, {
|
||||||
|
Loading…
Reference in New Issue
Block a user