Merge pull request #1123 from Algunenano/query_tables_update
Query tables update
This commit is contained in:
@@ -6,8 +6,8 @@ const assert = require('../support/assert');
|
||||
const TestClient = require('../support/test-client');
|
||||
const serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
const windshaftUtils = require('windshaft').utils;
|
||||
const webmercator = new windshaftUtils.WebMercatorHelper();
|
||||
const WebMercatorHelper = require('cartodb-query-tables').utils.webMercatorHelper;
|
||||
const webmercator = new WebMercatorHelper();
|
||||
|
||||
const suites = [
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@ var IMAGE_EQUALS_HIGHER_TOLERANCE_PER_MIL = 25;
|
||||
var CartodbWindshaft = require('../../lib/cartodb/server');
|
||||
var serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
var QueryTables = require('cartodb-query-tables');
|
||||
var QueryTables = require('cartodb-query-tables').queryTables;
|
||||
|
||||
['/api/v1/map', '/user/localhost/api/v1/map'].forEach(function(layergroup_url) {
|
||||
|
||||
@@ -282,7 +282,7 @@ describe(suiteName, function() {
|
||||
var parsedBody = JSON.parse(res.body);
|
||||
expected_token = parsedBody.layergroupid.split(':')[0];
|
||||
helper.checkCache(res);
|
||||
helper.checkSurrogateKey(res, new QueryTables.DatabaseTablesEntry([
|
||||
helper.checkSurrogateKey(res, new QueryTables.QueryMetadata([
|
||||
{dbname: "test_windshaft_cartodb_user_1_db", table_name: "test_table", schema_name: "public"},
|
||||
{dbname: "test_windshaft_cartodb_user_1_db", table_name: "test_table_2", schema_name: "public"},
|
||||
]).key().join(' '));
|
||||
|
||||
@@ -9,7 +9,7 @@ var _ = require('underscore');
|
||||
var LayergroupToken = require('../../lib/cartodb/models/layergroup-token');
|
||||
|
||||
var PgQueryRunner = require('../../lib/cartodb/backends/pg_query_runner');
|
||||
var QueryTables = require('cartodb-query-tables');
|
||||
var QueryTables = require('cartodb-query-tables').queryTables;
|
||||
var CartodbWindshaft = require('../../lib/cartodb/server');
|
||||
var serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
@@ -367,11 +367,9 @@ describe('tests from old api translated to multilayer', function() {
|
||||
keysToDelete['map_cfg|' + LayergroupToken.parse(JSON.parse(res.body).layergroupid).token] = 0;
|
||||
keysToDelete['user:localhost:mapviews:global'] = 5;
|
||||
|
||||
var affectedFn = QueryTables.getAffectedTablesFromQuery;
|
||||
QueryTables.getAffectedTablesFromQuery = function(sql, username, query, callback) {
|
||||
affectedFn({query: function(query, callback) {
|
||||
return callback(new Error('fake error message'), []);
|
||||
}}, username, query, callback);
|
||||
var affectedFn = QueryTables.getQueryMetadataModel;
|
||||
QueryTables.getQueryMetadataModel = function(pg, sql, callback) {
|
||||
return callback(new Error('fake error message'));
|
||||
};
|
||||
|
||||
// reset internal cacheChannel cache
|
||||
@@ -396,8 +394,8 @@ describe('tests from old api translated to multilayer', function() {
|
||||
status: 200
|
||||
},
|
||||
function(res) {
|
||||
QueryTables.getQueryMetadataModel = affectedFn;
|
||||
assert.ok(!res.headers.hasOwnProperty('x-cache-channel'));
|
||||
QueryTables.getAffectedTablesFromQuery = affectedFn;
|
||||
done();
|
||||
}
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ var _ = require('underscore');
|
||||
var redis = require('redis');
|
||||
var step = require('step');
|
||||
var strftime = require('strftime');
|
||||
var QueryTables = require('cartodb-query-tables');
|
||||
var QueryTables = require('cartodb-query-tables').queryTables;
|
||||
var NamedMapsCacheEntry = require('../../lib/cartodb/cache/model/named_maps_entry');
|
||||
var redis_stats_db = 5;
|
||||
|
||||
@@ -1416,7 +1416,7 @@ describe('template_api', function() {
|
||||
// See https://github.com/CartoDB/Windshaft-cartodb/issues/176
|
||||
helper.checkCache(res);
|
||||
var expectedSurrogateKey = [
|
||||
new QueryTables.DatabaseTablesEntry([{dbname: 'test_windshaft_cartodb_user_1_db', schema_name: 'public',
|
||||
new QueryTables.QueryMetadata([{dbname: 'test_windshaft_cartodb_user_1_db', schema_name: 'public',
|
||||
table_name: 'test_table_private_1'}]).key(),
|
||||
new NamedMapsCacheEntry('localhost', template_acceptance_open.name).key()
|
||||
].join(' ');
|
||||
@@ -1500,7 +1500,7 @@ describe('template_api', function() {
|
||||
// See https://github.com/CartoDB/Windshaft-cartodb/issues/176
|
||||
helper.checkCache(res);
|
||||
var expectedSurrogateKey = [
|
||||
new QueryTables.DatabaseTablesEntry([{dbname: 'test_windshaft_cartodb_user_1_db', schema_name: 'public',
|
||||
new QueryTables.QueryMetadata([{dbname: 'test_windshaft_cartodb_user_1_db', schema_name: 'public',
|
||||
table_name: 'test_table_private_1'}]).key(),
|
||||
new NamedMapsCacheEntry('localhost', template_acceptance_open.name).key()
|
||||
].join(' ');
|
||||
|
||||
@@ -9,7 +9,7 @@ var cartodbRedis = require('cartodb-redis');
|
||||
|
||||
var PgConnection = require('../../lib/cartodb/backends/pg_connection');
|
||||
|
||||
var QueryTables = require('cartodb-query-tables');
|
||||
var QueryTables = require('cartodb-query-tables').queryTables;
|
||||
|
||||
|
||||
describe('QueryTables', function() {
|
||||
@@ -34,18 +34,15 @@ describe('QueryTables', function() {
|
||||
|
||||
it('should return an object with affected tables array and last updated time', function(done) {
|
||||
var query = 'select * from test_table';
|
||||
QueryTables.getAffectedTablesFromQuery(connection, query, function(err, result) {
|
||||
QueryTables.getQueryMetadataModel(connection, query, function(err, result) {
|
||||
assert.ok(!err, err);
|
||||
|
||||
assert.equal(result.getLastUpdatedAt(), 1234567890123);
|
||||
|
||||
assert.equal(result.tables.length, 1);
|
||||
assert.deepEqual(result.tables[0], {
|
||||
dbname: 'test_windshaft_cartodb_user_1_db',
|
||||
schema_name: 'public',
|
||||
table_name: 'test_table',
|
||||
updated_at: new Date(1234567890123)
|
||||
});
|
||||
assert.equal(result.tables[0].dbname, 'test_windshaft_cartodb_user_1_db');
|
||||
assert.equal(result.tables[0].schema_name, 'public');
|
||||
assert.equal(result.tables[0].table_name, 'test_table');
|
||||
|
||||
done();
|
||||
});
|
||||
@@ -53,18 +50,15 @@ describe('QueryTables', function() {
|
||||
|
||||
it('should work with private tables', function(done) {
|
||||
var query = 'select * from test_table_private_1';
|
||||
QueryTables.getAffectedTablesFromQuery(connection, query, function(err, result) {
|
||||
QueryTables.getQueryMetadataModel(connection, query, function(err, result) {
|
||||
assert.ok(!err, err);
|
||||
|
||||
assert.equal(result.getLastUpdatedAt(), 1234567890123);
|
||||
|
||||
assert.equal(result.tables.length, 1);
|
||||
assert.deepEqual(result.tables[0], {
|
||||
dbname: 'test_windshaft_cartodb_user_1_db',
|
||||
schema_name: 'public',
|
||||
table_name: 'test_table_private_1',
|
||||
updated_at: new Date(1234567890123)
|
||||
});
|
||||
assert.equal(result.tables[0].dbname, 'test_windshaft_cartodb_user_1_db');
|
||||
assert.equal(result.tables[0].schema_name, 'public');
|
||||
assert.equal(result.tables[0].table_name, 'test_table_private_1');
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user