1. 14 3月, 2019 1 次提交
  2. 13 2月, 2019 1 次提交
    • E
      Test minimal explain formatting in explain_format test. · 0132983b
      Ekta Khanna 提交于
      explain_format tests validate for memory related information. But the
      printing for that information is not stable and varies based on orca vs
      planner, assert enabled vs disabled, query reusing the slice vs run on
      fresh session. Plus, future modifications not related to explain
      formatting can cause this test to fail. Hence, only minimal explain
      format validation which is found to be stable currently is being
      retained for this test.
      
      Better alternative needs to be found to perform for full validation for
      explain formatting, seems sql way is too fragile for it.
      Co-authored-by: NAshwin Agrawal <aagrawal@pivotal.io>
      0132983b
  3. 13 12月, 2018 1 次提交
    • D
      Reporting cleanup for GPDB specific errors/messages · 56540f11
      Daniel Gustafsson 提交于
      The Greenplum specific error handling via ereport()/elog() calls was
      in need of a unification effort as some parts of the code was using a
      different messaging style to others (and to upstream). This aims at
      bringing many of the GPDB error calls in line with the upstream error
      message writing guidelines and thus make the user experience of
      Greenplum more consistent.
      
      The main contributions of this patch are:
      
      * errmsg() messages shall start with a lowercase letter, and not end
        with a period. errhint() and errdetail() shall be complete sentences
        starting with capital letter and ending with a period. This attempts
        to fix this on as many ereport() calls as possible, with too detailed
        errmsg() content broken up into details and hints where possible.
      
      * Reindent ereport() calls to be more consistent with the common style
        used in upstream and most parts of Greenplum:
      
      	ereport(ERROR,
      			(errcode(<CODE>),
      			 errmsg("short message describing error"),
      			 errhint("Longer message as a complete sentence.")));
      
      * Avoid breaking messages due to long lines since it makes grepping
        for error messages harder when debugging. This is also the de facto
        standard in upstream code.
      
      * Convert a few internal error ereport() calls to elog(). There are
        no doubt more that can be converted, but the low hanging fruit has
        been dealt with. Also convert a few elog() calls which are user
        facing to ereport().
      
      * Update the testfiles to match the new messages.
      
      Spelling and wording is mostly left for a follow-up commit, as this was
      getting big enough as it was. The most obvious cases have been handled
      but there is work left to be done here.
      
      Discussion: https://github.com/greenplum-db/gpdb/pull/6378Reviewed-by: NAshwin Agrawal <aagrawal@pivotal.io>
      Reviewed-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
      56540f11
  4. 22 9月, 2018 1 次提交
    • H
      Change pretty-printing of expressions in EXPLAIN to match upstream. · 4c54c894
      Heikki Linnakangas 提交于
      We had changed this in GPDB, to print less parens. That's fine and dandy,
      but it hardly seems worth it to carry a diff vs upstream for this. Which
      format is better, is a matter of taste. The extra parens make some
      expressions more clear, but OTOH, it's unnecessarily verbose for simple
      expressions. Let's follow the upstream on this.
      
      These changes were made to GPDB back in 2006, as part of backporting
      to EXPLAIN-related patches from PostgreSQL 8.2. But I didn't see any
      explanation for this particular change in output in that commit message.
      
      It's nice to match upstream, to make merging easier. However, this won't
      make much difference to that: almost all EXPLAIN plans in regression
      tests are different from upstream anyway, because GPDB needs Motion nodes
      for most queries. But every little helps.
      4c54c894
  5. 21 9月, 2018 1 次提交
    • H
      Use psql's unaligned format in EXPLAIN tests, to make it less brittle. · 43ccd3d5
      Heikki Linnakangas 提交于
      In aligned format, there is an end-of-line marker at the end of each line,
      and its position depends on the longest line. If the width changes, all
      lines need to be adjusted for the moved end-of-line-marker.
      
      While testing this, we found out that 'atmsort' had been doing bad things
      to the YAML output before:
      
          -- Check Explain YAML output
          EXPLAIN (FORMAT YAML) SELECT * from boxes LEFT JOIN apples ON apples.id = boxes.apple_id LEFT JOIN box_locations ON box_locations.id = boxes.location_id;
          QUERY PLAN
          ___________
          {
            'id' => 1,
            'short' => '- Plan:                                                  +'
          }
          GP_IGNORE:(1 row)
      
      In other worse, we were not comparing the output at all, except for that one
      line that says "Plan:". The access plan for one of the queries had changed,
      from a Left Join to a Right Join, and we still had the old plan memorized
      in expected output, but the test was passing because atmsort hid the issue.
      This commit fixes the expected output for the new plan.
      43ccd3d5
  6. 31 8月, 2018 5 次提交
    • J
      Multiple fixes · d0e58ae4
      Joao Pereira 提交于
       - Display Worker information when Gang is active
       - On Explain Analyze, when there are multiple Gang Members active the
      information about the workers (errors, canceled, not dispatched, aborted
      and ok) is displayed for the YAML, JSON and XML format
       - Correct explain_format without optimizer
       - Correct orca enabled test
       - Correct fixme related to the display of extra text
       - Memory used is variable
      The tests were failing because "Memory used" in YML is variable and
      the tests was not ready for it
       - Ensure that the tests do not fail due to white spaces
      Tests were failing due to whitespaces after the replacement on
      "Total memory used across slices"
       - Extra information was creating the multiple groups
      d0e58ae4
    • J
      Explain analyze memory on YML,JSON,XML · af858306
      Joao Pereira 提交于
      Display the amount of memory used by ORCA when doing and explain analyze
      with the GUT `explain_memory_verbosity` set to `summary`
      af858306
    • J
      Extract function gpexplain_formatSlicesOutput to format the slices · d0071307
      Joao Pereira 提交于
      Add YAML, JSON and XML representation for simple statistics on the
      slices
      d0071307
    • J
      Tests for Explain and Explain analyze with the output XML and JSON · 214d418b
      Joao Pereira 提交于
      Add other variables fields
      Add explain test to the parallel group for GreenPlum
      Add optimizer tests
      214d418b
    • J
      Add property explain_processing_(on|off) to atmsort · d39ff53e
      Joao Pereira 提交于
      This property should be used on the sql regression tests and will
      activate or deactivate the usage of the explain parser.
      Added basic format test to explain parsing
      d39ff53e