Class: Dbviewer::Query::Collection

Inherits:
Storage::InMemoryStorage show all
Defined in:
lib/dbviewer/query/collection.rb

Overview

Collection handles the storage and retrieval of SQL queries This class is maintained for backward compatibility New code should use InMemoryStorage or FileStorage directly

Constant Summary collapse

MAX_QUERIES =

Maximum number of queries to keep in memory

1000

Instance Method Summary collapse

Methods inherited from Storage::InMemoryStorage

#add, #all, #clear, #initialize

Methods inherited from Storage::Base

#add, #all, #clear, #initialize

Constructor Details

This class inherits a constructor from Dbviewer::Storage::InMemoryStorage

Instance Method Details

#filter(limit: 100, table_filter: nil, request_id: nil, min_duration: nil) ⇒ Object

Get recent queries, optionally filtered



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/dbviewer/query/collection.rb', line 11

def filter(limit: 100, table_filter: nil, request_id: nil, min_duration: nil)
  result = all

  # Apply filters if provided
  result = filter_by_table(result, table_filter) if table_filter.present?
  result = filter_by_request_id(result, request_id) if request_id.present?
  result = filter_by_duration(result, min_duration) if min_duration.present?

  # Return most recent queries first, limited to requested amount
  result.reverse.first(limit)
end