Class: Dbviewer::Query::Collection
- Inherits:
-
Storage::InMemoryStorage
- Object
- Storage::Base
- Storage::InMemoryStorage
- Dbviewer::Query::Collection
- 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
-
#filter(limit: 100, table_filter: nil, request_id: nil, min_duration: nil) ⇒ Object
Get recent queries, optionally filtered.
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 |