DDL:
CREATE TABLE foo (a int, b int, c int) DISTRIBUTED BY (a);
Query:
SELECT aggfn(DISTINCT b) FROM foo;
Jesses-MacBook-Air ~/s/p/gporca (master=)> git describe --tags | |
7.0.0-alpha.0-7231-g32446a321d49 | |
Jesses-MacBook-Air ~/s/p/gporca (master=)> ninja -C cmake-build-debug-clang-12 -t deps | grep -F ../ | grep -v -F libgpos | sort | uniq -c | sort -nr | |
944 ../libnaucrates/include/naucrates/dxl/gpdb_types.h | |
942 ../libnaucrates/include/naucrates/md/IMDId.h | |
928 ../libnaucrates/include/naucrates/dxl/operators/CDXLDatum.h | |
923 ../libnaucrates/include/naucrates/md/CDXLStatsDerivedRelation.h | |
923 ../libnaucrates/include/naucrates/md/CDXLStatsDerivedColumn.h | |
923 ../libnaucrates/include/naucrates/md/CDXLBucket.h | |
918 ../libnaucrates/include/naucrates/dxl/operators/CDXLOperator.h |
# wait for gporca_test to launch | |
dtrace -xmangled -n 'pid$target::__ZN4gpos9CRefCount6AddRefEv:entry { @["AddRef"]=count(); }' -W gporca_test | |
# list all probes | |
dtrace -xmangled -l -n 'pid$target:gporca_test::' -n 'pid$target:libgpopt.3.dylib::' -n 'pid$target:libnaucrates.3.dylib::' -n 'pid$target:libgpdbcost.3.dylib::' -n 'pid$target:libgpos.3.dylib::' -p (pgrep gporca_test) > /tmp/gporca_test_probes.txt | |
# dynamically trace an already running orca process | |
dtrace -xmangled -n 'pid$target::__ZN4gpos9CRefCount6AddRefEv:return { @["AddRef"]=count(); }' -p (pgrep gporca_test) | |
CREATE TABLE rank_exc( | |
id int, | |
year int, | |
gender char(1) | |
) | |
DISTRIBUTED BY (id) | |
PARTITION BY LIST (gender) | |
SUBPARTITION BY RANGE (year) | |
SUBPARTITION TEMPLATE ( | |
SUBPARTITION year1 START (2001), |
using
type aliases)[http://en.cppreference.com/w/cpp/language/type_alias]auto
cmake_minimum_required(VERSION 3.0) | |
project(gpdb5 LANGUAGES C CXX) | |
include_directories(src/include) | |
include_directories(/usr/local/opt/openssl/include) | |
file(GLOB_RECURSE HEADERS | |
src/include/*.h | |
) | |
file(GLOB_RECURSE SRC_FILES |
./configure
to fail if my local ORCA version will cause a compilation failure.Use semver to convey breaking changes:
2.9.1
2.10.0
satsifies a "required version" of 2.9.1
.We need to keep our diff here, maybe?
costsize.c
join_in_selectivity
set_joinrel_size_estimates
Things changed here:
joinpath.c
hash_inner_and_outer
is split into two:hashclauses_for_join
which takes the bulk of the upstream code; ANDenv BLDWRAP_POSTGRES_CONF_ADDONS='fsync=off optimizer_disable_missing_stats_collection=on' make -C /build/gpdb4/gpAux/gpdemo |
#!/usr/bin/env python3 | |
# Usage: | |
# git grep -l '#include ".*\.inl"' | pypy3 inline.py -I libgpos/libgpos/include | |
# OR | |
# git grep -l '#include ".*\.inl"' | pypy3 inline.py -I libgpopt/include -I libnaucrates/include -I libgpdbcost/include -I server/include | |
import sys | |
import re | |
import os.path |