1. 29 9月, 2020 1 次提交
    • J
      Format ORCA and GPOPT. · 219fe0c4
      Jesse Zhang 提交于
      The canonical config file is in src/backend/gpopt/.clang-format (instead
      of under the non-existent src/backend/gporca), I've created one (instead
      of two) symlink, for GPOPT headers. Care has been taken to repoint the
      symlink to the canonical config under gpopt, instead of gpopt as it is
      under HEAD.
      
      This is spiritually a cherry-pick of commit 2f7dd76c.
      (cherry picked from commit 2f7dd76c)
      219fe0c4
  2. 01 6月, 2019 1 次提交
  3. 18 5月, 2019 1 次提交
    • C
      Optimize hash table in ORCA algebrization · 5335ec08
      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>
      5335ec08
  4. 16 8月, 2018 1 次提交
  5. 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
  6. 24 11月, 2015 1 次提交
  7. 28 10月, 2015 1 次提交