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. 16 8月, 2018 1 次提交
  4. 15 2月, 2018 1 次提交
    • J
      Add type modifiers (typmod) support to ORCA · 1c37d8af
      Jesse Zhang 提交于
      ORCA has historically ignored type modifiers from databases that support
      them, noticeably Postgres and Greenplum. This has led to surprises in a
      few cases:
      
      1. The output description over the wire (for Postgres protocol) will
      lose the type modifier information, which often meant length. This
      surprises code that expects a non-default type modifier, e.g. a JDBC
      driver.
      
      2. The executor in some cases -- notably DML -- expects a precise type
      modifier. Because ORCA always erases the type modifiers and presents a
      default, the executor is forced to find that information elsewhere.
      
      After this commit, ORCA will be aware of type modifiers in table
      columns, scalar identifiers, constants, and length-coercion casts.
      Signed-off-by: NShreedhar Hardikar <shardikar@pivotal.io>
      (cherry picked from commit 2d907526)
      1c37d8af
  5. 17 8月, 2017 1 次提交
    • H
      Remove unusued Plan.plan_parent_node_id field. · 5c155847
      Heikki Linnakangas 提交于
      This allows removing all the code in CTranslatorDXLToPlStmt that tracked
      the parent of each call.
      
      I found the plan node IDs awkward, when I was hacking on
      CTranslatorDXLToPlStmt. I tried to make a change where a function would
      construct a child Plan node first, and a Result node on top of that, but
      only if necessary, depending on the kind of child plan. The parent plan
      node IDs made it impossible to construct a part of Plan tree like that, in
      a bottom-up fashion, because you always had to pass the parent's ID when
      constructing a child node. Now that is possible.
      5c155847
  6. 20 1月, 2017 1 次提交
  7. 03 5月, 2016 1 次提交
    • H
      Use "outer slot" to hold result of Agg's child node. · 1be38f8f
      Heikki Linnakangas 提交于
      Long time ago, a hack was put in place in GPDB to use the "scan" slot,
      instead of the "outer" slot which is used in the upstream, to hold the
      result of an Agg or Window plan node's child. It's not clear to me why
      that was done. There was even a comment in fix_upper_expr() saying we
      wouldn't need it if we just fixed the executor to not contain that hack,
      and there was also a TODO comment in CMappingColIdVarPlStmt.cpp about
      that.
      
      Everything seems to work without those hacks, so revert this thing back
      to the way it works in the upstream. This is simpler in its own right,
      and also reduces our diff vs. upstream, which will make merging easier
      in the future.
      1be38f8f
  8. 24 11月, 2015 1 次提交
  9. 28 10月, 2015 1 次提交