diff --git a/.drone.jsonnet b/.drone.jsonnet
index 4971389ea..a2697c330 100644
--- a/.drone.jsonnet
+++ b/.drone.jsonnet
@@ -11,9 +11,9 @@ local platforms = {
[current_branch]: ["rockylinux:8", "rockylinux:9", "debian:12", "ubuntu:22.04", "ubuntu:24.04"],
};
-local platforms_arm = {
- [current_branch]: ["rockylinux:8", "rockylinux:9", "debian:12", "ubuntu:22.04", "ubuntu:24.04"],
-};
+
+//local archs = ["amd64", "arm64"];
+local archs = ["amd64"];
local builddir = "verylongdirnameforverystrangecpackbehavior";
@@ -95,7 +95,7 @@ local make_clickable_link(link) = "echo -e '\\e]8;;" + link + "\\e\\\\" + link
local echo_running_on = ["echo running on ${DRONE_STAGE_MACHINE}",
make_clickable_link("https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#Instances:search=:${DRONE_STAGE_MACHINE};v=3;$case=tags:true%5C,client:false;$regex=tags:false%5C,client:false;sort=desc:launchTime")];
-local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise", customBootstrapParamsKey="", customBuildEnvCommandsMapKey="") = {
+local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise", customBootstrapParamsKey="", customBuildEnvCommandsMapKey="", ignoreFailureStepList=[]) = {
local pkg_format = if (std.split(platform, ":")[0] == "rockylinux") then "rpm" else "deb",
local img = if (platform == "rockylinux:8") then platform else "detravi/" + std.strReplace(platform, "/", "-"),
local branch_ref = if (branch == any_branch) then current_branch else branch,
@@ -206,7 +206,9 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
" --docker-image " + img +
" --result-path " + result +
" --packages-url " + packages_url +
- " --do-setup " + std.toString(do_setup) + '"',
+ " --do-setup " + std.toString(do_setup) +
+ (if result=="ubuntu24.04_clang-20_libcpp" then " --install-libcpp " else "") +
+ '"',
local reportTestStage(containerName, result, stage) =
'sh -c "apk add bash && ' + get_build_command("report_test_stage.sh") +
@@ -311,6 +313,8 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
' --suite-list $${MTR_SUITE_LIST}' +
' --triggering-event ' + event,
],
+ [if (std.member(ignoreFailureStepList, "mtr")) then "failure"]: "ignore",
+
},
mtrlog:: {
name: "mtrlog",
@@ -323,8 +327,10 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
when: {
status: ["success", "failure"],
},
+ [if (std.member(ignoreFailureStepList, "mtr")) then "failure"]: "ignore",
+
},
- regression(name, depends_on):: {
+ regression(name, depends_on, ):: {
name: name,
depends_on: depends_on,
image: "docker:git",
@@ -332,7 +338,7 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
when: {
status: ["success", "failure"],
},
- [if (name != "test000.sh" && name != "test001.sh") then "failure"]: "ignore",
+ [if (std.member(ignoreFailureStepList, name) || std.member(ignoreFailureStepList, "regression")) then "failure"]: "ignore",
environment: {
REGRESSION_TIMEOUT: {
from_secret: "regression_timeout",
@@ -357,6 +363,7 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
" --regression-branch $$REGRESSION_REF" +
" --regression-timeout $${REGRESSION_TIMEOUT}",
],
+
},
regressionlog:: {
name: "regressionlog",
@@ -369,6 +376,8 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
when: {
status: ["success", "failure"],
},
+ [if (std.member(ignoreFailureStepList, "regression")) then "failure"]: "ignore",
+
},
dockerfile:: {
name: "dockerfile",
@@ -396,7 +405,6 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
dockerhub:: {
name: "dockerhub",
depends_on: ["dockerfile"],
- //failure: 'ignore',
image: "plugins/docker",
environment: {
VERSION: container_version,
@@ -626,6 +634,61 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
},
};
+
+local AllPipelines = [
+ Pipeline(b, p, e, a, s)
+ for b in std.objectFields(platforms)
+ for p in platforms[b]
+ for s in servers[b]
+ for e in events
+ for a in archs
+] +
+[
+ Pipeline(any_branch, p, "custom", a, server)
+ for p in platforms[current_branch]
+ for server in servers[current_branch]
+ for a in archs
+] +
+[
+ Pipeline(b, platform, triggeringEvent, a, server, "", buildenv)
+ for a in ["amd64"]
+ for b in std.objectFields(platforms)
+ for platform in ["ubuntu:24.04"]
+ for buildenv in std.objectFields(customEnvCommandsMap)
+ for triggeringEvent in events
+ for server in servers[current_branch]
+] +
+// last argument is to ignore mtr and regression failures
+[
+ Pipeline(b, platform, triggeringEvent, a, server, flag, envcommand, ["regression", "mtr"])
+ for a in ["amd64"]
+ for b in std.objectFields(platforms)
+ for platform in ["ubuntu:24.04"]
+ for flag in ["libcpp"]
+ for envcommand in ["clang-20"]
+ for triggeringEvent in events
+ for server in servers[current_branch]
+] +
+// last argument is to ignore mtr and regression failures
+[
+ Pipeline(b, platform, triggeringEvent, a, server, flag, "", ["regression", "mtr"])
+ for a in ["amd64"]
+ for b in std.objectFields(platforms)
+ for platform in ["ubuntu:24.04"]
+ for flag in ["ASan", "UBSan"]
+ for triggeringEvent in events
+ for server in servers[current_branch]
+] +
+[
+ Pipeline(b, platform, triggeringEvent, a, server, flag, "")
+ for a in ["amd64"]
+ for b in std.objectFields(platforms)
+ for platform in ["rockylinux:8"]
+ for flag in ["gcc-toolset"]
+ for triggeringEvent in events
+ for server in servers[current_branch]
+];
+
local FinalPipeline(branch, event) = {
kind: "pipeline",
name: std.join(" ", ["after", branch, event]),
@@ -650,55 +713,13 @@ local FinalPipeline(branch, event) = {
"failure",
],
} + (if event == "cron" then { cron: ["nightly-" + std.strReplace(branch, ".", "-")] } else {}),
- depends_on: std.map(function(p) std.join(" ", [branch, p, event, "amd64", "10.6-enterprise", "", ""]), platforms[current_branch]),
- // +std.map(function(p) std.join(" ", [branch, p, event, "arm64", "10.6-enterprise", "", ""]), platforms_arm.develop),
+ depends_on: std.map(function(p) p.name, AllPipelines),
};
-[
- Pipeline(b, p, e, "amd64", s)
- for b in std.objectFields(platforms)
- for p in platforms[b]
- for s in servers[b]
- for e in events
-] +
-// [
-// Pipeline(b, p, e, "arm64", s)
-// for b in std.objectFields(platforms_arm)
-// for p in platforms_arm[b]
-// for s in servers[b]
-// for e in events
-// ] +
+
+AllPipelines +
[
FinalPipeline(b, "cron")
for b in std.objectFields(platforms)
-] +
-
-[
- Pipeline(any_branch, p, "custom", "amd64", "10.6-enterprise")
- for p in platforms[current_branch]
-] +
-// [
-// Pipeline(any_branch, p, "custom", "arm64", "10.6-enterprise")
-// for p in platforms_arm[current_branch];
-// ]
-// +
-[
- Pipeline(b, platform, triggeringEvent, a, server, "", buildenv)
- for a in ["amd64"]
- for b in std.objectFields(platforms)
- for platform in ["ubuntu:24.04"]
- for buildenv in std.objectFields(customEnvCommandsMap)
- for triggeringEvent in events
- for server in servers[current_branch]
-]
-+
-[
- Pipeline(b, platform, triggeringEvent, a, server, flag, "")
- for a in ["amd64"]
- for b in std.objectFields(platforms)
- for platform in ["rockylinux:8"]
- for flag in ["gcc-toolset"]
- for triggeringEvent in events
- for server in servers[current_branch]
]
diff --git a/build/bootstrap_mcs.sh b/build/bootstrap_mcs.sh
index 902a14455..60474c38b 100755
--- a/build/bootstrap_mcs.sh
+++ b/build/bootstrap_mcs.sh
@@ -32,7 +32,7 @@ source "$SCRIPT_LOCATION"/utils.sh
echo "Arguments received: $@"
-optparse.define short=A long=asan desc="Build with ASAN" variable=ASAN default=false value=true
+optparse.define short=A long=asan desc="Build with ASan" variable=ASAN default=false value=true
optparse.define short=a long=build-path desc="Path for build output" variable=MARIA_BUILD_PATH default=$DEFAULT_MARIA_BUILD_PATH
optparse.define short=B long=run-microbench desc="Compile and run microbenchmarks " variable=RUN_BENCHMARKS default=false value=true
optparse.define short=c long=cloud desc="Enable cloud storage" variable=CLOUD_STORAGE_ENABLED default=false value=true
@@ -44,7 +44,9 @@ optparse.define short=f long=do-not-freeze-revision desc="Disable revision freez
optparse.define short=g long=alien desc="Turn off maintainer mode (ex. -Werror)" variable=MAINTAINER_MODE default=true value=false
optparse.define short=G long=draw-deps desc="Draw dependencies graph" variable=DRAW_DEPS default=false value=true
optparse.define short=j long=parallel desc="Number of paralles for build" variable=CPUS default=$(getconf _NPROCESSORS_ONLN)
-optparse.define short=M long=skip-smoke desc="Skip final smoke test" variable=SKIP_SMOKE default=false value=true
+optparse.define short=L long=libcpp desc="Build with libc++" variable=WITH_LIBCPP default=false value=true
+optparse.define short=M long=msan desc="Build with MSan" variable=MSAN default=false value=true
+optparse.define short=m long=skip-smoke desc="Skip final smoke test" variable=SKIP_SMOKE default=false value=true
optparse.define short=N long=ninja desc="Build with ninja" variable=USE_NINJA default=false value=true
optparse.define short=n long=no-clean-install desc="Do not perform a clean install (keep existing db files)" variable=NO_CLEAN default=false value=true
optparse.define short=o long=recompile-only variable=RECOMPILE_ONLY default=false value=true
@@ -55,9 +57,9 @@ optparse.define short=r long=restart-services variable=RESTART_SERVICES default=
optparse.define short=R long=gcc-toolset-for-rocky-8 variable=GCC_TOOLSET default=false value=true
optparse.define short=S long=skip-columnstore-submodules desc="Skip columnstore submodules initialization" variable=SKIP_SUBMODULES default=false value=true
optparse.define short=t long=build-type desc="Build Type: ${BUILD_TYPE_OPTIONS[*]}" variable=MCS_BUILD_TYPE
-optparse.define short=T long=tsan desc="Build with TSAN" variable=TSAN default=false value=true
+optparse.define short=T long=tsan desc="Build with TSan" variable=TSAN default=false value=true
optparse.define short=u long=skip-unit-tests desc="Skip UnitTests" variable=SKIP_UNIT_TESTS default=false value=true
-optparse.define short=U long=ubsan desc="Build with UBSAN" variable=UBSAN default=false value=true
+optparse.define short=U long=ubsan desc="Build with UBSan" variable=UBSAN default=false value=true
optparse.define short=v long=verbose desc="Verbose makefile commands" variable=MAKEFILE_VERBOSE default=false value=true
optparse.define short=V long=add-branch-name-to-outdir desc="Add branch name to build output directory" variable=BRANCH_NAME_TO_OUTDIR default=false value=true
optparse.define short=W long=without-core-dumps desc="Do not produce core dumps" variable=WITHOUT_COREDUMPS default=false value=true
@@ -397,6 +399,16 @@ construct_cmake_flags() {
MDB_CMAKE_FLAGS+=(-DWITH_UBSAN=ON -DWITH_COLUMNSTORE_REPORT_PATH=${REPORT_PATH})
fi
+ if [[ $MSAN = true ]]; then
+ warn "Building with Memory Sanitizer"
+ MDB_CMAKE_FLAGS+=(-DWITH_MSAN=ON -DCOLUMNSTORE_WITH_LIBCPP=YES -DWITH_COLUMNSTORE_REPORT_PATH=${REPORT_PATH})
+ fi
+
+ if [[ $WITH_LIBCPP = true ]]; then
+ warn "Building with libc++"
+ MDB_CMAKE_FLAGS+=(-DCOLUMNSTORE_WITH_LIBCPP=YES)
+ fi
+
if [[ $WITHOUT_COREDUMPS = true ]]; then
warn "Cores are not dumped"
else
@@ -794,6 +806,7 @@ init_submodules
if [[ $BUILD_PACKAGES = true ]]; then
modify_packaging
fix_config_files
+
(build_package && run_unit_tests)
exit_code=$?
diff --git a/build/createrepo.sh b/build/createrepo.sh
index 03c1b89c1..7e1db274d 100755
--- a/build/createrepo.sh
+++ b/build/createrepo.sh
@@ -47,6 +47,7 @@ if [[ $(compgen -G "$COLUMNSTORE_RPM_PACKAGES_PATH") ]]; then
elif [[ $(compgen -G "$COLUMNSTORE_DEB_PACKAGES_PATH") ]]; then
mv -v $COLUMNSTORE_DEB_PACKAGES_PATH "./${RESULT}/"
mv -v $COLUMNSTORE_DEBUG_DEB_PACKAGES_PATH "./${RESULT}/" || true
+ # debian 12 produces debug packages as *.deb
else
echo "Columnstore packages are not found!"
fi
diff --git a/build/prepare_test_container.sh b/build/prepare_test_container.sh
index 1f1258029..3fb0572fe 100755
--- a/build/prepare_test_container.sh
+++ b/build/prepare_test_container.sh
@@ -15,6 +15,8 @@ optparse.define short=i long=docker-image desc="Docker image name to start conta
optparse.define short=r long=result-path desc="Name suffix used in core dump file path" variable=RESULT
optparse.define short=s long=do-setup desc="Run setup-repo.sh inside the container" variable=DO_SETUP
optparse.define short=u long=packages-url desc="Packages url" variable=PACKAGES_URL
+optparse.define short=l long=install-libcpp desc="Install libcpp" variable=INSTALL_LIBCPP default=false value=true
+
source $(optparse.build)
if [[ "$EUID" -ne 0 ]]; then
@@ -103,6 +105,15 @@ prepare_container() {
execInnerDocker "$CONTAINER_NAME" '/setup-repo.sh'
fi
+ # FIX THIS HACK
+ if [[ "$INSTALL_LIBCPP" == "true" ]]; then
+ docker cp "$COLUMNSTORE_SOURCE_PATH"/build/install_clang_deb.sh "$CONTAINER_NAME":/
+ docker cp "$COLUMNSTORE_SOURCE_PATH"/build/install_libc++.sh "$CONTAINER_NAME":/
+
+ execInnerDocker "$CONTAINER_NAME" '/install_clang_deb.sh 20'
+ execInnerDocker "$CONTAINER_NAME" '/install_libc++.sh 20'
+ fi
+
# install deps
if [[ "$RESULT" == *rocky* ]]; then
execInnerDockerWithRetry "$CONTAINER_NAME" 'yum --nobest update -y && yum --nobest install -y cracklib-dicts diffutils elfutils epel-release expect findutils iproute gawk gcc-c++ gdb hostname lz4 patch perl procps-ng rsyslog sudo tar wget which'
diff --git a/build/update-clang-version.sh b/build/update-clang-version.sh
old mode 100644
new mode 100755
diff --git a/cmake/boost.cmake b/cmake/boost.cmake
index f9b052f18..d8379858f 100644
--- a/cmake/boost.cmake
+++ b/cmake/boost.cmake
@@ -15,6 +15,8 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
set(_toolset "intel-linux")
endif()
+message("${_toolset} will be used for Boost compilation with compiler ${CMAKE_CXX_COMPILER_ID}")
+
set(INSTALL_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/.boost/boost-lib)
set(BOOST_ROOT "${INSTALL_LOCATION}")
set(Boost_INCLUDE_DIRS "${INSTALL_LOCATION}/include")
@@ -22,8 +24,18 @@ set(Boost_LIBRARY_DIRS "${INSTALL_LOCATION}/lib")
link_directories("${Boost_LIBRARY_DIRS}")
set(_cxxargs "-fPIC -DBOOST_NO_AUTO_PTR -fvisibility=default")
+set(_linkflags "")
+
+if(WITH_MSAN)
+ set(_cxxargs "${_cxxargs} -fsanitize=memory -fsanitize-memory-track-origins -U_FORTIFY_SOURCE")
+ set(_linkflags "-stdlib=libc++")
+elseif(COLUMNSTORE_WITH_LIBCPP)
+ set(_cxxargs "${_cxxargs} -stdlib=libc++")
+ set(_linkflags "-stdlib=libc++")
+endif()
+
set(_b2args cxxflags=${_cxxargs};cflags=-fPIC;threading=multi;${_extra};toolset=${_toolset}
- --without-mpi;--without-charconv;--without-python;--prefix=${INSTALL_LOCATION}
+ --without-mpi;--without-charconv;--without-python;--prefix=${INSTALL_LOCATION} linkflags=${_linkflags}
)
set(byproducts)
@@ -48,8 +60,7 @@ ExternalProject_Add(
BUILD_COMMAND ./b2 -q ${_b2args}
BUILD_IN_SOURCE TRUE
INSTALL_COMMAND ./b2 -q install ${_b2args}
- #LOG_BUILD TRUE
- #LOG_INSTALL TRUE
+ # LOG_BUILD TRUE LOG_INSTALL TRUE
EXCLUDE_FROM_ALL TRUE
${byproducts}
)
diff --git a/cmake/compiler_flags.cmake b/cmake/compiler_flags.cmake
index 6a0b7e66f..f33e7da73 100644
--- a/cmake/compiler_flags.cmake
+++ b/cmake/compiler_flags.cmake
@@ -59,6 +59,9 @@ set(FLAGS_ALL
-DHAVE_CONFIG_H
-DBOOST_BIND_GLOBAL_PLACEHOLDERS
)
+if(COLUMNSTORE_WITH_LIBCPP)
+ list(APPEND FLAGS_ALL -stdlib=libc++)
+endif()
set(FLAGS_RELEASE -O3 -DDBUG_OFF)
diff --git a/cmake/thrift.cmake b/cmake/thrift.cmake
index 10763e8ac..514e590ac 100644
--- a/cmake/thrift.cmake
+++ b/cmake/thrift.cmake
@@ -33,6 +33,17 @@ set(THRIFT_INCLUDE_DIRS "${INSTALL_LOCATION}/include")
set(THRIFT_LIBRARY_DIRS "${INSTALL_LOCATION}/lib")
set(THRIFT_LIBRARY ${THRIFT_LIBRARY_DIRS}/${CMAKE_STATIC_LIBRARY_PREFIX}thrift${CMAKE_STATIC_LIBRARY_SUFFIX})
+set(cxxflags -fPIC)
+
+set(linkflags "")
+if(WITH_MSAN)
+ set(cxxflags "'${cxxflags} -fsanitize=memory -fsanitize-memory-track-origins -U_FORTIFY_SOURCE -stdlib=libc++'")
+ set(linkflags "'${linkflags} -stdlib=libc++'")
+elseif(COLUMNSTORE_WITH_LIBCPP)
+ set(cxxflags "'${cxxflags} -stdlib=libc++'")
+ set(linkflags "'${linkflags} -stdlib=libc++'")
+endif()
+
ExternalProject_Add(
external_thrift
URL https://github.com/apache/thrift/archive/refs/tags/v0.22.0.tar.gz
@@ -49,8 +60,14 @@ ExternalProject_Add(
-DBUILD_PYTHON=NO
-DBUILD_TESTING=NO
-DBUILD_SHARED_LIBS=NO
- -DCMAKE_CXX_FLAGS:STRING="-fPIC"
+ -DBUILD_TUTORIALS=NO
+ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+ -DCMAKE_CXX_FLAGS:STRING=${cxxflags}
-DBOOST_ROOT=${BOOST_ROOT}
+ -DCMAKE_EXE_LINKER_FLAGS=${linkflags}
+ -DCMAKE_SHARED_LINKER_FLAGS=${linkflags}
+ -DCMAKE_MODULE_LINKER_FLAGS=${linkflags}
BUILD_BYPRODUCTS "${THRIFT_LIBRARY_DIRS}/${CMAKE_STATIC_LIBRARY_PREFIX}thrift${CMAKE_STATIC_LIBRARY_SUFFIX}"
EXCLUDE_FROM_ALL TRUE
)
diff --git a/core_dumps/core_dump_format.sh b/core_dumps/core_dump_format.sh
index 95c792904..3dc5fdc23 100755
--- a/core_dumps/core_dump_format.sh
+++ b/core_dumps/core_dump_format.sh
@@ -11,7 +11,7 @@ STEP_NAME=$5
save_ansi_to_html() {
echo "
$1
" >>"${FILENAME}"
- cat "$DUMPNAME" | bash "${SCRIPT_LOCATION}"/ansi2html.sh --palette=solarized >>"${FILENAME}"
+ cat "$DUMPNAME" | bash "${SCRIPT_LOCATION}"/ansi2html.sh --bg=dark --palette=tango >>"${FILENAME}"
}
invoke_gdb_command() {
diff --git a/datatypes/mcs_datatype.cpp b/datatypes/mcs_datatype.cpp
index 4941be977..face4efdb 100644
--- a/datatypes/mcs_datatype.cpp
+++ b/datatypes/mcs_datatype.cpp
@@ -19,18 +19,18 @@
#include
#include
#include
-#include
#include
#include
#include
#include
-#include
+
#include
#include
using namespace std;
#include
+#include
#include "dataconvert.h"
using namespace dataconvert;
diff --git a/datatypes/mcs_datatype.h b/datatypes/mcs_datatype.h
index e5abe1112..0d8706c91 100644
--- a/datatypes/mcs_datatype.h
+++ b/datatypes/mcs_datatype.h
@@ -35,8 +35,6 @@ typedef int32_t mcs_sint32_t;
struct charset_info_st;
typedef const struct charset_info_st CHARSET_INFO;
-using namespace std; // e.g. string
-
namespace ddlpackage
{
struct ColumnType;
@@ -1019,8 +1017,8 @@ class TypeHandler
static const TypeHandler* find_by_ddltype(const ddlpackage::ColumnType& ct);
virtual ~TypeHandler() = default;
- virtual const string& name() const = 0;
- virtual const string print(const SystemCatalog::TypeAttributesStd& /*attr*/) const
+ virtual const std::string& name() const = 0;
+ virtual const std::string print(const SystemCatalog::TypeAttributesStd& /*attr*/) const
{
return name();
}
@@ -1062,10 +1060,10 @@ class TypeHandler
virtual MinMaxPartitionInfo getExtentPartitionInfo(const SystemCatalog::TypeAttributesStd& attr,
BRM::DBRM& em, const BRM::EMEntry& entry,
int* state) const;
- virtual string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const
+ virtual std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const
{
return PrintPartitionValueSInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1086,7 +1084,7 @@ class TypeHandler
// QQ: perhaps not needed yet
class TypeHandlerBit : public TypeHandler
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::BIT;
@@ -1155,7 +1153,7 @@ class TypeHandlerInt : public TypeHandler
class TypeHandlerSInt8 : public TypeHandlerInt
{
public:
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::TINYINT;
@@ -1202,7 +1200,7 @@ class TypeHandlerSInt8 : public TypeHandlerInt
class TypeHandlerSInt16 : public TypeHandlerInt
{
public:
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::SMALLINT;
@@ -1248,7 +1246,7 @@ class TypeHandlerSInt16 : public TypeHandlerInt
class TypeHandlerSInt24 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::MEDINT;
@@ -1297,7 +1295,7 @@ class TypeHandlerSInt24 : public TypeHandlerInt
class TypeHandlerSInt32 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::INT;
@@ -1346,7 +1344,7 @@ class TypeHandlerSInt32 : public TypeHandlerInt
class TypeHandlerSInt64 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::BIGINT;
@@ -1392,7 +1390,7 @@ class TypeHandlerSInt64 : public TypeHandlerInt
class TypeHandlerUInt8 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UTINYINT;
@@ -1435,10 +1433,10 @@ class TypeHandlerUInt8 : public TypeHandlerInt
{
return MinMaxInfo::widenUInt64(a, b);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueUInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1457,7 +1455,7 @@ class TypeHandlerUInt8 : public TypeHandlerInt
class TypeHandlerUInt16 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::USMALLINT;
@@ -1499,10 +1497,10 @@ class TypeHandlerUInt16 : public TypeHandlerInt
{
return MinMaxInfo::widenUInt64(a, b);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueUInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1521,7 +1519,7 @@ class TypeHandlerUInt16 : public TypeHandlerInt
class TypeHandlerUInt24 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UMEDINT;
@@ -1566,10 +1564,10 @@ class TypeHandlerUInt24 : public TypeHandlerInt
{
return MinMaxInfo::widenUInt64(a, b);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueUInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1588,7 +1586,7 @@ class TypeHandlerUInt24 : public TypeHandlerInt
class TypeHandlerUInt32 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UINT;
@@ -1633,10 +1631,10 @@ class TypeHandlerUInt32 : public TypeHandlerInt
{
return MinMaxInfo::widenUInt64(a, b);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueUInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1655,7 +1653,7 @@ class TypeHandlerUInt32 : public TypeHandlerInt
class TypeHandlerUInt64 : public TypeHandlerInt
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::BIGINT;
@@ -1697,10 +1695,10 @@ class TypeHandlerUInt64 : public TypeHandlerInt
{
return MinMaxInfo::widenUInt64(a, b);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueUInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1739,9 +1737,10 @@ class TypeHandlerXDecimal : public TypeHandler
const BRM::EMEntry& entry, int* state) const;
MinMaxPartitionInfo getExtentPartitionInfo128(const SystemCatalog::TypeAttributesStd& attr, BRM::DBRM& em,
const BRM::EMEntry& entry, int* state) const;
- string PrintPartitionValue128(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal, round_style_t rfMax) const;
+ std::string PrintPartitionValue128(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const;
public:
size_t ColWriteBatch(WriteBatchField* field, const unsigned char* buf, bool nullVal,
@@ -1760,7 +1759,7 @@ class TypeHandlerXDecimal : public TypeHandler
class TypeHandlerSDecimal64 : public TypeHandlerXDecimal
{
public:
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::DECIMAL;
@@ -1804,10 +1803,10 @@ class TypeHandlerSDecimal64 : public TypeHandlerXDecimal
{
return getExtentPartitionInfo64(attr, em, entry, state);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueSInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1826,7 +1825,7 @@ class TypeHandlerSDecimal64 : public TypeHandlerXDecimal
class TypeHandlerUDecimal64 : public TypeHandlerXDecimal
{
public:
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UDECIMAL;
@@ -1870,10 +1869,10 @@ class TypeHandlerUDecimal64 : public TypeHandlerXDecimal
{
return getExtentPartitionInfo64(attr, em, entry, state);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValueSInt64(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1892,7 +1891,7 @@ class TypeHandlerUDecimal64 : public TypeHandlerXDecimal
class TypeHandlerSDecimal128 : public TypeHandlerXDecimal
{
public:
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::DECIMAL;
@@ -1936,10 +1935,10 @@ class TypeHandlerSDecimal128 : public TypeHandlerXDecimal
{
return getExtentPartitionInfo128(attr, em, entry, state);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValue128(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -1958,7 +1957,7 @@ class TypeHandlerSDecimal128 : public TypeHandlerXDecimal
class TypeHandlerUDecimal128 : public TypeHandlerXDecimal
{
public:
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UDECIMAL;
@@ -2002,10 +2001,10 @@ class TypeHandlerUDecimal128 : public TypeHandlerXDecimal
{
return getExtentPartitionInfo128(attr, em, entry, state);
}
- string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
- const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
- round_style_t rfMin, const SimpleValue& endVal,
- round_style_t rfMax) const override
+ std::string PrintPartitionValue(const SystemCatalog::TypeAttributesStd& attr,
+ const MinMaxPartitionInfo& partInfo, const SimpleValue& startVal,
+ round_style_t rfMin, const SimpleValue& endVal,
+ round_style_t rfMax) const override
{
return PrintPartitionValue128(attr, partInfo, startVal, rfMin, endVal, rfMax);
}
@@ -2043,7 +2042,7 @@ class TypeHandlerReal : public TypeHandler
class TypeHandlerSFloat : public TypeHandlerReal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::FLOAT;
@@ -2071,7 +2070,7 @@ class TypeHandlerSFloat : public TypeHandlerReal
class TypeHandlerSDouble : public TypeHandlerReal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::DOUBLE;
@@ -2099,7 +2098,7 @@ class TypeHandlerSDouble : public TypeHandlerReal
class TypeHandlerUFloat : public TypeHandlerReal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UFLOAT;
@@ -2127,7 +2126,7 @@ class TypeHandlerUFloat : public TypeHandlerReal
class TypeHandlerUDouble : public TypeHandlerReal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::UDOUBLE;
@@ -2155,7 +2154,7 @@ class TypeHandlerUDouble : public TypeHandlerReal
class TypeHandlerSLongDouble : public TypeHandlerReal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::LONGDOUBLE;
@@ -2219,14 +2218,14 @@ class TypeHandlerStr : public TypeHandler
class TypeHandlerChar : public TypeHandlerStr
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::CHAR;
}
- const string print(const SystemCatalog::TypeAttributesStd& attr) const override
+ const std::string print(const SystemCatalog::TypeAttributesStd& attr) const override
{
- ostringstream oss;
+ std::ostringstream oss;
oss << name() << "(" << attr.colWidth << ")";
return oss.str();
}
@@ -2256,14 +2255,14 @@ class TypeHandlerChar : public TypeHandlerStr
class TypeHandlerVarchar : public TypeHandlerStr
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::VARCHAR;
}
- const string print(const SystemCatalog::TypeAttributesStd& attr) const override
+ const std::string print(const SystemCatalog::TypeAttributesStd& attr) const override
{
- ostringstream oss;
+ std::ostringstream oss;
oss << name() << "(" << attr.colWidth << ")";
return oss.str();
}
@@ -2297,7 +2296,7 @@ class TypeHandlerVarchar : public TypeHandlerStr
class TypeHandlerVarbinary : public TypeHandlerStr
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::VARBINARY;
@@ -2317,7 +2316,7 @@ class TypeHandlerVarbinary : public TypeHandlerStr
class TypeHandlerBlob : public TypeHandlerStr
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::BLOB;
@@ -2344,7 +2343,7 @@ class TypeHandlerBlob : public TypeHandlerStr
class TypeHandlerText : public TypeHandlerStr
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::TEXT;
@@ -2374,7 +2373,7 @@ class TypeHandlerText : public TypeHandlerStr
class TypeHandlerClob : public TypeHandlerStr
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::CLOB;
@@ -2423,7 +2422,7 @@ class TypeHandlerTemporal : public TypeHandler
class TypeHandlerDate : public TypeHandlerTemporal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::DATE;
@@ -2449,7 +2448,7 @@ class TypeHandlerDate : public TypeHandlerTemporal
class TypeHandlerDatetime : public TypeHandlerTemporal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::DATETIME;
@@ -2475,7 +2474,7 @@ class TypeHandlerDatetime : public TypeHandlerTemporal
class TypeHandlerTime : public TypeHandlerTemporal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::TIME;
@@ -2501,7 +2500,7 @@ class TypeHandlerTime : public TypeHandlerTemporal
class TypeHandlerTimestamp : public TypeHandlerTemporal
{
- const string& name() const override;
+ const std::string& name() const override;
code_t code() const override
{
return SystemCatalog::TIMESTAMP;
diff --git a/datatypes/unordered.h b/datatypes/unordered.h
new file mode 100644
index 000000000..9027212b0
--- /dev/null
+++ b/datatypes/unordered.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#if (_LIBCPP_VERSION)
+#include
+#include
+#pragma message("libcpp do not support tr1, so we are using std::unordered_[set|map] instead")
+namespace std
+{
+namespace tr1
+{
+using std::hash;
+using std::swap;
+using std::unordered_map;
+using std::unordered_multimap;
+using std::unordered_set;
+} // namespace tr1
+} // namespace std
+#else
+#pragma message("Using std::tr1::unordered_[set|map]")
+
+#include
+#include
+#endif
\ No newline at end of file
diff --git a/dbcon/execplan/calpontselectexecutionplan.h b/dbcon/execplan/calpontselectexecutionplan.h
index e9425ed45..9e540b9ba 100644
--- a/dbcon/execplan/calpontselectexecutionplan.h
+++ b/dbcon/execplan/calpontselectexecutionplan.h
@@ -801,7 +801,7 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
* Return a string rep of the CSEP
* @return a string
*/
- void printSubCSEP(const size_t& ident, ostringstream& output, CalpontSelectExecutionPlan*& plan) const;
+ void printSubCSEP(const size_t& ident, std::ostringstream& output, CalpontSelectExecutionPlan*& plan) const;
virtual std::string toString(const size_t ident = 0) const;
/** @brief Is this an internal query?
@@ -968,7 +968,7 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
uint32_t fDJSMaxPartitionTreeDepth = 8;
bool fDJSForceRun = false;
uint32_t fMaxPmJoinResultCount = 1048576;
- int64_t fUMMemLimit = numeric_limits::max();
+ int64_t fUMMemLimit = std::numeric_limits::max();
bool fIsDML = false;
long fTimeZone = 0;
std::vector fDynamicParseTreeVec;
diff --git a/dbcon/execplan/groupconcatcolumn.h b/dbcon/execplan/groupconcatcolumn.h
index 55c391f45..1bf4722d8 100644
--- a/dbcon/execplan/groupconcatcolumn.h
+++ b/dbcon/execplan/groupconcatcolumn.h
@@ -135,7 +135,7 @@ class GroupConcatColumn : public AggregateColumn
using AggregateColumn::operator!=;
virtual bool operator!=(const GroupConcatColumn& t) const;
- string toCppCode(IncludeSet& includes) const override;
+ std::string toCppCode(IncludeSet& includes) const override;
private:
std::vector fOrderCols;
diff --git a/dbcon/execplan/parsetree.h b/dbcon/execplan/parsetree.h
index aaa417e5d..b068129a1 100644
--- a/dbcon/execplan/parsetree.h
+++ b/dbcon/execplan/parsetree.h
@@ -698,7 +698,7 @@ inline void ParseTree::drawTree(std::string filename)
dotFile.close();
}
-inline string ParseTree::toCppCode(IncludeSet& includes) const
+inline std::string ParseTree::toCppCode(IncludeSet& includes) const
{
includes.insert("parsetree.h");
std::stringstream ss;
@@ -711,7 +711,7 @@ inline string ParseTree::toCppCode(IncludeSet& includes) const
inline void ParseTree::codeToFile(std::string filename, std::string varname) const
{
- ofstream hFile(filename.c_str(), std::ios::app);
+ std::ofstream hFile(filename.c_str(), std::ios::app);
IncludeSet includes;
auto result = toCppCode(includes);
for (const auto& inc : includes)
diff --git a/dbcon/execplan/simplefilter.h b/dbcon/execplan/simplefilter.h
index a732e5762..42123374b 100644
--- a/dbcon/execplan/simplefilter.h
+++ b/dbcon/execplan/simplefilter.h
@@ -222,7 +222,7 @@ class SimpleFilter : public Filter
static std::string escapeString(const std::string& input);
- string toCppCode(IncludeSet& includes) const override;
+ std::string toCppCode(IncludeSet& includes) const override;
private:
SOP fOp; /// operator
diff --git a/dbcon/execplan/simplescalarfilter.h b/dbcon/execplan/simplescalarfilter.h
index dc2e6f3d2..420b6f3e5 100644
--- a/dbcon/execplan/simplescalarfilter.h
+++ b/dbcon/execplan/simplescalarfilter.h
@@ -154,7 +154,7 @@ class SimpleScalarFilter : public Filter
*/
bool operator!=(const SimpleScalarFilter& t) const;
- string toCppCode(IncludeSet& includes) const override;
+ std::string toCppCode(IncludeSet& includes) const override;
private:
// default okay?
diff --git a/dbcon/execplan/treenode.h b/dbcon/execplan/treenode.h
index a86cb4b07..54a9f084b 100644
--- a/dbcon/execplan/treenode.h
+++ b/dbcon/execplan/treenode.h
@@ -754,7 +754,7 @@ inline uint64_t TreeNode::getUintVal()
literal::Converter cnv(fResult.strVal.safeString(""), cnverr);
if (datatypes::DataCondition::Code(cnverr) != 0)
{
- cerr << "error in unsigned int conversion from '" << fResult.strVal.safeString() << "'";
+ std::cerr << "error in unsigned int conversion from '" << fResult.strVal.safeString() << "'";
}
return cnv.toXIntPositive(cnverr);
}
diff --git a/dbcon/joblist/diskjoinstep.h b/dbcon/joblist/diskjoinstep.h
index 76e760fd3..3611aca8d 100644
--- a/dbcon/joblist/diskjoinstep.h
+++ b/dbcon/joblist/diskjoinstep.h
@@ -49,7 +49,7 @@ class DiskJoinStep : public JobStep
private:
void initializeFIFO(uint32_t threadCount);
void processJoinPartitions(const uint32_t threadID, const uint32_t smallSideSizeLimitPerThread,
- const vector& joinPartitions);
+ const std::vector& joinPartitions);
void prepareJobs(const std::vector& joinPartitions,
JoinPartitionJobs& joinPartitionsJobs);
void outputResult(const std::vector& result);
diff --git a/dbcon/joblist/groupconcat.h b/dbcon/joblist/groupconcat.h
index a036705be..693b15d14 100644
--- a/dbcon/joblist/groupconcat.h
+++ b/dbcon/joblist/groupconcat.h
@@ -124,7 +124,7 @@ class GroupConcator
virtual void merge(GroupConcator*) = 0;
virtual uint8_t* getResultImpl(const std::string& sep) = 0;
virtual uint8_t* getResult(const std::string& sep);
- uint8_t* swapStreamWithStringAndReturnBuf(ostringstream& oss, bool isNull);
+ uint8_t* swapStreamWithStringAndReturnBuf(std::ostringstream& oss, bool isNull);
virtual const std::string toString() const;
@@ -178,7 +178,10 @@ class GroupConcatNoOrder : public GroupConcator
const std::string toString() const override;
protected:
- std::vector& getRGDatas() { return fDataVec; }
+ std::vector& getRGDatas()
+ {
+ return fDataVec;
+ }
void createNewRGData();
rowgroup::RowGroup fRowGroup;
@@ -247,8 +250,14 @@ class GroupConcatOrderBy : public GroupConcator, public ordering::IdbCompare
void createNewRGData();
uint64_t getCurrentRowIdx() const;
static uint64_t shiftGroupIdxBy(uint64_t idx, uint32_t shift);
- std::vector& getRGDatas() { return fDataVec; }
- SortingPQ* getQueue() { return fOrderByQueue.get(); }
+ std::vector& getRGDatas()
+ {
+ return fDataVec;
+ }
+ SortingPQ* getQueue()
+ {
+ return fOrderByQueue.get();
+ }
rowgroup::RGDataSizeType fMemSize{0};
static constexpr uint64_t fRowsPerRG{128};
diff --git a/dbcon/joblist/largehashjoin.h b/dbcon/joblist/largehashjoin.h
index dd1a96280..f85f091ba 100644
--- a/dbcon/joblist/largehashjoin.h
+++ b/dbcon/joblist/largehashjoin.h
@@ -32,7 +32,7 @@
#include
#include
#include
-#include
+#include
#include
#include
@@ -55,10 +55,10 @@ extern void timespec_sub(const struct timespec& tv1, const struct timespec& tv2,
namespace joblist
{
-const string createHashStr("create hash");
-const string hashJoinStr("hash join");
-const string insertResultsStr("insert results");
-const string insertLastResultsStr("insert last results");
+const std::string createHashStr("create hash");
+const std::string hashJoinStr("hash join");
+const std::string insertResultsStr("insert results");
+const std::string insertLastResultsStr("insert last results");
template
void* HashJoinByBucket_thr(void* arg);
diff --git a/dbcon/joblist/lbidlist.h b/dbcon/joblist/lbidlist.h
index 4e294341d..8a977ee50 100644
--- a/dbcon/joblist/lbidlist.h
+++ b/dbcon/joblist/lbidlist.h
@@ -31,7 +31,7 @@
#include "bytestream.h"
#include
#include "brm.h"
-#include
+#include
namespace joblist
{
diff --git a/dbcon/joblist/primitivestep.h b/dbcon/joblist/primitivestep.h
index 008a0e81f..7061d23a2 100644
--- a/dbcon/joblist/primitivestep.h
+++ b/dbcon/joblist/primitivestep.h
@@ -33,7 +33,7 @@
#include