Skip to content

Support explain-SQL tests using external manifests#1952

Merged
plypaul merged 3 commits intomainfrom
p/explain_tester__02
Jan 7, 2026
Merged

Support explain-SQL tests using external manifests#1952
plypaul merged 3 commits intomainfrom
p/explain_tester__02

Conversation

@plypaul
Copy link
Contributor

@plypaul plypaul commented Dec 18, 2025

This PR adds classes to support explain-SQL testing of external manifests. The main challenge for external manifests is described in this docstring:

class ExternalManifestSetupSource(ManifestSetupSource):
    """Provides setups from a directory containing external manifests (JSON-serialized).

    Example use case: "Here are a bunch of JSON-serialized manifests from customers. Check to see that a new release
    of MF doesn't break any of their saved queries."

    Since manifests from external sources may be authored using engine-specific SQL and rely on the existence of
    specific tables, several manifest transformations are required so that the manifest can be used with
    `DuckDbExplainTester`.

    In general, references to specific SQL tables and user-defined SQL must be replaced with similar dummy values.
    Since dummy values are used, the tests using the modified manifest won't be completely faithful, but can still
    capture some potential errors.

    Please see the associated transform rules for details.
    """

@cla-bot cla-bot bot added the cla:yes label Dec 18, 2025
@plypaul plypaul force-pushed the p/explain_tester__02 branch from 4b8ae0b to 884e0d2 Compare December 18, 2025 01:03
@plypaul plypaul force-pushed the p/explain_tester__01 branch from 1d799fd to 7a058cb Compare December 18, 2025 01:26
@plypaul plypaul force-pushed the p/explain_tester__02 branch from 884e0d2 to 21d6f5e Compare December 18, 2025 01:26
@plypaul plypaul force-pushed the p/explain_tester__01 branch from 7a058cb to 57fd27c Compare December 18, 2025 01:33
@plypaul plypaul force-pushed the p/explain_tester__02 branch from 21d6f5e to 17b514e Compare December 18, 2025 01:33
@plypaul plypaul force-pushed the p/explain_tester__01 branch from 57fd27c to e0b001c Compare December 18, 2025 01:38
@plypaul plypaul force-pushed the p/explain_tester__02 branch from 17b514e to f9c0b95 Compare December 18, 2025 01:38
@plypaul plypaul marked this pull request as ready for review December 18, 2025 01:42
@plypaul plypaul requested a review from a team as a code owner December 18, 2025 01:42
@plypaul plypaul force-pushed the p/explain_tester__02 branch from f9c0b95 to 0fb1101 Compare January 7, 2026 21:51
Base automatically changed from p/explain_tester__01 to main January 7, 2026 22:26
@plypaul plypaul force-pushed the p/explain_tester__02 branch from 0fb1101 to 22fddf0 Compare January 7, 2026 22:26
@plypaul plypaul merged commit ff11979 into main Jan 7, 2026
13 checks passed
@plypaul plypaul deleted the p/explain_tester__02 branch January 7, 2026 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants