Class: Dbviewer::QueryCollection

Inherits:
InMemoryStorage
  • Object
show all
Defined in:
lib/dbviewer/query_collection.rb

Overview

QueryCollection 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

Constructor Details

#initializeQueryCollection

Returns a new instance of QueryCollection.



9
10
11
# File 'lib/dbviewer/query_collection.rb', line 9

def initialize
  super
end

Instance Method Details

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

Get recent queries, optionally filtered



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/dbviewer/query_collection.rb', line 14

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