Name

global.QBStatusRecordsToDelete

Description

No description available

Script

var QBStatusRecordsToDelete = Class.create();
QBStatusRecordsToDelete.prototype = {
  initialize: function() {},
  getQueryExecutionIds: function() {
      var resultTables = [];
      var latestexecutionIds = [];
      var recordsToDelete = [];
  	var savedQueryIds = [];
      var status = ['COMPLETE', 'MAX_LIMIT'];
  	
  	var glideSavedQuery = new GlideRecord('qb_saved_query');
  	glideSavedQuery.addJoinQuery('sysauto_query_builder');
      glideSavedQuery.query();
      while (glideSavedQuery.next() && glideSavedQuery.canRead()) {
          var resultTableName = glideSavedQuery.getValue('result_table');
          resultTables.push(resultTableName);
      }

      for (var i = 0; i < resultTables.length; i++) {
          var glideQbStatus1 = new GlideRecord('qb_query_status');
          glideQbStatus1.addQuery('table_name', resultTables[i]);
          glideQbStatus1.addQuery('status', 'IN', status);
          glideQbStatus1.orderByDesc('sys_updated_on');
          glideQbStatus1.setLimit(1);
          glideQbStatus1.query();
          if (glideQbStatus1.next() && glideQbStatus1.canRead()) {
              latestexecutionIds.push(glideQbStatus1.getValue('sys_id'));
          }
      }

      var glideQbStatus2 = new GlideRecord('qb_query_status');
      glideQbStatus2.addQuery('sys_id', 'NOT IN', latestexecutionIds);
      glideQbStatus2.query();
      while (glideQbStatus2.next() && glideQbStatus2.canRead()) {
          recordsToDelete.push(glideQbStatus2.getValue('sys_id'));
      }
      return recordsToDelete;
  },
  type: 'QBStatusRecordsToDelete'
};

Sys ID

8fb7decb7753330033b5270bba1061b8

Offical Documentation

Official Docs: