Class: GmailSearchSyntax::PostgresVisitor
- Inherits:
-
SQLiteVisitor
- Object
- SQLiteVisitor
- GmailSearchSyntax::PostgresVisitor
- Defined in:
- lib/gmail_search_syntax/sql_visitor.rb
Instance Method Summary collapse
-
#visit_relative_date_operator(node) ⇒ Object
Override to use PostgreSQL’s NOW() and INTERVAL syntax.
Methods inherited from SQLiteVisitor
#initialize, #to_query, #visit
Constructor Details
This class inherits a constructor from GmailSearchSyntax::SQLiteVisitor
Instance Method Details
#visit_relative_date_operator(node) ⇒ Object
Override to use PostgreSQL’s NOW() and INTERVAL syntax
484 485 486 487 488 489 490 491 492 493 494 495 |
# File 'lib/gmail_search_syntax/sql_visitor.rb', line 484 def visit_relative_date_operator(node) value = node.value.is_a?(String) ? node.value : node.value.value interval = parse_relative_time_postgres(value) @query.add_param(interval) case node.name when "older_than" @query.add_condition("m0.internal_date < (NOW() - ?::interval)") when "newer_than" @query.add_condition("m0.internal_date > (NOW() - ?::interval)") end end |