1. 21 5月, 2019 5 次提交
  2. 18 5月, 2019 7 次提交
    • L
      docs - add cfg/using info about pxf jdbc named queries (#7692) · 9e6d3958
      Lisa Owen 提交于
      * docs - add cfg/using info about pxf jdbc named queries
      
      * some edits requested by david
      
      * address some comments from alex that are simple edits
      
      * add month to sample subquery
      
      * add explanatory info to the steps in the example
      
      * that reference
      
      * remove appropriate
      
      * more comments from alex
      
      * add note about aggregating over subquery aggregate
      
      * remove the note i just added
      9e6d3958
    • C
      Optimize hash table in ORCA algebrization · 037c75c8
      Chris Hajas 提交于
      For queries containing joins of tables with many columns, algebrization
      in ORCA can be slow due to hash table collisions. For example, a 10-way
      join of tables with 1500 cols each will generate a hash table with 80k+
      colrefs. By minimizing these collisions, the total optimization time was reduced for
      some queries by ~20%, and the algebrization time was reduced by 50%.
      
      We're planning to make hashmaps grow as they reach some load
      factor. However, this is a hot spot that we'd like to fix sooner.
      Authored-by: NChris Hajas <chajas@pivotal.io>
      037c75c8
    • L
      43b3c8ba
    • J
      gpconfig: Add support for empty-string values · 68ea5288
      Jamie McAtamney 提交于
      Previously, gpconfig would not allow setting a GUC to a value of empty string
      (that is, "gpconfig -c guc_name -v ''" or the like) because it conflated passing
      an empty string with not setting the flag at all, so this commit fixes that and
      ensures that empty-string values print nicely.
      Authored-by: NJamie McAtamney <jmcatamney@pivotal.io>
      (cherry-picked from commit 941ef0d2)
      68ea5288
    • L
      add recent pxf topic additions to subnav (#7707) · 7a85c646
      Lisa Owen 提交于
      7a85c646
    • S
      Fix algebrization of subqueries in queries with complex GROUP BYs · b632a49d
      Shreedhar Hardikar 提交于
      ORCA's algebrizer must first normalize GROUP BYs in a query to a form
      usable in ORCA. It must flatten expressions in the project list to
      contain only aggregates and grouping columns
      For example:
      
      ORGINAL QUERY:
        SELECT * from r where r.a > (SELECT max(c) + min(d)
                                     FROM t where r.b = t.e)
      NEW QUERY:
        SELECT * from r where r.a > (SELECT x1+x2 as x3
        FROM (SELECT max(c) as x2, min(d) as x2
              FROM t where r.b = t.e) t2)
      
      However this process did not support subqueries in the target list that
      may contain outer references, sometimes in other (nested) subqueries. It
      also did not support CTEs. All these would produce a normalization error
      and fall back.
      
      This commit fixes that by supporting subqueries & CTEs.
      
      It also includes some refactors in related areas:
      
      - Rename IncrLevelsUpInVar to IncrLevelsUpIfOuterRef, to capture it's
        implementation.
      - Remove SContextHavingQualMutator, after realizing that it has almost
        the same members as SContextGrpbyPlMutator.
      - Use MakeVarInDerivedTable & RunGroupByProjListMutator in
        RunGroupByProjListMutator to reduce code drift.
      - Merge RunGroupByProjListMutator & RunHavingQualMutator (see below)
      
      RunGroupByProjListMutator() was implemented at a later date than the
      RunHavingQualMutator, and did not handle subqueries and ctes correctly.
      After understanding its purpose, I think the functionality of both the
      above methods should be exactly the same, since they're trying to
      achieve the same goal.
      
      So, this commit just merges the two functions together into a new
      function - RunExtractAggregatesMutator. In this process, I also
      discovered a bug in the old RunHavingQualMutator, that is now fixed:
      
        create table fooh1 (a int, b int, c int);
        insert into fooh1 select i%4, i%3, i from generate_series(1,20) i;
        select f1.a + 1 from fooh1 f1 group by f1.a+1 having sum(f1.a+1) + 1 > 20;
      
      Finally, the earlier code deduplicated AGGREFs when possible for HAVING
      clauses, but not for GROUP BY target lists when moving them into the
      derived query. Not only is that inconsistent, but may also give
      incorrect results in case of volatile functions. The executor already
      handles de-duplicating AGGREFs in right circumstances, so doing this in
      the algebrizer doesn't provide much of a benefit.
      b632a49d
    • L
      docs - add content for new pxf read file as row feature (#7700) · 4cd14313
      Lisa Owen 提交于
      * docs - add content for new pxf read file as row feature
      
      * some of the edits requested by david
      
      * use echo to create third file
      
      * remove JSON from titles
      4cd14313
  3. 17 5月, 2019 6 次提交
  4. 16 5月, 2019 8 次提交
  5. 15 5月, 2019 2 次提交
    • H
      Don't set SSL cipher list for libcurl · 176c84ed
      Huiliang.liu 提交于
      The default libcurl on centos7 uses NSS SSL library instead of OPENSSL.
      GPDB with that libcurl will report "Unknown cipher in list: AES128-SHA"
      on connecting gpfdist SSL server.
      Actually, we don't have to set cipher list in GPDB. It may choose stronger
      cipher on negotiation. So remove setting cipher list.
      
      Patch back to 6X_STABLE
      176c84ed
    • H
      Shutdown gpfdist SSL connection gracefully · 0d60da9c
      Huiliang Liu 提交于
      GPDB uses libcurl-gnutls.so.4 as default libcurl on ubuntu. gpfdist SSL
      connection reports error (56 - Failure when receiving data from the peer)
      on handling POST message. We find it shutdown socket directly without sending
      close_notify to client. So we call SSL_shutdown() before socket shutdown.
      
      But SSL_accept() will return error with above patch on Centos, because
      GPDB curl reuses SSL session ID in the second client hello, but server considers
      that session is shutdown, so it won't accept that session ID.
      The solution is disabling SSL session ID cache by setting curl option.
      Then both Centos and ubuntu work well.
      
      Enable gpfdist SSL test case.
      
      Patch back to 6X_STABLE
      0d60da9c
  6. 14 5月, 2019 7 次提交
  7. 13 5月, 2019 2 次提交
  8. 11 5月, 2019 3 次提交
    • V
    • L
      docs - add pageinspect module landing page (#7407) · 9fa00ba7
      Lisa Owen 提交于
      * docs - add pageinspect module landing page
      
      * remove peer scope
      
      * cannot inspect ao or external relations
      9fa00ba7
    • J
      Reinstate strictness of int4_avg_combine · 3f111c5c
      Jesse Zhang 提交于
      The "combine" function for the int4 sum/avg aggregate functions is
      backported to Greenplum 6.0 in commit 313cef6e (from
      postgres/postgres@11c8669c0cc) but we made the inevitable omission of
      setting the "strictness" of int4_avg_combine to false. This by itself is
      harmless as the actual function body *does* guard against NULL input,
      but it also prohibits a whole host of optimizations when the executor
      and planner can detect NULL input early on and short-circuit the
      execution. Oops.
      
      This patch flips the `proisstrict` flag back to true for
      int4_avg_combine.
      
      Backpatch to 6X_STABLE.
      
      (cherry picked from commit c334bedc)
      3f111c5c