1. 03 8月, 2017 1 次提交
  2. 27 4月, 2017 1 次提交
  3. 26 4月, 2017 1 次提交
  4. 15 2月, 2017 1 次提交
  5. 20 1月, 2017 1 次提交
  6. 15 12月, 2016 1 次提交
  7. 22 11月, 2016 1 次提交
  8. 18 11月, 2016 2 次提交
    • H
      Remove unnecessary includes. · 27db4dc4
      Heikki Linnakangas 提交于
      27db4dc4
    • H
      Remove errOmitLocation. · f6f5c9ef
      Heikki Linnakangas 提交于
      It was somewhat broken. The order of evaluation of function arguments is
      implementation-specific, so in a statement like:
      
      ereport(ERROR,
              (errcode(ERRCODE_INTERNAL_ERROR),
      	 errOmitLocation(true)));
      
      We cannot assume that errOmitLocation() is evaluated after errcode(). If
      errOmitLocation() is evaluated first, the errcode() call could overwrite
      the omit_location field, seeing that the error code was "internal error".
      
      Almost all of the errOmitLocation calls in the codebase were superfluous
      anyway. The default logic is to omit the location for anything else than
      ERRCODE_INTERNAL error, so it is not necessary to call errOmitLocation(true),
      if errcode (other than ERRCODE_INTERNAL_ERROR) is given. Likewise
      errOmitLocation(false) is not needed for internal errors.
      
      Remove the whole errOmitLocation() function. It's not really needed. The
      most notable callsite where it mattered was in cdbdisp.c, but that one
      was broken by the order-of-evaluation issue. Use a different error code
      there. What we really should do there is to pass the error code from the
      segment back to the client, but I'll leave that for another day.
      f6f5c9ef
  9. 10 11月, 2016 2 次提交
  10. 02 11月, 2016 1 次提交
  11. 01 11月, 2016 1 次提交
    • K
      Fix ORCA error message and make it same as with Planner.(Closes #1247) · 4eb5db7a
      Karthikeyan Jambu Rajaramn 提交于
      - In ORCA, due to the way exception handled previously we do warning first
      and then later print error referring that message. In this commit, we
      enhanced the exception handling so we just print a single error message.
      - Also, we removed 'PQO unable to generate a plan' or 'Aborting PQO plan
      generation' message and make the error message as close as the planner.
      - Updated error message with filename and line number from where the exception
      is raised.
      4eb5db7a
  12. 20 10月, 2016 1 次提交
    • D
      Explicitly mark abort() as an allowed API call for gpopt · ab281fc5
      Daniel Gustafsson 提交于
      libgpos has a set of banned API calls which needs to be allowed with
      the ALLOW_xxx macro in order for gpopt to compile (and thus run).
      The changes to ereport() brought a need for allowing abort() since
      it now invokes abort when building with --enable-cassert.
      
      This is a temporary fix awaiting the removal of the banning of
      function calls entirely. Pushed even though the CI pipeline failed
      to provide a clean run (for seeminly unrelated reasons) due to the
      absence of this blocking other efforts.
      ab281fc5
  13. 30 9月, 2016 1 次提交
  14. 20 8月, 2016 2 次提交
  15. 04 8月, 2016 1 次提交
  16. 16 7月, 2016 1 次提交
  17. 13 7月, 2016 1 次提交
    • F
      Populate canSetTag of PlannedStmt from Query object (#934) · f01bb84b
      foyzur 提交于
      * Preventing multiple ResLockPortal calls for the same portal when running multiple queries via PortalRunMulti by correctly populating canSetTag in PlannedStmt from Query object during DXL to PlannedStmt translation.
      
      * ICG tests for checking if ORCA correctly populates canSetTag.
      f01bb84b
  18. 30 6月, 2016 1 次提交
  19. 11 6月, 2016 1 次提交
    • J
      [#120984085] Adds GUC for array expansion. · 53230187
      Jesse Zhang and Marc Spehlmann 提交于
      This GUC will be used to control the MEMO size as well as optimization
      time for large IN list or large array comparison expressions.
      
      Only the Array with less number of elements than the GUC will be
      expanded and participate in constraint derivation.
      
      Trade-off of using this GUC is loss of potential benefits from the
      constraint derivation (e.g. conflict detection, partition elimination)
      with shorter optimization time and less memory utilization.
      53230187
  20. 18 5月, 2016 1 次提交
  21. 11 5月, 2016 1 次提交
  22. 10 5月, 2016 1 次提交
  23. 20 4月, 2016 1 次提交
  24. 14 4月, 2016 1 次提交
  25. 26 2月, 2016 1 次提交
  26. 25 2月, 2016 2 次提交
  27. 24 2月, 2016 2 次提交
  28. 04 2月, 2016 1 次提交
  29. 07 1月, 2016 1 次提交
  30. 17 12月, 2015 2 次提交
    • H
      Track changes to catalogs that contain data cached in the metadata cache. · 7167ac78
      Heikki Linnakangas 提交于
      ORCA uses its own metadata cache to store information about relations,
      operators etc. Currently, we always reset the cache when planning a query,
      unless the optimizer_release_mdcache GUC is turned off, which is slow.
      
      To make it safe to turn optimizer_release_mdcache off, use the catalog
      cache invalidation mechanism to still reset the cache when there are
      changes to the catalogs that affect the metadata cache.
      
      The ORCA-facing interface of this is the same as in the previous attempt:
      A function that returns true/false indicating whether there has been any
      catalog changes whatsoever since last call.
      7167ac78
    • H
      Revert "Metadata Versioning feature for the ORCA Query Optimizer." · 6453dac7
      Heikki Linnakangas 提交于
      This reverts commit 6c31a3b4. Per
      discussion, we will implement the same functionality in a simpler way.
      6453dac7
  31. 14 12月, 2015 1 次提交
    • G
      Metadata Versioning feature for the ORCA Query Optimizer. · 6c31a3b4
      George Caragea 提交于
      Added a generation-based Metadata Versioning mechanism
      which will be used by ORCA to cache and invalidate catalog
      data in its Metadata Cache.
      Versioning is disabled by default at this point, until the
      Metadata Cache eviction policy is completed.
      6c31a3b4
  32. 11 12月, 2015 1 次提交
    • E
      Refactor and cleanup of memory management of the new optimizer. · 9e5dd61a
      Entong Shen 提交于
      This commit eliminates the global new/delete overrides that were causing
      compatibility problems (the Allocators.(h/cpp/inl) files have been
      completely removed). The GPOS `New()` macro is retained and works the
      same way, but has been renamed `GPOS_NEW()` to avoid confusion and
      possible name collisions. `GPOS_NEW()` works only for allocating
      singleton objects. For allocating arrays, `GPOS_NEW_ARRAY()` is
      provided. Because we no longer override the global delete,
      objects/arrays allocated by `GPOS_NEW()` and `GPOS_NEW_ARRAY()` must now
      be deleted by the new functions `GPOS_DELETE()` and
      `GPOS_DELETE_ARRAY()` respectively. All code in GPOS has been
      retrofitted for these changes, but Orca and other code that depends on
      GPOS should also be changed.
      
      Note that `GPOS_NEW()` and `GPOS_NEW_ARRAY()` should both be
      exception-safe and not leak memory when a constructor throws.
      
      Closes #166
      9e5dd61a
  33. 24 11月, 2015 1 次提交
  34. 28 10月, 2015 1 次提交