Skip to content

Conversation

@AmrRiyad
Copy link
Contributor

@AmrRiyad AmrRiyad commented Mar 31, 2025

Description

This PR lays the groundwork for implementing the DQE oracle across multiple DBMS by introducing a new abstract class in DQEBase.java. The class serves as the base for handling auxiliary columns and error management, setting the stage for DBMS-specific extensions in the future.

Proposed Changes

  • Abstract Class Implementation:

    • Introduce DQEBase as the core abstract class for the DQE oracle.
  • Auxiliary Column Management:

    • Define the abstract method addAuxiliaryColumns(), which concrete implementations must override.

    • Provide a helper method, dropAuxiliaryColumns(), to consistently remove auxiliary columns (rowId and updated) from tables.

  • Errors Comparison:

    • Implement a new SQLQueryError class that provides comprehensive comparisons of error details—such as levels, codes, and messages—from multiple executed queries.

Impact

  • Modularity and Extensibility:
    • Establishes a clear foundation that allows for multiple DBMS-specific implementations of the DQE oracle.

@AmrRiyad AmrRiyad changed the title feat: introduce DQEBase and SQLQueryError feat: Foundation for DQE Oracle Implementation Mar 31, 2025
@JensonSung
Copy link
Contributor

The modifications look good to me.

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.

2 participants