should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

1
.gitignore vendored
View File

@@ -23,3 +23,4 @@ compile_commands.json
build/**
*.toml
.cache/**

3
.gitmodules vendored
View File

@@ -11,3 +11,6 @@
[submodule "external/bitsery"]
path = external/bitsery
url = https://github.com/fraillt/bitsery
[submodule "external/duckdb"]
path = external/duckdb
url = https://github.com/duckdb/duckdb.git

View File

@@ -10,17 +10,19 @@ add_subdirectory(external/fmt)
add_subdirectory(external/spdlog)
add_subdirectory(external/tomlplusplus)
add_subdirectory(external/bitsery)
add_subdirectory(external/duckdb)
# Executables
add_executable(${PROJECT_NAME}-client src/main-tracker.cpp)
add_executable(${PROJECT_NAME}-daemon src/main-daemon.cpp)
# Common targets
set(COMMON_LIBS fmt spdlog tomlplusplus bitsery)
set(COMMON_LIBS fmt spdlog tomlplusplus bitsery duckdb_static)
set(COMMON_INCLUDES
external/fmt/include
external/spdlog/include
external/tomlplusplus/include
external/bitsery/include/bitsery
external/duckdb/src/include
)
# Apply common settings

33
external/duckdb/.clang-format vendored Normal file
View File

@@ -0,0 +1,33 @@
---
BasedOnStyle: LLVM
SortIncludes: false
TabWidth: 4
IndentWidth: 4
ColumnLimit: 120
AllowShortFunctionsOnASingleLine: false
---
UseTab: ForIndentation
DerivePointerAlignment: false
PointerAlignment: Right
AlignConsecutiveMacros: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AlignAfterOpenBracket: Align
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakTemplateDeclarations: Yes
IncludeBlocks: Regroup
Language: Cpp
AccessModifierOffset: -4
---
Language: Java
SpaceAfterCStyleCast: true
---

55
external/duckdb/.clang-tidy vendored Normal file
View File

@@ -0,0 +1,55 @@
Checks: '-*,clang-diagnostic-*,bugprone-*,performance-*,google-explicit-constructor,google-build-using-namespace,google-runtime-int,misc-definitions-in-headers,modernize-use-nullptr,modernize-use-override,-bugprone-macro-parentheses,readability-braces-around-statements,-bugprone-branch-clone,readability-identifier-naming,hicpp-exception-baseclass,misc-throw-by-value-catch-by-reference,-bugprone-signed-char-misuse,-bugprone-misplaced-widening-cast,-bugprone-sizeof-expression,-bugprone-easily-swappable-parameters,google-global-names-in-headers,llvm-header-guard,misc-definitions-in-headers,modernize-use-emplace,modernize-use-bool-literals,-performance-inefficient-string-concatenation,-performance-no-int-to-ptr,readability-container-size-empty,cppcoreguidelines-pro-type-cstyle-cast,-llvm-header-guard,-performance-enum-size,cppcoreguidelines-pro-type-const-cast,cppcoreguidelines-avoid-non-const-global-variables,cppcoreguidelines-interfaces-global-init,cppcoreguidelines-slicing,cppcoreguidelines-rvalue-reference-param-not-moved,cppcoreguidelines-virtual-class-destructor,-readability-identifier-naming,-bugprone-exception-escape,-bugprone-unused-local-non-trivial-variable,-bugprone-empty-catch,-misc-use-internal-linkage,-readability-static-definition-in-anonymous-namespace'
WarningsAsErrors: '*'
HeaderFilterRegex: 'src/include/duckdb/.*'
FormatStyle: none
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.EnumCase
value: CamelCase
- key: readability-identifier-naming.TypedefCase
value: lower_case
- key: readability-identifier-naming.TypedefSuffix
value: _t
- key: readability-identifier-naming.FunctionCase
value: CamelCase
- key: readability-identifier-naming.MemberCase
value: lower_case
- key: readability-identifier-naming.ParameterCase
value: lower_case
- key: readability-identifier-naming.ConstantCase
value: aNy_CasE
- key: readability-identifier-naming.ConstantParameterCase
value: lower_case
- key: readability-identifier-naming.NamespaceCase
value: lower_case
- key: readability-identifier-naming.MacroDefinitionCase
value: UPPER_CASE
- key: readability-identifier-naming.StaticConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.ConstantMemberCase
value: aNy_CasE
- key: readability-identifier-naming.StaticVariableCase
value: UPPER_CASE
- key: readability-identifier-naming.ClassConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.EnumConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.ConstexprVariableCase
value: aNy_CasE
- key: readability-identifier-naming.StaticConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.TemplateTemplateParameterCase
value: UPPER_CASE
- key: readability-identifier-naming.TypeTemplateParameterCase
value: UPPER_CASE
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: modernize-use-emplace.SmartPointers
value: '::duckdb::shared_ptr;::duckdb::unique_ptr;::std::auto_ptr;::duckdb::weak_ptr'
- key: cppcoreguidelines-rvalue-reference-param-not-moved.IgnoreUnnamedParams
value: true
- key: misc-use-internal-linkage
value: true
- key: readability-static-definition-in-anonymous-namespace
value: true

3
external/duckdb/.clangd vendored Normal file
View File

@@ -0,0 +1,3 @@
CompileFlags:
CompilationDatabase: build/clangd
Add: -Wno-unqualified-std-cast-call

23
external/duckdb/.codecov.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
comment: false
coverage:
precision: 2
round: down
range: "0...100"
status:
project:
default:
# advanced settings
if_not_found: success
if_ci_failed: failure
informational: true
only_pulls: false
patch:
default:
branches:
- main
if_not_found: success
if_ci_failed: error
informational: true
only_pulls: true
paths:
- "src"

53
external/duckdb/.editorconfig vendored Normal file
View File

@@ -0,0 +1,53 @@
# Unix-style newlines with a newline ending every file
[*.{c,cpp,h,hpp}]
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = true
charset = utf-8
max_line_length = 120
x-soft-wrap-text = true
x-soft-wrap-mode = CharacterWidth
x-soft-wrap-limit = 120
x-show-invisibles = false
x-show-spaces = false
[*.{java}]
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = false
charset = utf-8
max_line_length = 120
x-soft-wrap-text = true
x-soft-wrap-mode = CharacterWidth
x-soft-wrap-limit = 120
x-show-invisibles = false
x-show-spaces = false
[*.{test,test_slow,test_coverage,benchmark}]
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = false
charset = utf-8
x-soft-wrap-text = false
[Makefile]
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = true
charset = utf-8
x-soft-wrap-text = false
[*keywords.list]
insert_final_newline = false

1
external/duckdb/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.test linguist-language=sql

View File

@@ -0,0 +1,120 @@
name: Bug report
description: Create a report to help us improve
labels:
- needs triage
body:
- type: markdown
attributes:
value: >
DuckDB has several repositories for different components, please make sure you're raising your issue in the correct one:
* [Documentation](https://github.com/duckdb/duckdb-web/issues/new)
* Clients: [Go](https://github.com/duckdb/duckdb-go/issues/new), [Java (JDBC)](https://github.com/duckdb/duckdb-java/issues/new), [Node.js](https://github.com/duckdb/duckdb-node-neo/issues/new), [ODBC](https://github.com/duckdb/duckdb-odbc/issues/new), [Python](https://github.com/duckdb/duckdb-python/issues/new), [R](https://github.com/duckdb/duckdb-r/issues/new), [Rust](https://github.com/duckdb/duckdb-rs/issues/new), [WebAssembly (Wasm)](https://github.com/duckdb/duckdb-wasm/issues/new)
* Extensions: [`aws`](https://github.com/duckdb/duckdb-aws/issues/new), [`azure`](https://github.com/duckdb/duckdb-azure/issues/new), [`delta`](https://github.com/duckdb/duckdb-delta/issues/new), [`ducklake`](https://github.com/duckdb/duckdb-ducklake/issues/new), [`encodings`](https://github.com/duckdb/duckdb-encodings/issues/new), [`excel`](https://github.com/duckdb/duckdb-excel/issues/new), [`fts`](https://github.com/duckdb/duckdb-fts/issues/new), [`httpfs`](https://github.com/duckdb/duckdb-httpfs/issues/new), [`iceberg`](https://github.com/duckdb/duckdb-iceberg/issues/new), [`inet`](https://github.com/duckdb/duckdb-inet/issues/new), [`mysql`](https://github.com/duckdb/duckdb-mysql/issues/new), [`postgres`](https://github.com/duckdb/duckdb-postgres/issues/new), [`spatial`](https://github.com/duckdb/duckdb-spatial/issues/new), [`sqlite`](https://github.com/duckdb/duckdb-sqlite/issues/new), [`ui`](https://github.com/duckdb/duckdb-ui/issues/new), [`vss`](https://github.com/duckdb/duckdb-vss/issues/new)
If the issue occurs in core DuckDB (e.g., a SQL query crashes or returns incorrect results) or if the issue is in the DuckDB command line client, feel free to raise it in this repository.
Please report security vulnerabilities using GitHub's [report vulnerability form](https://github.com/duckdb/duckdb/security/advisories/new).
- type: textarea
attributes:
label: What happens?
description: A short, clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: |
Please provide steps to reproduce the behavior, preferably a [minimal reproducible example](https://en.wikipedia.org/wiki/Minimal_reproducible_example). Please adhere the following guidelines:
* Format the code and the output as [code blocks](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks) using triple backticks:
````
```
CODE HERE
```
````
* Add all required imports for scripts, e.g., `import duckdb`, `import pandas as pd`.
* Remove all prompts from the scripts. This include DuckDB's 'D' prompt and Python's `>>>` prompt. Removing these prompts makes reproduction attempts quicker.
* Make sure that the script and its outputs are provided in separate code blocks.
* If applicable, please check whether the issue is reproducible via running plain SQL queries from the DuckDB CLI client.
validations:
required: true
- type: markdown
attributes:
value: "# Environment (please complete the following information):"
- type: input
attributes:
label: "OS:"
placeholder: e.g., iOS
description: Please include operating system version and architecture (e.g., aarch64, x86_64, etc.).
validations:
required: true
- type: input
attributes:
label: "DuckDB Version:"
placeholder: e.g., 22
validations:
required: true
- type: input
attributes:
label: "DuckDB Client:"
placeholder: e.g., Python
validations:
required: true
- type: input
attributes:
label: "Hardware:"
placeholder: If your issue is performance-related, please include information on your CPU and memory.
validations:
required: false
- type: markdown
attributes:
value: "# Identity Disclosure:"
- type: input
attributes:
label: "Full Name:"
placeholder: e.g., John Doe
validations:
required: true
- type: input
attributes:
label: "Affiliation:"
placeholder: e.g., Acme Corporation
validations:
required: true
- type: markdown
attributes:
value: |
If the above is not given and is not obvious from your GitHub profile page, we might close your issue without further review. Please refer to the [reasoning behind this rule](https://berthub.eu/articles/posts/anonymous-help/) if you have questions.
# Before Submitting:
- type: checkboxes
attributes:
label: Did you include all relevant configuration (e.g., CPU architecture, Linux distribution) to reproduce the issue?
options:
- label: Yes, I have
- type: checkboxes
attributes:
label: Did you include all code required to reproduce the issue?
options:
- label: Yes, I have
- type: dropdown
attributes:
label: Did you include all relevant data sets for reproducing the issue?
options:
- "No - Other reason (please specify in the issue body)"
- "No - I cannot share the data sets because they are confidential"
- "No - I cannot easily share my data sets due to their large size"
- "Not applicable - the reproduction does not require a data set"
- "Yes"
default: 0
validations:
required: true

View File

@@ -0,0 +1,9 @@
blank_issues_enabled: false
contact_links:
- name: Feature Request
# manual template until discussion templates are GA
url: https://github.com/duckdb/duckdb/discussions/new?category=ideas&title=Feature%20Request:%20...&labels=feature&body=Why%20do%20you%20want%20this%20feature%3F
about: Submit feature requests here
- name: Discussions
url: https://github.com/duckdb/duckdb/discussions
about: Please ask and answer general questions here.

View File

@@ -0,0 +1,254 @@
# # # # # # # # # # # # # # # # # #
#
# WARNING: DEPRECATED!
#
# # # # # # # # # # # # # # # # # #
name: "Build Extensions"
description: "Build, test and deploy the DuckDB extensions"
inputs:
# Test config
run_tests:
description: 'Run extension tests after build'
default: '1'
run_autoload_tests:
description: 'Runs the autoloading tests'
default: '1'
# Deploy config
deploy_as:
description: 'Binary architecture name for deploy step - DEPRECATED'
default: ''
deploy_version:
description: 'Version tag or commit short hash for deploy step'
default: ''
s3_id:
description: 'S3 key ID'
default: ''
s3_key:
description: 'S3 key secret'
default: ''
signing_pk:
description: 'Extension signing RSA private key'
default: ''
# Build config
duckdb_arch:
description: 'Provide DUCKDB_PLATFORM to build system for cross compilation'
default: ''
static_link_build:
description: 'Links DuckDB statically to the loadable extensions'
default: '1'
no_static_linking:
description: 'Disables linking extensions into DuckDB for testing'
default: '0'
vcpkg_build:
description: 'Installs vcpkg and pass its toolchain to CMakes'
default: '1'
build_dir:
description: 'DuckDB source directory to run the build in'
default: '.'
ninja:
description: 'Use ninja for building'
default: '0'
openssl_path:
description: 'Directory of OpenSSL installation'
default: ''
post_install:
description: 'Post-install scripts to run'
default: ''
treat_warn_as_error:
description: 'Treat compilation warnings as errors'
default: '1'
build_in_tree_extensions:
description: 'Build in-tree extensions'
default: '1'
build_out_of_tree_extensions:
description: 'Build out-of-tree extensions'
default: '1'
build_complete_extensions_set:
description: 'Whether all extensions needs to be built'
default: '1'
bundle_static_lib_mode:
description: 'Build the default bundled extensions to publish the static libs'
default: '0'
osx_universal:
description: 'Build Universal Binary for OSX'
default: '0'
osx_arch:
description: 'Build specific architecture for OSX'
default: ''
aarch64_cross_compile:
description: 'Enable Linux aarch64 cross-compiling'
default: '0'
vcpkg_target_triplet:
description: 'Target triplet for installing vcpkg dependencies'
default: ''
override_cc:
description: 'Override C Compiler'
default: ''
override_cxx:
description: 'Override CXX Compiler'
default: ''
unittest_script:
description: 'Script/program to execute the unittests'
default: 'python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest'
cmake_flags:
description: 'Flags to be passed to cmake'
default: ''
runs:
using: "composite"
steps:
- name: Setup DuckDB extension build config
shell: bash
run: |
export EXTENSION_CONFIGS="$EXTENSION_CONFIGS;${{ inputs.bundle_static_lib_mode == 1 && '.github/config/bundled_extensions.cmake' || ''}}"
export EXTENSION_CONFIGS="$EXTENSION_CONFIGS;${{ inputs.build_in_tree_extensions == 1 && '.github/config/in_tree_extensions.cmake' || ''}}"
export EXTENSION_CONFIGS="$EXTENSION_CONFIGS;${{ inputs.build_out_of_tree_extensions == 1 && '.github/config/out_of_tree_extensions.cmake' || '' }}"
echo "EXTENSION_CONFIGS=$EXTENSION_CONFIGS" >> $GITHUB_ENV
- name: Setup vcpkg
if: ${{ inputs.vcpkg_build == 1 }}
uses: lukka/run-vcpkg@v11.1
with:
vcpkgGitCommitId: ce613c41372b23b1f51333815feb3edd87ef8a8b
- name: Set vcpkg env variables
if: ${{ inputs.vcpkg_build == 1 }}
shell: bash
run: |
echo "VCPKG_TOOLCHAIN_PATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" >> $GITHUB_ENV
echo "VCPKG_TARGET_TRIPLET=${{ inputs.vcpkg_target_triplet }}" >> $GITHUB_ENV
echo "BUILD_COMPLETE_EXTENSION_SET=${{ inputs.build_complete_extensions_set }}" >> $GITHUB_ENV
- name: workaround for https://github.com/duckdb/duckdb/issues/8360
if: inputs.vcpkg_target_triplet == 'x64-windows-static-md'
shell: bash
run: |
cd $VCPKG_ROOT
mkdir -p downloads
cd downloads
curl -O -L https://github.com/duckdb/duckdb-data/releases/download/v1.0/nasm-2.16.01-win64.zip
ls -al
pwd
- name: Set Openssl dir
if: inputs.openssl_path != ''
shell: bash
run: |
echo "OPENSSL_ROOT_DIR=${{ inputs.openssl_path }}" >> $GITHUB_ENV
- name: Create combined vcpkg manifest
if: ${{ inputs.vcpkg_build == '1' && inputs.build_out_of_tree_extensions == '1' }}
shell: bash
run: |
make extension_configuration
- name: Build
shell: bash
env:
TREAT_WARNINGS_AS_ERRORS: ${{ inputs.treat_warn_as_error}}
FORCE_WARN_UNUSED: 1
STATIC_OPENSSL: 1
EXTENSION_STATIC_BUILD: ${{ inputs.static_link_build }}
OSX_BUILD_UNIVERSAL: ${{ inputs.osx_universal }}
OSX_BUILD_ARCH: ${{ inputs.osx_arch }}
DISABLE_BUILTIN_EXTENSIONS: ${{ inputs.no_static_linking}}
CC: ${{ inputs.aarch64_cross_compile == 1 && 'aarch64-linux-gnu-gcc' || inputs.override_cc }}
CXX: ${{ inputs.aarch64_cross_compile == 1 && 'aarch64-linux-gnu-g++' || inputs.override_cxx}}
LOCAL_EXTENSION_REPO: ${{ inputs.run_autoload_tests == 1 && github.workspace || ''}}
GEN: ${{ inputs.ninja == 1 && 'ninja' || '' }}
USE_MERGED_VCPKG_MANIFEST: 1
# TODO we should no longer override this but we should probably check that it is what we expect
DUCKDB_PLATFORM: ${{ inputs.duckdb_arch }}
CMAKE_VARS_BUILD: ${{ inputs.cmake_flags }}
run: |
ls
cd ${{ inputs.build_dir}}
ls -al
pwd
echo "$USER"
git config --global --add safe.directory '*'
make
ls
# Tests extension using regular require mechanism:
# - statically linked extensions are disable on startup but a sqlogictest require will call their load function
# - loadable-only extensions have their loadable extension loaded with the LOAD statement on a sqlogictest require
- name: Test statically linked extensions
if: ${{ inputs.run_tests == '1' && inputs.no_static_linking == '0' }}
shell: bash
run: |
${{ inputs.unittest_script }}
- name: Run post-install scripts
if: ${{ inputs.post_install != '' }}
shell: bash
run: |
ls
cd ${{ inputs.build_dir }}
${{ inputs.post_install }}
# The reason we need to rebuild is we need to test auto-loading extensions: this is only possible without the other
# extensions linked
- name: Rebuild DuckDB without any extensions, but with all extension tests
if: ${{ inputs.run_autoload_tests == '1' }}
shell: bash
env:
EXTENSION_TESTS_ONLY: 1
ENABLE_EXTENSION_AUTOLOADING: 1
ENABLE_EXTENSION_AUTOINSTALL: 1
GEN: ${{ inputs.ninja == '1' && 'ninja' || '' }}
USE_MERGED_VCPKG_MANIFEST: 1
run: |
cd ${{ inputs.build_dir}}
rm -rf duckdb_unittest_tempdir/*
mv build/release/extension build/extension_tmp
rm -rf build/release
VCPKG_TOOLCHAIN_PATH="" make
# Run all unittests (including the out-of-tree tests) without any extensions linked, relying on the autoloader
- name: Run tests with auto loading
if: ${{ inputs.run_autoload_tests == '1' }}
shell: bash
env:
LOCAL_EXTENSION_REPO: ${{ inputs.run_autoload_tests == '1' && github.workspace || ''}}
DUCKDB_TEST_DESCRIPTION: 'Extension autoloading tests. All `require` calls are ignored and auto-loading is tested. Use require no_extension_autoloading in the test to skip tests.'
run: |
cd ${{ inputs.build_dir}}
python3 scripts/get_test_list.py --file-contains 'require ' --list '"*.test"' > test.list
python3 scripts/get_test_list.py --file-contains 'require-env LOCAL_EXTENSION_REPO' --list '"*.test"' >> test.list
${{ inputs.unittest_script }} '-f test.list'
rm -rf build/release/extension
mv build/extension_tmp build/release/extension
- name: Run tests with auto loading with VS2019 C++ stdlib
if: ${{ inputs.run_autoload_tests == '1' && inputs.vcpkg_target_triplet == 'x64-windows-static-md' }}
shell: bash
env:
LOCAL_EXTENSION_REPO: ${{ inputs.run_autoload_tests == '1' && github.workspace || ''}}
run: |
rm -rf build/extension_tmp
mv build/release/extension build/extension_tmp
choco install wget -y --no-progress
cd ${{ inputs.build_dir }}
TEST_RUNNER_DIR=./build/release/test/Release
if [ ! -f ${TEST_RUNNER_DIR}/unittest.exe ]; then
echo "Invalid unit tests runner dir: ${TEST_RUNNER_DIR}, check 'inputs.unittest_script' argument"
exit 1
fi
wget -P ${TEST_RUNNER_DIR} https://blobs.duckdb.org/ci/msvcp140.dll
ls ${TEST_RUNNER_DIR}
# test.list is generated on the previous step
${{ inputs.unittest_script }} '-f test.list'
rm ${TEST_RUNNER_DIR}/msvcp140.dll
rm -rf ./build/release/extension
mv ./build/extension_tmp ./build/release/extension
- name: Deploy
if: ${{ inputs.deploy_as != '' }}
shell: bash
run: |
exit 1

View File

@@ -0,0 +1,37 @@
# https://github.com/pierotofy/set-swap-space
name: 'Set Swap Space'
description: 'Add moar swap'
inputs:
swap-size-gb:
description: 'Swap space to create, in Gigabytes.'
required: false
default: '10'
runs:
using: "composite"
steps:
- name: Swap space report before modification
shell: bash
run: |
echo "Memory and swap:"
free -h
echo
swapon --show
echo
- name: Set Swap
shell: bash
run: |
export SWAP_FILE=$(swapon --show=NAME | tail -n 1)
sudo swapoff $SWAP_FILE
sudo rm $SWAP_FILE
sudo fallocate -l ${{ inputs.swap-size-gb }}G $SWAP_FILE
sudo chmod 600 $SWAP_FILE
sudo mkswap $SWAP_FILE
sudo swapon $SWAP_FILE
- name: Swap space report after modification
shell: bash
run: |
echo "Memory and swap:"
free -h
echo
swapon --show
echo

View File

@@ -0,0 +1,16 @@
PROJ_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
# Configuration to build all extensions
# This is used in combination with extension-ci-tools to fake an extension that as as extension_config.cmake the content of
# in-tree and out-of-tree configuration files.
EXT_NAME=all_extensions
EXT_CONFIG=${PROJ_DIR}extension_config.cmake
# Include the Makefile from extension-ci-tools
include extension-ci-tools/makefiles/duckdb_extension.Makefile
configure_ci:
cd duckdb && BUILD_ALL_EXT=1 make extension_configuration && cp build/extension_configuration/vcpkg.json ../.
test_release:
python3 duckdb/scripts/run_tests_one_by_one.py ./build/release/test/unittest

View File

@@ -0,0 +1,42 @@
# Extension patches
Patches in this directory are used to smoothen the process of introducing changes to DuckDB that break compatibility with an
out-of-tree extension. Extensions installed from git urls can automatically apply patches found in this directory. The APPLY_PATCHES flag
should be used to explicitly enable this feature. For example,
lets say our extension config looks like this:
```shell
duckdb_extension_load(spatial
DONT_LINK
GIT_URL https://github.com/duckdb/duckdb_spatial
GIT_TAG f577b9441793f9170403e489f5d3587e023a945f
APPLY_PATCHES
)
```
In this example, upon downloading the spatial extension, all patches in the `.github/patches/extensions/spatial/*.patch`
will be automatically applied.
Note that the reason for having the APPLY_PATCHES flag explicitly enabled is to make it easier for developers reading
the extension config to detect a patch is present. For this reason, the patching mechanism will actually fail if `APPLY_PATCHES`
is set with no patches in `.github/patches/extensions/<ext>/*.patch`.
# Workflow
Imagine a change to DuckDB is introduced that breaks compatibility with extension X. The
workflow for this is as follows:
### PR #1: breaking change to DuckDB
- Commit breaking change to DuckDB
- Fix breakage in extension X, producing a patch with fix (be wary of already existing patches)
- Commit patch in `.github/patches/extensions/x/*.patch` using a descriptive name
- enable APPLY_PATCHES for extension X in `.github/config/out_of_tree_extensions.cmake` (if not already enabled)
### PR #2: patch to extension X
- Apply (all) the patch(es) in `.github/patches/extensions/x/*.patch` to extension X.
### PR #3: update extension X in DuckDB
- Remove patches in `.github/patches/extensions/x/*.patch`
- Remove `APPLY_PATCHES` flag from config
- Update hash of extension in config

View File

@@ -0,0 +1,13 @@
diff --git a/src/field_ids.cpp b/src/field_ids.cpp
index d197f8d..52fb48c 100644
--- a/src/field_ids.cpp
+++ b/src/field_ids.cpp
@@ -5,6 +5,8 @@ namespace duckdb {
namespace avro {
+constexpr const char *FieldID::DUCKDB_FIELD_ID;
+
FieldID::FieldID() : set(false) {
}

View File

@@ -0,0 +1,12 @@
diff --git a/src/storage/delta_insert.cpp b/src/storage/delta_insert.cpp
index 93ebf9f..8eea9f5 100644
--- a/src/storage/delta_insert.cpp
+++ b/src/storage/delta_insert.cpp
@@ -1,7 +1,5 @@
#include "storage/delta_insert.hpp"
-#include <duckdb/common/sort/partition_state.hpp>
-
#include "duckdb/catalog/catalog_entry/copy_function_catalog_entry.hpp"
#include "duckdb/main/client_data.hpp"
#include "duckdb/planner/operator/logical_copy_to_file.hpp"

View File

@@ -0,0 +1,38 @@
diff --git a/src/s3fs.cpp b/src/s3fs.cpp
index 72eddc3..601ecba 100644
--- a/src/s3fs.cpp
+++ b/src/s3fs.cpp
@@ -895,7 +895,7 @@ void S3FileHandle::Initialize(optional_ptr<FileOpener> opener) {
correct_region = new_region->second;
}
auto extra_text = S3FileSystem::GetS3BadRequestError(auth_params, correct_region);
- throw Exception(error.Type(), error.RawMessage() + extra_text, extra_info);
+ throw Exception(extra_info, error.Type(), error.RawMessage() + extra_text);
}
if (entry->second == "403") {
// 403: FORBIDDEN
@@ -905,7 +905,7 @@ void S3FileHandle::Initialize(optional_ptr<FileOpener> opener) {
} else {
extra_text = S3FileSystem::GetS3AuthError(auth_params);
}
- throw Exception(error.Type(), error.RawMessage() + extra_text, extra_info);
+ throw Exception(extra_info, error.Type(), error.RawMessage() + extra_text);
}
}
throw;
@@ -941,13 +941,13 @@ bool S3FileSystem::CanHandleFile(const string &fpath) {
void S3FileSystem::RemoveFile(const string &path, optional_ptr<FileOpener> opener) {
auto handle = OpenFile(path, FileFlags::FILE_FLAGS_NULL_IF_NOT_EXISTS, opener);
if (!handle) {
- throw IOException("Could not remove file \"%s\": %s", {{"errno", "404"}}, path, "No such file or directory");
+ throw IOException({{"errno", "404"}}, "Could not remove file \"%s\": %s", path, "No such file or directory");
}
auto &s3fh = handle->Cast<S3FileHandle>();
auto res = DeleteRequest(*handle, s3fh.path, {});
if (res->status != HTTPStatusCode::OK_200 && res->status != HTTPStatusCode::NoContent_204) {
- throw IOException("Could not remove file \"%s\": %s", {{"errno", to_string(static_cast<int>(res->status))}},
+ throw IOException({{"errno", to_string(static_cast<int>(res->status))}}, "Could not remove file \"%s\": %s",
path, res->GetError());
}
}

View File

@@ -0,0 +1,12 @@
diff --git a/src/storage/iceberg_insert.cpp b/src/storage/iceberg_insert.cpp
index aa2371e8..cccc82d6 100644
--- a/src/storage/iceberg_insert.cpp
+++ b/src/storage/iceberg_insert.cpp
@@ -7,7 +7,6 @@
#include "iceberg_multi_file_list.hpp"
-#include "duckdb/common/sort/partition_state.hpp"
#include "duckdb/catalog/catalog_entry/copy_function_catalog_entry.hpp"
#include "duckdb/main/client_data.hpp"
#include "duckdb/planner/operator/logical_copy_to_file.hpp"

View File

@@ -0,0 +1,19 @@
diff --git a/src/inet_functions.cpp b/src/inet_functions.cpp
index da92a4c..afa7446 100644
--- a/src/inet_functions.cpp
+++ b/src/inet_functions.cpp
@@ -185,11 +185,12 @@ static INET_TYPE AddImplementation(INET_TYPE ip, hugeint_t val) {
if (val > 0) {
address_out =
AddOperatorOverflowCheck::Operation<uhugeint_t, uhugeint_t, uhugeint_t>(
- address_in, val);
+ address_in, (uhugeint_t)val);
} else {
+ // TODO: this is off for when val is the minimal uhugeint_t value
address_out =
SubtractOperatorOverflowCheck::Operation<uhugeint_t, uhugeint_t,
- uhugeint_t>(address_in, -val);
+ uhugeint_t>(address_in, (uhugeint_t)(-val));
}
if (addr_type == IPAddressType::IP_ADDRESS_V4 &&

View File

@@ -0,0 +1,16 @@
diff --git a/src/spatial/modules/main/spatial_functions_scalar.cpp b/src/spatial/modules/main/spatial_functions_scalar.cpp
index 60ca7373ce..a44cfc7a82 100644
--- a/src/spatial/modules/main/spatial_functions_scalar.cpp
+++ b/src/spatial/modules/main/spatial_functions_scalar.cpp
@@ -9243,6 +9243,11 @@ struct ST_MMin : VertexAggFunctionBase<ST_MMin, VertexMinAggOp> {
static constexpr auto ORDINATE = VertexOrdinate::M;
};
+constexpr const char * ST_M::NAME;
+constexpr const char * ST_X::NAME;
+constexpr const char * ST_Y::NAME;
+constexpr const char * ST_Z::NAME;
+
} // namespace
// Helper to access the constant distance from the bind data

View File

@@ -0,0 +1,44 @@
diff --git a/src/statement_generator.cpp b/src/statement_generator.cpp
index fc34c7c..5defc4e 100644
--- a/src/statement_generator.cpp
+++ b/src/statement_generator.cpp
@@ -373,8 +373,9 @@ unique_ptr<QueryNode> StatementGenerator::GenerateQueryNode() {
GenerateCTEs(*setop);
setop->setop_type = Choose<SetOperationType>({SetOperationType::EXCEPT, SetOperationType::INTERSECT,
SetOperationType::UNION, SetOperationType::UNION_BY_NAME});
- setop->left = GenerateQueryNode();
- setop->right = GenerateQueryNode();
+ for(idx_t i = 0; i < 2; i++) {
+ setop->children.push_back(GenerateQueryNode());
+ }
switch (setop->setop_type) {
case SetOperationType::EXCEPT:
case SetOperationType::INTERSECT:
diff --git a/src/statement_simplifier.cpp b/src/statement_simplifier.cpp
index 2cd7f06..4602928 100644
--- a/src/statement_simplifier.cpp
+++ b/src/statement_simplifier.cpp
@@ -196,8 +196,9 @@ void StatementSimplifier::Simplify(SelectNode &node) {
}
void StatementSimplifier::Simplify(SetOperationNode &node) {
- Simplify(node.left);
- Simplify(node.right);
+ for(auto &child : node.children) {
+ Simplify(child);
+ }
}
void StatementSimplifier::Simplify(CommonTableExpressionMap &cte) {
@@ -218,8 +219,9 @@ void StatementSimplifier::Simplify(unique_ptr<QueryNode> &node) {
break;
case QueryNodeType::SET_OPERATION_NODE: {
auto &setop = node->Cast<SetOperationNode>();
- SimplifyReplace(node, setop.left);
- SimplifyReplace(node, setop.right);
+ for(auto &child : setop.children) {
+ SimplifyReplace(node, child);
+ }
Simplify(setop);
break;
}

View File

@@ -0,0 +1,8 @@
benchmark/appian_benchmarks/q01.benchmark
benchmark/appian_benchmarks/q02.benchmark
benchmark/appian_benchmarks/q03.benchmark
benchmark/appian_benchmarks/q04.benchmark
benchmark/appian_benchmarks/q05.benchmark
benchmark/appian_benchmarks/q06.benchmark
benchmark/appian_benchmarks/q07.benchmark
benchmark/appian_benchmarks/q08.benchmark
1 benchmark/appian_benchmarks/q01.benchmark
2 benchmark/appian_benchmarks/q02.benchmark
3 benchmark/appian_benchmarks/q03.benchmark
4 benchmark/appian_benchmarks/q04.benchmark
5 benchmark/appian_benchmarks/q05.benchmark
6 benchmark/appian_benchmarks/q06.benchmark
7 benchmark/appian_benchmarks/q07.benchmark
8 benchmark/appian_benchmarks/q08.benchmark

View File

@@ -0,0 +1,9 @@
benchmark/csv/sniffer.benchmark
benchmark/csv/read.benchmark
benchmark/csv/small_csv.benchmark
benchmark/csv/null_padding.benchmark
benchmark/csv/projection_pushdown.benchmark
benchmark/csv/1_byte_values.benchmark
benchmark/csv/16_byte_values.benchmark
benchmark/csv/multiple_small_files.benchmark
benchmark/csv/time_type.benchmark
1 benchmark/csv/sniffer.benchmark
2 benchmark/csv/read.benchmark
3 benchmark/csv/small_csv.benchmark
4 benchmark/csv/null_padding.benchmark
5 benchmark/csv/projection_pushdown.benchmark
6 benchmark/csv/1_byte_values.benchmark
7 benchmark/csv/16_byte_values.benchmark
8 benchmark/csv/multiple_small_files.benchmark
9 benchmark/csv/time_type.benchmark

View File

@@ -0,0 +1,15 @@
benchmark/h2oai/group/q01.benchmark
benchmark/h2oai/group/q02.benchmark
benchmark/h2oai/group/q03.benchmark
benchmark/h2oai/group/q04.benchmark
benchmark/h2oai/group/q05.benchmark
benchmark/h2oai/group/q06.benchmark
benchmark/h2oai/group/q07.benchmark
benchmark/h2oai/group/q08.benchmark
benchmark/h2oai/group/q09.benchmark
benchmark/h2oai/group/q10.benchmark
benchmark/h2oai/join/q01.benchmark
benchmark/h2oai/join/q02.benchmark
benchmark/h2oai/join/q03.benchmark
benchmark/h2oai/join/q04.benchmark
benchmark/h2oai/join/q05.benchmark
1 benchmark/h2oai/group/q01.benchmark
2 benchmark/h2oai/group/q02.benchmark
3 benchmark/h2oai/group/q03.benchmark
4 benchmark/h2oai/group/q04.benchmark
5 benchmark/h2oai/group/q05.benchmark
6 benchmark/h2oai/group/q06.benchmark
7 benchmark/h2oai/group/q07.benchmark
8 benchmark/h2oai/group/q08.benchmark
9 benchmark/h2oai/group/q09.benchmark
10 benchmark/h2oai/group/q10.benchmark
11 benchmark/h2oai/join/q01.benchmark
12 benchmark/h2oai/join/q02.benchmark
13 benchmark/h2oai/join/q03.benchmark
14 benchmark/h2oai/join/q04.benchmark
15 benchmark/h2oai/join/q05.benchmark

View File

@@ -0,0 +1,113 @@
benchmark/imdb/01a.benchmark
benchmark/imdb/01b.benchmark
benchmark/imdb/01c.benchmark
benchmark/imdb/01d.benchmark
benchmark/imdb/02a.benchmark
benchmark/imdb/02b.benchmark
benchmark/imdb/02c.benchmark
benchmark/imdb/02d.benchmark
benchmark/imdb/03a.benchmark
benchmark/imdb/03b.benchmark
benchmark/imdb/03c.benchmark
benchmark/imdb/04a.benchmark
benchmark/imdb/04b.benchmark
benchmark/imdb/04c.benchmark
benchmark/imdb/05a.benchmark
benchmark/imdb/05b.benchmark
benchmark/imdb/05c.benchmark
benchmark/imdb/06a.benchmark
benchmark/imdb/06b.benchmark
benchmark/imdb/06c.benchmark
benchmark/imdb/06d.benchmark
benchmark/imdb/06e.benchmark
benchmark/imdb/06f.benchmark
benchmark/imdb/07a.benchmark
benchmark/imdb/07b.benchmark
benchmark/imdb/07c.benchmark
benchmark/imdb/08a.benchmark
benchmark/imdb/08b.benchmark
benchmark/imdb/08c.benchmark
benchmark/imdb/08d.benchmark
benchmark/imdb/09a.benchmark
benchmark/imdb/09b.benchmark
benchmark/imdb/09c.benchmark
benchmark/imdb/09d.benchmark
benchmark/imdb/10a.benchmark
benchmark/imdb/10b.benchmark
benchmark/imdb/10c.benchmark
benchmark/imdb/11a.benchmark
benchmark/imdb/11b.benchmark
benchmark/imdb/11c.benchmark
benchmark/imdb/11d.benchmark
benchmark/imdb/12a.benchmark
benchmark/imdb/12b.benchmark
benchmark/imdb/12c.benchmark
benchmark/imdb/13a.benchmark
benchmark/imdb/13b.benchmark
benchmark/imdb/13c.benchmark
benchmark/imdb/13d.benchmark
benchmark/imdb/14a.benchmark
benchmark/imdb/14b.benchmark
benchmark/imdb/14c.benchmark
benchmark/imdb/15a.benchmark
benchmark/imdb/15b.benchmark
benchmark/imdb/15c.benchmark
benchmark/imdb/15d.benchmark
benchmark/imdb/16a.benchmark
benchmark/imdb/16b.benchmark
benchmark/imdb/16c.benchmark
benchmark/imdb/16d.benchmark
benchmark/imdb/17a.benchmark
benchmark/imdb/17b.benchmark
benchmark/imdb/17c.benchmark
benchmark/imdb/17d.benchmark
benchmark/imdb/17e.benchmark
benchmark/imdb/17f.benchmark
benchmark/imdb/18a.benchmark
benchmark/imdb/18b.benchmark
benchmark/imdb/18c.benchmark
benchmark/imdb/19a.benchmark
benchmark/imdb/19b.benchmark
benchmark/imdb/19c.benchmark
benchmark/imdb/19d.benchmark
benchmark/imdb/20a.benchmark
benchmark/imdb/20b.benchmark
benchmark/imdb/20c.benchmark
benchmark/imdb/21a.benchmark
benchmark/imdb/21b.benchmark
benchmark/imdb/21c.benchmark
benchmark/imdb/22a.benchmark
benchmark/imdb/22b.benchmark
benchmark/imdb/22c.benchmark
benchmark/imdb/22d.benchmark
benchmark/imdb/23a.benchmark
benchmark/imdb/23b.benchmark
benchmark/imdb/23c.benchmark
benchmark/imdb/24a.benchmark
benchmark/imdb/24b.benchmark
benchmark/imdb/25a.benchmark
benchmark/imdb/25b.benchmark
benchmark/imdb/25c.benchmark
benchmark/imdb/26a.benchmark
benchmark/imdb/26b.benchmark
benchmark/imdb/26c.benchmark
benchmark/imdb/27a.benchmark
benchmark/imdb/27b.benchmark
benchmark/imdb/27c.benchmark
benchmark/imdb/28a.benchmark
benchmark/imdb/28b.benchmark
benchmark/imdb/28c.benchmark
benchmark/imdb/29a.benchmark
benchmark/imdb/29b.benchmark
benchmark/imdb/29c.benchmark
benchmark/imdb/30a.benchmark
benchmark/imdb/30b.benchmark
benchmark/imdb/30c.benchmark
benchmark/imdb/31a.benchmark
benchmark/imdb/31b.benchmark
benchmark/imdb/31c.benchmark
benchmark/imdb/32a.benchmark
benchmark/imdb/32b.benchmark
benchmark/imdb/33a.benchmark
benchmark/imdb/33b.benchmark
benchmark/imdb/33c.benchmark
1 benchmark/imdb/01a.benchmark
2 benchmark/imdb/01b.benchmark
3 benchmark/imdb/01c.benchmark
4 benchmark/imdb/01d.benchmark
5 benchmark/imdb/02a.benchmark
6 benchmark/imdb/02b.benchmark
7 benchmark/imdb/02c.benchmark
8 benchmark/imdb/02d.benchmark
9 benchmark/imdb/03a.benchmark
10 benchmark/imdb/03b.benchmark
11 benchmark/imdb/03c.benchmark
12 benchmark/imdb/04a.benchmark
13 benchmark/imdb/04b.benchmark
14 benchmark/imdb/04c.benchmark
15 benchmark/imdb/05a.benchmark
16 benchmark/imdb/05b.benchmark
17 benchmark/imdb/05c.benchmark
18 benchmark/imdb/06a.benchmark
19 benchmark/imdb/06b.benchmark
20 benchmark/imdb/06c.benchmark
21 benchmark/imdb/06d.benchmark
22 benchmark/imdb/06e.benchmark
23 benchmark/imdb/06f.benchmark
24 benchmark/imdb/07a.benchmark
25 benchmark/imdb/07b.benchmark
26 benchmark/imdb/07c.benchmark
27 benchmark/imdb/08a.benchmark
28 benchmark/imdb/08b.benchmark
29 benchmark/imdb/08c.benchmark
30 benchmark/imdb/08d.benchmark
31 benchmark/imdb/09a.benchmark
32 benchmark/imdb/09b.benchmark
33 benchmark/imdb/09c.benchmark
34 benchmark/imdb/09d.benchmark
35 benchmark/imdb/10a.benchmark
36 benchmark/imdb/10b.benchmark
37 benchmark/imdb/10c.benchmark
38 benchmark/imdb/11a.benchmark
39 benchmark/imdb/11b.benchmark
40 benchmark/imdb/11c.benchmark
41 benchmark/imdb/11d.benchmark
42 benchmark/imdb/12a.benchmark
43 benchmark/imdb/12b.benchmark
44 benchmark/imdb/12c.benchmark
45 benchmark/imdb/13a.benchmark
46 benchmark/imdb/13b.benchmark
47 benchmark/imdb/13c.benchmark
48 benchmark/imdb/13d.benchmark
49 benchmark/imdb/14a.benchmark
50 benchmark/imdb/14b.benchmark
51 benchmark/imdb/14c.benchmark
52 benchmark/imdb/15a.benchmark
53 benchmark/imdb/15b.benchmark
54 benchmark/imdb/15c.benchmark
55 benchmark/imdb/15d.benchmark
56 benchmark/imdb/16a.benchmark
57 benchmark/imdb/16b.benchmark
58 benchmark/imdb/16c.benchmark
59 benchmark/imdb/16d.benchmark
60 benchmark/imdb/17a.benchmark
61 benchmark/imdb/17b.benchmark
62 benchmark/imdb/17c.benchmark
63 benchmark/imdb/17d.benchmark
64 benchmark/imdb/17e.benchmark
65 benchmark/imdb/17f.benchmark
66 benchmark/imdb/18a.benchmark
67 benchmark/imdb/18b.benchmark
68 benchmark/imdb/18c.benchmark
69 benchmark/imdb/19a.benchmark
70 benchmark/imdb/19b.benchmark
71 benchmark/imdb/19c.benchmark
72 benchmark/imdb/19d.benchmark
73 benchmark/imdb/20a.benchmark
74 benchmark/imdb/20b.benchmark
75 benchmark/imdb/20c.benchmark
76 benchmark/imdb/21a.benchmark
77 benchmark/imdb/21b.benchmark
78 benchmark/imdb/21c.benchmark
79 benchmark/imdb/22a.benchmark
80 benchmark/imdb/22b.benchmark
81 benchmark/imdb/22c.benchmark
82 benchmark/imdb/22d.benchmark
83 benchmark/imdb/23a.benchmark
84 benchmark/imdb/23b.benchmark
85 benchmark/imdb/23c.benchmark
86 benchmark/imdb/24a.benchmark
87 benchmark/imdb/24b.benchmark
88 benchmark/imdb/25a.benchmark
89 benchmark/imdb/25b.benchmark
90 benchmark/imdb/25c.benchmark
91 benchmark/imdb/26a.benchmark
92 benchmark/imdb/26b.benchmark
93 benchmark/imdb/26c.benchmark
94 benchmark/imdb/27a.benchmark
95 benchmark/imdb/27b.benchmark
96 benchmark/imdb/27c.benchmark
97 benchmark/imdb/28a.benchmark
98 benchmark/imdb/28b.benchmark
99 benchmark/imdb/28c.benchmark
100 benchmark/imdb/29a.benchmark
101 benchmark/imdb/29b.benchmark
102 benchmark/imdb/29c.benchmark
103 benchmark/imdb/30a.benchmark
104 benchmark/imdb/30b.benchmark
105 benchmark/imdb/30c.benchmark
106 benchmark/imdb/31a.benchmark
107 benchmark/imdb/31b.benchmark
108 benchmark/imdb/31c.benchmark
109 benchmark/imdb/32a.benchmark
110 benchmark/imdb/32b.benchmark
111 benchmark/imdb/33a.benchmark
112 benchmark/imdb/33b.benchmark
113 benchmark/imdb/33c.benchmark

View File

@@ -0,0 +1,31 @@
benchmark/ingestion/in_memory_db/tpcds/csv/ingest_inventory.benchmark
benchmark/ingestion/in_memory_db/tpcds/parquet/ingest_inventory.benchmark
benchmark/ingestion/in_memory_db/tpcds/native/ingest_inventory.benchmark
benchmark/ingestion/persistent_storage/tpcds/csv/ingest_inventory.benchmark
benchmark/ingestion/persistent_storage/tpcds/parquet/ingest_inventory.benchmark
benchmark/ingestion/persistent_storage/tpcds/native/ingest_inventory.benchmark
benchmark/ingestion/in_memory_db/tpcds/csv/ingest_store_sales.benchmark
benchmark/ingestion/in_memory_db/tpcds/parquet/ingest_store_sales.benchmark
benchmark/ingestion/in_memory_db/tpcds/native/ingest_store_sales.benchmark
benchmark/ingestion/persistent_storage/tpcds/csv/ingest_store_sales.benchmark
benchmark/ingestion/persistent_storage/tpcds/parquet/ingest_store_sales.benchmark
benchmark/ingestion/persistent_storage/tpcds/native/ingest_store_sales.benchmark
benchmark/ingestion/in_memory_db/tpch/csv/ingest_lineitem.benchmark
benchmark/ingestion/in_memory_db/tpch/parquet/ingest_lineitem.benchmark
benchmark/ingestion/in_memory_db/tpch/native/ingest_lineitem.benchmark
benchmark/ingestion/persistent_storage/tpch/csv/ingest_lineitem.benchmark
benchmark/ingestion/persistent_storage/tpch/parquet/ingest_lineitem.benchmark
benchmark/ingestion/persistent_storage/tpch/native/ingest_lineitem.benchmark
benchmark/ingestion/in_memory_db/tpch/csv/ingest_orders.benchmark
benchmark/ingestion/in_memory_db/tpch/parquet/ingest_orders.benchmark
benchmark/ingestion/in_memory_db/tpch/native/ingest_orders.benchmark
benchmark/ingestion/persistent_storage/tpch/csv/ingest_orders.benchmark
benchmark/ingestion/persistent_storage/tpch/parquet/ingest_orders.benchmark
benchmark/ingestion/persistent_storage/tpch/native/ingest_orders.benchmark
1 benchmark/ingestion/in_memory_db/tpcds/csv/ingest_inventory.benchmark
2 benchmark/ingestion/in_memory_db/tpcds/parquet/ingest_inventory.benchmark
3 benchmark/ingestion/in_memory_db/tpcds/native/ingest_inventory.benchmark
4 benchmark/ingestion/persistent_storage/tpcds/csv/ingest_inventory.benchmark
5 benchmark/ingestion/persistent_storage/tpcds/parquet/ingest_inventory.benchmark
6 benchmark/ingestion/persistent_storage/tpcds/native/ingest_inventory.benchmark
7 benchmark/ingestion/in_memory_db/tpcds/csv/ingest_store_sales.benchmark
8 benchmark/ingestion/in_memory_db/tpcds/parquet/ingest_store_sales.benchmark
9 benchmark/ingestion/in_memory_db/tpcds/native/ingest_store_sales.benchmark
10 benchmark/ingestion/persistent_storage/tpcds/csv/ingest_store_sales.benchmark
11 benchmark/ingestion/persistent_storage/tpcds/parquet/ingest_store_sales.benchmark
12 benchmark/ingestion/persistent_storage/tpcds/native/ingest_store_sales.benchmark
13 benchmark/ingestion/in_memory_db/tpch/csv/ingest_lineitem.benchmark
14 benchmark/ingestion/in_memory_db/tpch/parquet/ingest_lineitem.benchmark
15 benchmark/ingestion/in_memory_db/tpch/native/ingest_lineitem.benchmark
16 benchmark/ingestion/persistent_storage/tpch/csv/ingest_lineitem.benchmark
17 benchmark/ingestion/persistent_storage/tpch/parquet/ingest_lineitem.benchmark
18 benchmark/ingestion/persistent_storage/tpch/native/ingest_lineitem.benchmark
19 benchmark/ingestion/in_memory_db/tpch/csv/ingest_orders.benchmark
20 benchmark/ingestion/in_memory_db/tpch/parquet/ingest_orders.benchmark
21 benchmark/ingestion/in_memory_db/tpch/native/ingest_orders.benchmark
22 benchmark/ingestion/persistent_storage/tpch/csv/ingest_orders.benchmark
23 benchmark/ingestion/persistent_storage/tpch/parquet/ingest_orders.benchmark
24 benchmark/ingestion/persistent_storage/tpch/native/ingest_orders.benchmark

View File

@@ -0,0 +1,15 @@
benchmark/large/ingestion/tpcds/csv/ingest_inventory.benchmark
benchmark/large/ingestion/tpcds/parquet/ingest_inventory.benchmark
benchmark/large/ingestion/tpcds/native/ingest_inventory.benchmark
benchmark/large/ingestion/tpcds/csv/ingest_store_sales.benchmark
benchmark/large/ingestion/tpcds/parquet/ingest_store_sales.benchmark
benchmark/large/ingestion/tpcds/native/ingest_store_sales.benchmark
benchmark/large/ingestion/tpch/csv/ingest_lineitem.benchmark
benchmark/large/ingestion/tpch/parquet/ingest_lineitem.benchmark
benchmark/large/ingestion/tpch/native/ingest_lineitem.benchmark
benchmark/large/ingestion/tpch/csv/ingest_orders.benchmark
benchmark/large/ingestion/tpch/parquet/ingest_orders.benchmark
benchmark/large/ingestion/tpch/native/ingest_orders.benchmark
1 benchmark/large/ingestion/tpcds/csv/ingest_inventory.benchmark
2 benchmark/large/ingestion/tpcds/parquet/ingest_inventory.benchmark
3 benchmark/large/ingestion/tpcds/native/ingest_inventory.benchmark
4 benchmark/large/ingestion/tpcds/csv/ingest_store_sales.benchmark
5 benchmark/large/ingestion/tpcds/parquet/ingest_store_sales.benchmark
6 benchmark/large/ingestion/tpcds/native/ingest_store_sales.benchmark
7 benchmark/large/ingestion/tpch/csv/ingest_lineitem.benchmark
8 benchmark/large/ingestion/tpch/parquet/ingest_lineitem.benchmark
9 benchmark/large/ingestion/tpch/native/ingest_lineitem.benchmark
10 benchmark/large/ingestion/tpch/csv/ingest_orders.benchmark
11 benchmark/large/ingestion/tpch/parquet/ingest_orders.benchmark
12 benchmark/large/ingestion/tpch/native/ingest_orders.benchmark

Some files were not shown because too many files have changed in this diff Show More