Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4600

qgen: refactor discrepancy_searcher.py

    XMLWordPrintableJSON

Details

    Description

      The query generator design could use improvement. One of the design principles I've heard is "an object should have 1 responsibility". That is not the case with the query generator, especially with the QueryResultComparator and QueryExecutor in disrepancy_searcher.py. They each have several responsibilities. Also, Leopard's Job() duplicates some of this work.

      There should be 1 thing that can compare two Query objects' results.

      There should be 1 thing that knows how to execute any AbstractStatement concurrently on both a test and reference database.

      There should be 1 thing to track so-called "execution modes". Really what we want here is a sequence of setup statements, a sequence of test statements, and a sequence of teardown statements.

      As it stands the above is all mingled together across the classes, make extensibility difficult.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mikeb Michael Brown
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: