function getDataFromCache()

in middleware/controllers/explorer.js [156:203]


function getDataFromCache(start, end) {
    const db = new sqlite3.Database(DB_PATH, (err) => {
      if (err) {
          logger.error('Error connecting to SQLite database:', err);
      } else {
          logger.info('Connected to SQLite cache database');
      }
    });

    return new Promise((resolve, reject) => {
      let query;
      let params = [];
  
      if (typeof start === "number" && typeof end === "number" && !isNaN(start) && !isNaN(end)) {
        // Used by table view
        query = `
          SELECT block_id, volume, created_at 
          FROM transactions
          WHERE block_id BETWEEN ? AND ?  
          ORDER BY block_id ASC
        `;
        params = [start, end];
      } else if (start === null && end === null) {
        // Used by full chart query
        query = `
          SELECT block_id, volume, created_at 
          FROM transactions  
          ORDER BY block_id ASC
        `;
      } else {
        // Fallback when parameters are missing or invalid
        query = `
          SELECT block_id, volume, created_at 
          FROM transactions  
          ORDER BY block_id ASC
          LIMIT 100
        `;
      }
  
      db.all(query, params, (err, rows) => {
        if (err) {
          reject(err);
        } else {
          resolve(rows);
        }
      });
    });
  }