Class: Dbviewer::QueryCollection
- Inherits:
-
InMemoryStorage
- Object
- InMemoryStorage
- Dbviewer::QueryCollection
- 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
-
#filter(limit: 100, table_filter: nil, request_id: nil, min_duration: nil) ⇒ Object
Get recent queries, optionally filtered.
-
#initialize ⇒ QueryCollection
constructor
A new instance of QueryCollection.
Constructor Details
#initialize ⇒ QueryCollection
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 |