Skip to content

[Fix] Mixpanel: use PaginationStrategy::None so paged queries are not wrapped#25

Merged
manfredcml merged 1 commit into
mainfrom
mixpanel-pagination
Jul 2, 2026
Merged

[Fix] Mixpanel: use PaginationStrategy::None so paged queries are not wrapped#25
manfredcml merged 1 commit into
mainfrom
mixpanel-pagination

Conversation

@manfredcml

Copy link
Copy Markdown
Contributor

What does this PR do?

To fix a query error when using Mixpanel as connection:
image

MixpanelDriver did not override pagination_strategy(), so it inherited the default PaginationStrategy::SubqueryOffset. When the console runs a paginated SELECT, the query engine wraps the user SQL in a pagination subquery:

SELECT * FROM (SELECT * FROM events LIMIT 100) AS _p LIMIT 501 OFFSET 0

The Mixpanel driver's SQL-subset parser only accepts a plain table in the FROM clause; a derived table hits the TableFactor::Table mismatch in get_table_name and surfaces as Missing FROM clause.

Checklist

  • I opened an issue first for non-trivial changes, or this is a small fix.
  • Tests added/updated for my change.
  • I license my contribution under the MIT License, per CONTRIBUTING.md. I confirm this is my original work, or that I have the right to submit it.

… wrapped

The engine's default SubqueryOffset strategy wrapped user SQL in
SELECT * FROM (...) AS _p LIMIT ... OFFSET ..., which the Mixpanel
SQL subset parser rejects with 'Missing FROM clause' (derived tables
are unsupported). The driver already buffers the full export result,
so the engine can page it in memory.
@manfredcml manfredcml merged commit b39ae4f into main Jul 2, 2026
6 checks passed
@manfredcml manfredcml deleted the mixpanel-pagination branch July 2, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant