Skip to content

Commit 41c6c51

Browse files
committed
Merge branch 'main' into check-catalog-attached
2 parents abb7d08 + 003dfd8 commit 41c6c51

File tree

155 files changed

+2556
-672
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+2556
-672
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,19 @@ body:
2121
* [go-duckdb](https://github.com/marcboeker/go-duckdb/issues/new)
2222
* Extensions:
2323
* [Arrow extension](https://github.com/duckdb/arrow/issues/new)
24-
* [AWS extension](https://github.com/duckdb/duckdb_aws/issues/new)
25-
* [Azure extension](https://github.com/duckdb/duckdb_azure/issues/new)
26-
* [Delta extension](https://github.com/duckdb/duckdb_delta/issues/new)
27-
* [Iceberg extension](https://github.com/duckdb/duckdb_iceberg/issues/new)
28-
* [MySQL extension](https://github.com/duckdb/duckdb_mysql/issues/new)
29-
* [Postgres scanner](https://github.com/duckdb/postgres_scanner/issues/new)
30-
* [Spatial extension](https://github.com/duckdb/duckdb_spatial/issues/new)
31-
* [SQLite scanner](https://github.com/duckdb/sqlite_scanner/issues/new)
32-
* [VSS extension](https://github.com/duckdb/duckdb_vss/issues/new)
24+
* [AWS extension](https://github.com/duckdb/duckdb-aws/issues/new)
25+
* [Azure extension](https://github.com/duckdb/duckdb-azure/issues/new)
26+
* [Delta extension](https://github.com/duckdb/duckdb-delta/issues/new)
27+
* [Excel extension](https://github.com/duckdb/duckdb-excel/issues/new)
28+
* [fts (full text search) extension](https://github.com/duckdb/duckdb-fts/issues/new)
29+
* [httpfs extension](https://github.com/duckdb/duckdb-httpfs/issues/new)
30+
* [Iceberg extension](https://github.com/duckdb/duckdb-iceberg/issues/new)
31+
* [inet extension](https://github.com/duckdb/duckdb-inet/issues/new)
32+
* [MySQL extension](https://github.com/duckdb/duckdb-mysql/issues/new)
33+
* [Postgres scanner](https://github.com/duckdb/duckdb-postgres/issues/new)
34+
* [Spatial extension](https://github.com/duckdb/duckdb-spatial/issues/new)
35+
* [SQLite scanner](https://github.com/duckdb/duckdb-sqlite/issues/new)
36+
* [VSS extension](https://github.com/duckdb/duckdb-vss/issues/new)
3337
* Connectors:
3438
* [dbt-duckdb](https://github.com/duckdb/dbt-duckdb)
3539

.github/config/distribution_matrix.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
"duckdb_arch": "linux_arm64",
1616
"container": "ubuntu:18.04",
1717
"vcpkg_triplet": "arm64-linux"
18+
},
19+
{
20+
"duckdb_arch": "linux_amd64_musl",
21+
"container": "alpine:3",
22+
"vcpkg_triplet": "x64-linux"
1823
}
1924
]
2025
},

.github/config/out_of_tree_extensions.cmake

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
################# HTTPFS
1919
duckdb_extension_load(httpfs
2020
LOAD_TESTS
21-
GIT_URL https://github.com/duckdb/duckdb_httpfs
21+
GIT_URL https://github.com/duckdb/duckdb-httpfs
2222
GIT_TAG 92867fce5a6e90b9a6803fab2b196c00cc11e46c
2323
INCLUDE_DIR extension/httpfs/include
2424
)
2525

2626
################# ARROW
27-
if (NOT MINGW AND NOT ${WASM_ENABLED})
27+
if (NOT MINGW AND NOT ${WASM_ENABLED} AND NOT ${MUSL_ENABLED})
2828
duckdb_extension_load(arrow
2929
LOAD_TESTS DONT_LINK
3030
GIT_URL https://github.com/duckdb/arrow
@@ -37,7 +37,7 @@ endif()
3737
if (NOT MINGW AND NOT ${WASM_ENABLED})
3838
duckdb_extension_load(aws
3939
LOAD_TESTS
40-
GIT_URL https://github.com/duckdb/duckdb_aws
40+
GIT_URL https://github.com/duckdb/duckdb-aws
4141
GIT_TAG f743d4b3c2faecda15498d0219a1727ad6d62b5b
4242
APPLY_PATCHES
4343
)
@@ -47,7 +47,7 @@ endif()
4747
if (NOT MINGW AND NOT ${WASM_ENABLED})
4848
duckdb_extension_load(azure
4949
LOAD_TESTS
50-
GIT_URL https://github.com/duckdb/duckdb_azure
50+
GIT_URL https://github.com/duckdb/duckdb-azure
5151
GIT_TAG 88011ee6ef66f223badc9beb04d4723651ac6623
5252
)
5353
endif()
@@ -58,7 +58,7 @@ endif()
5858
if (NOT MINGW AND NOT "${OS_NAME}" STREQUAL "linux" AND NOT ${WASM_ENABLED})
5959
duckdb_extension_load(delta
6060
LOAD_TESTS
61-
GIT_URL https://github.com/duckdb/duckdb_delta
61+
GIT_URL https://github.com/duckdb/duckdb-delta
6262
GIT_TAG b7333c0143e101c720117d564651e693b317bb31
6363
APPLY_PATCHES
6464
)
@@ -67,7 +67,7 @@ endif()
6767
################# EXCEL
6868
duckdb_extension_load(excel
6969
LOAD_TESTS
70-
GIT_URL https://github.com/duckdb/duckdb_excel
70+
GIT_URL https://github.com/duckdb/duckdb-excel
7171
GIT_TAG e243577956f36a898d5485189e5288839c2c4b73
7272
INCLUDE_DIR src/excel/include
7373
)
@@ -80,10 +80,10 @@ else ()
8080
set(LOAD_ICEBERG_TESTS "")
8181
endif()
8282

83-
if (NOT MINGW AND NOT ${WASM_ENABLED})
83+
if (NOT MINGW AND NOT ${WASM_ENABLED} AND NOT ${MUSL_ENABLED})
8484
duckdb_extension_load(iceberg
8585
${LOAD_ICEBERG_TESTS}
86-
GIT_URL https://github.com/duckdb/duckdb_iceberg
86+
GIT_URL https://github.com/duckdb/duckdb-iceberg
8787
GIT_TAG d62d91d8a089371c4d1862a88f2e62a97bc2af3a
8888
APPLY_PATCHES
8989
)
@@ -92,7 +92,7 @@ endif()
9292
################# INET
9393
duckdb_extension_load(inet
9494
LOAD_TESTS
95-
GIT_URL https://github.com/duckdb/duckdb_inet
95+
GIT_URL https://github.com/duckdb/duckdb-inet
9696
GIT_TAG 51d7ad789f34eecb36a2071bac5aef0e12747d70
9797
INCLUDE_DIR src/include
9898
TEST_DIR test/sql
@@ -105,7 +105,7 @@ duckdb_extension_load(inet
105105
if (NOT MINGW AND NOT ${WASM_ENABLED})
106106
duckdb_extension_load(postgres_scanner
107107
DONT_LINK
108-
GIT_URL https://github.com/duckdb/postgres_scanner
108+
GIT_URL https://github.com/duckdb/duckdb-postgres
109109
GIT_TAG 03eaed75f0ec5500609b7a97aa05468493b229d1
110110
APPLY_PATCHES
111111
)
@@ -116,7 +116,7 @@ if (NOT MINGW)
116116
################# SPATIAL
117117
duckdb_extension_load(spatial
118118
DONT_LINK LOAD_TESTS
119-
GIT_URL https://github.com/duckdb/duckdb_spatial.git
119+
GIT_URL https://github.com/duckdb/duckdb-spatial
120120
GIT_TAG a60aa3733741a99c49baaf33390c0f7c8a9598a3
121121
INCLUDE_DIR spatial/include
122122
TEST_DIR test/sql
@@ -134,33 +134,33 @@ endif()
134134

135135
duckdb_extension_load(sqlite_scanner
136136
${STATIC_LINK_SQLITE} LOAD_TESTS
137-
GIT_URL https://github.com/duckdb/sqlite_scanner
137+
GIT_URL https://github.com/duckdb/duckdb-sqlite
138138
GIT_TAG d5d62657702d33cb44a46cddc7ffc4b67bf7e961
139139
APPLY_PATCHES
140140
)
141141

142142
duckdb_extension_load(sqlsmith
143143
DONT_LINK LOAD_TESTS
144-
GIT_URL https://github.com/duckdb/duckdb_sqlsmith
144+
GIT_URL https://github.com/duckdb/duckdb-sqlsmith
145145
GIT_TAG b13723fe701f1e38d2cd65b3b6eb587c6553a251
146146
)
147147

148148
################# VSS
149149
duckdb_extension_load(vss
150150
LOAD_TESTS
151151
DONT_LINK
152-
GIT_URL https://github.com/duckdb/duckdb_vss
152+
GIT_URL https://github.com/duckdb/duckdb-vss
153153
GIT_TAG bae5b0653b18bbd05840d1773a49dc4a1165831f
154154
TEST_DIR test/sql
155155
APPLY_PATCHES
156156
)
157157

158158
################# MYSQL
159-
if (NOT MINGW AND NOT ${WASM_ENABLED})
159+
if (NOT MINGW AND NOT ${WASM_ENABLED} AND NOT ${MUSL_ENABLED})
160160
duckdb_extension_load(mysql_scanner
161161
DONT_LINK
162162
LOAD_TESTS
163-
GIT_URL https://github.com/duckdb/duckdb_mysql
163+
GIT_URL https://github.com/duckdb/duckdb-mysql
164164
GIT_TAG f2a15013fb4559e1591e977c1c023aa0a369c6f3
165165
APPLY_PATCHES
166166
)
@@ -170,7 +170,7 @@ endif()
170170
duckdb_extension_load(fts
171171
LOAD_TESTS
172172
DONT_LINK
173-
GIT_URL https://github.com/duckdb/duckdb_fts
173+
GIT_URL https://github.com/duckdb/duckdb-fts
174174
GIT_TAG 0477abaf2484aa7b9aabf8ace9dc0bde80a15554
175175
TEST_DIR test/sql
176176
)

.github/workflows/LinuxRelease.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,44 @@ jobs:
224224
duckdb_arch: linux_amd64
225225
duckdb_sha: ${{ github.sha }}
226226

227+
linux-extensions-64-musl:
228+
# Builds extensions for linux_amd64_musl
229+
name: Linux Extensions (musl + x64)
230+
runs-on: ubuntu-latest
231+
needs: linux-extensions-64
232+
strategy:
233+
matrix:
234+
duckdb_arch: [linux_amd64_musl]
235+
vcpkg_triplet: [x64-linux]
236+
237+
steps:
238+
- uses: actions/checkout@v4
239+
with:
240+
path: 'duckdb'
241+
fetch-depth: 0
242+
ref: ${{ inputs.git_ref }}
243+
244+
- uses: ./duckdb/.github/actions/build_extensions_dockerized
245+
with:
246+
vcpkg_target_triplet: x64-linux
247+
duckdb_arch: linux_amd64_musl
248+
249+
- uses: actions/upload-artifact@v4
250+
with:
251+
name: linux-extensions-64-musl
252+
path: |
253+
build/release/extension/*/*.duckdb_extension
254+
255+
upload-linux-extensions-64-musl:
256+
name: Upload Linux Extensions (musl + x64)
257+
needs: linux-extensions-64-musl
258+
uses: ./.github/workflows/_sign_deploy_extensions.yml
259+
secrets: inherit
260+
with:
261+
extension_artifact_name: linux-extensions-64-musl
262+
duckdb_arch: linux_amd64_musl
263+
duckdb_sha: ${{ github.sha }}
264+
227265
upload-linux-extensions-64-aarch64:
228266
name: Upload Linux Extensions (aarch64)
229267
needs: linux-extensions-64-aarch64

CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,16 @@ option (WASM_ENABLED "Are DuckDB-Wasm extensions build enabled" FALSE)
104104
if (DEFINED ENV{WASM_EXTENSIONS})
105105
set(WASM_ENABLED "$ENV{WASM_EXTENSIONS}")
106106
endif()
107+
option (MUSL_ENABLED "Are Musl extensions build enabled" FALSE)
108+
if (DEFINED ENV{DUCKDB_PLATFORM})
109+
if ("$ENV{DUCKDB_PLATFORM}" STREQUAL "linux_amd64_musl")
110+
set(MUSL_ENABLED ON)
111+
endif()
112+
endif()
113+
114+
if (MUSL_ENABLED)
115+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__MUSL_ENABLED__")
116+
endif()
107117

108118
set(M32_FLAG "")
109119
if(FORCE_32_BIT)
@@ -220,6 +230,11 @@ if(${EXPLICIT_EXCEPTIONS})
220230
set(CXX_EXTRA "${CXX_EXTRA} -fexceptions")
221231
endif()
222232

233+
option(EXPORT_DYNAMIC_SYMBOLS "Export dynamic symbols." FALSE)
234+
if(${EXPORT_DYNAMIC_SYMBOLS})
235+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic")
236+
endif()
237+
223238
if (UNSAFE_NUMERIC_CAST)
224239
message(status "UNSAFE_NUMERIC_CAST")
225240
add_definitions(-DUNSAFE_NUMERIC_CAST=1)

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ endif
288288
ifneq ("${LTO}", "")
289289
CMAKE_VARS:=${CMAKE_VARS} -DCMAKE_LTO='${LTO}'
290290
endif
291+
ifeq (${EXPORT_DYNAMIC_SYMBOLS}, 1)
292+
CMAKE_VARS:=${CMAKE_VARS} -DEXPORT_DYNAMIC_SYMBOLS=1
293+
endif
291294
ifneq ("${CMAKE_LLVM_PATH}", "")
292295
CMAKE_VARS:=${CMAKE_VARS} -DCMAKE_RANLIB='${CMAKE_LLVM_PATH}/bin/llvm-ranlib' -DCMAKE_AR='${CMAKE_LLVM_PATH}/bin/llvm-ar' -DCMAKE_CXX_COMPILER='${CMAKE_LLVM_PATH}/bin/clang++' -DCMAKE_C_COMPILER='${CMAKE_LLVM_PATH}/bin/clang'
293296
endif
@@ -453,7 +456,7 @@ format-feature:
453456
python3 scripts/format.py feature --fix --noconfirm
454457

455458
third_party/sqllogictest:
456-
git clone --depth=1 --branch hawkfish-statistical-rounding https://github.com/cwida/sqllogictest.git third_party/sqllogictest
459+
git clone --depth=1 --branch hawkfish-statistical-rounding https://github.com/duckdb/sqllogictest.git third_party/sqllogictest
457460

458461
sqlite: release | third_party/sqllogictest
459462
git --git-dir third_party/sqllogictest/.git pull
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# name: benchmark/micro/window/mode_fixed_orderby.benchmark
2+
# description: Measure performance of moving MODE with variable frames
3+
# group: [window]
4+
5+
name Windowed MODE, Fixed 200
6+
group micro
7+
subgroup window
8+
9+
require tpch
10+
11+
load
12+
CALL dbgen(sf=0.01);
13+
14+
run
15+
SELECT
16+
l_orderkey,
17+
l_shipdate,
18+
l_linenumber,
19+
mode(l_linenumber ORDER BY l_linenumber DESC) over w AS l_mode,
20+
FROM lineitem
21+
WINDOW w AS (
22+
order by l_orderkey, l_shipdate
23+
rows between 175 preceding and 175 following
24+
)
25+
QUALIFY l_mode > 1
26+
ORDER BY ALL
27+
;
28+
29+
result IIII
30+
8610 1994-07-06 5 2
31+
36738 1996-10-05 6 2
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# name: benchmark/micro/window/mode_variable_400.benchmark
2+
# description: Measure performance of moving MODE with variable frames
3+
# group: [window]
4+
5+
name Windowed MODE, Variable 400
6+
group micro
7+
subgroup window
8+
9+
require tpch
10+
11+
load
12+
CALL dbgen(sf=1);
13+
14+
run
15+
SELECT l_orderkey, l_shipdate, l_linenumber, mode(l_linenumber) over w AS l_mode
16+
FROM lineitem
17+
WINDOW w AS (
18+
order by l_orderkey, l_shipdate
19+
rows between mod(rowid * 47, 521) preceding and 400 - mod(rowid * 47, 521) following
20+
)
21+
QUALIFY l_mode > 1
22+
ORDER BY ALL
23+
;
24+
25+
result IIII
26+
39 1996-12-08 6 3
27+
707618 1993-12-31 2 2
28+
707649 1995-11-03 5 2
29+
707680 1998-02-28 3 2
30+
1701765 1996-09-01 3 2
31+
1701767 1994-06-08 2 2
32+
1701889 1992-10-26 3 2
33+
1701923 1993-09-29 4 2
34+
1702080 1993-06-25 5 2
35+
1702240 1995-03-21 1 2
36+
1805063 1992-04-30 6 2
37+
2596640 1995-09-14 3 2
38+
2596647 1992-05-23 3 2
39+
2596736 1998-04-17 4 2
40+
4578916 1997-06-15 4 2
41+
4578982 1996-09-02 4 2
42+
5646241 1997-02-12 3 2
43+
5646278 1993-07-01 4 2
44+
5646337 1996-11-03 2 2
45+
5646373 1996-02-14 6 2
46+
5646403 1998-03-29 4 2
47+
5646404 1992-07-23 5 2
48+
5646435 1994-08-16 5 2
49+
5646531 1992-12-19 5 2
50+
5646531 1993-04-08 1 2
51+
5646533 1994-12-02 5 2
52+
5646535 1998-05-07 3 2
53+
5646567 1992-10-08 3 2
54+
5646594 1996-07-20 1 2
55+
5646597 1996-12-06 1 2
56+
5646656 1996-06-15 1 2
57+
5646756 1995-02-12 7 2
58+
5783364 1992-06-03 6 2
59+
5783457 1993-02-03 1 2
60+
5783489 1998-07-18 2 2
61+
5783524 1996-02-06 2 2
62+
5783555 1995-03-11 1 2
63+
5783588 1995-06-15 2 2
64+
5894308 1995-12-31 1 2
65+
5894439 1994-09-15 2 2
66+
5894499 1996-05-19 1 2
67+
5894532 1992-04-23 4 2
68+
5894722 1997-03-18 3 2

0 commit comments

Comments
 (0)