Skip to content

time intrinsics not beng applied to interval literals #6261

@nwoolmer

Description

@nwoolmer

To reproduce

SELECT count() 
FROM trades 
WHERE timestamp BETWEEN '2025-09-10T11:30:42.035667Z' AND '2025-10-10T11:30:42.035666Z';

Plan:

Count
    PageFrame
        Row forward scan
        Interval forward scan on: trades
          intervals: [("2025-09-10T11:30:42.035667Z","2025-10-10T11:30:42.035666Z")]

Observe the interval scan.

SELECT count() 
FROM trades 
WHERE timestamp IN interval('2025-09-10T11:30:42.035667Z', '2025-10-10T11:30:42.035666Z');

Plan:

Count
    Async Filter workers: 46
      filter: timestamp in ('2025-09-10T11:30:42.035Z', '2025-10-10T11:30:42.035Z')
        PageFrame
            Row forward scan
            Frame forward scan on: trades

No interval scan. For the user, this was 1ms execution versus 44 seconds. On demo, it is not as extreme when the data is already hot. When not hot, more like 5 seconds.

QuestDB version:

Master (9.1.0+)

OS, in case of Docker specify Docker and the Host OS:

N/A

File System, in case of Docker specify Host File System:

N/A

Full Name:

Nick Woolmer

Affiliation:

QuestDB

Have you followed Linux, MacOs kernel configuration steps to increase Maximum open files and Maximum virtual memory areas limit?

  • Yes, I have

Additional context

No response

Metadata

Metadata

Assignees

Labels

BugIncorrect or unexpected behaviorSQLIssues or changes relating to SQL executioninternal

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions