|
|
|
@ -14,7 +14,7 @@ module.exports = QueryTablesApi;
|
|
|
|
|
|
|
|
|
|
QueryTablesApi.prototype.getAffectedTablesInQuery = function (username, sql, callback) {
|
|
|
|
|
|
|
|
|
|
var query = 'SELECT CDB_QueryTables($windshaft$' + prepareSql(sql) + '$windshaft$)';
|
|
|
|
|
var query = 'SELECT CDB_QueryTablesText($windshaft$' + prepareSql(sql) + '$windshaft$)';
|
|
|
|
|
|
|
|
|
|
this.pgQueryRunner.run(username, query, handleAffectedTablesInQueryRows, callback);
|
|
|
|
|
};
|
|
|
|
@ -25,9 +25,9 @@ function handleAffectedTablesInQueryRows(err, rows, callback) {
|
|
|
|
|
callback(new Error('could not fetch source tables: ' + msg));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var qtables = rows[0].cdb_querytables;
|
|
|
|
|
var tableNames = qtables.split(/^\{(.*)\}$/)[1];
|
|
|
|
|
tableNames = tableNames ? tableNames.split(',') : [];
|
|
|
|
|
|
|
|
|
|
// This is an Array, so no need to split into parts
|
|
|
|
|
var tableNames = rows[0].cdb_querytablestext;
|
|
|
|
|
callback(null, tableNames);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -35,7 +35,7 @@ QueryTablesApi.prototype.getAffectedTablesAndLastUpdatedTime = function (usernam
|
|
|
|
|
|
|
|
|
|
var query = [
|
|
|
|
|
'WITH querytables AS (',
|
|
|
|
|
'SELECT * FROM CDB_QueryTables($windshaft$' + prepareSql(sql) + '$windshaft$) as tablenames',
|
|
|
|
|
'SELECT * FROM CDB_QueryTablesText($windshaft$' + prepareSql(sql) + '$windshaft$) as tablenames',
|
|
|
|
|
')',
|
|
|
|
|
'SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max',
|
|
|
|
|
'FROM CDB_TableMetadata m',
|
|
|
|
@ -54,8 +54,8 @@ function handleAffectedTablesAndLastUpdatedTimeRows(err, rows, callback) {
|
|
|
|
|
|
|
|
|
|
var result = rows[0];
|
|
|
|
|
|
|
|
|
|
var tableNames = result.tablenames.split(/^\{(.*)\}$/)[1];
|
|
|
|
|
tableNames = tableNames ? tableNames.split(',') : [];
|
|
|
|
|
// This is an Array, so no need to split into parts
|
|
|
|
|
var tableNames = result.tablenames;
|
|
|
|
|
|
|
|
|
|
var lastUpdatedTime = result.max || 0;
|
|
|
|
|
|
|
|
|
|