Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
83c14a6
chore: bump iceberg-rust to v0.8.0 and re-enable CI tests
sundy-li Jan 7, 2026
f627ca3
add agents.md
sundy-li Jan 7, 2026
827a035
Merge branch 'main' into bump-iceberg
sundy-li Jan 7, 2026
18a9d52
fix: address review feedback for IcebergFileIO
sundy-li Jan 7, 2026
5d480c2
test: add iceberg table write tests
sundy-li Jan 7, 2026
0d13fbc
fix: return UNKNOWN_TABLE error for non-existent iceberg tables
sundy-li Jan 7, 2026
5d8fa64
test: add iceberg table write tests (expecting errors)
sundy-li Jan 7, 2026
dcf816c
feat(iceberg): add write support for iceberg tables
sundy-li Jan 7, 2026
c9bd472
Merge branch 'bump-iceberg' of github.com:sundy-li/fuse-query into bu…
sundy-li Jan 7, 2026
3b46fbd
Merge branch 'main' into bump-iceberg
sundy-li Jan 7, 2026
3e551e7
Merge branch 'bump-iceberg' of github.com:sundy-li/fuse-query into bu…
sundy-li Jan 7, 2026
bbd7787
fix: regenerate Cargo.lock to fix duplicate package error
sundy-li Jan 7, 2026
0025290
fix: address lint warnings after Cargo.lock regeneration
sundy-li Jan 7, 2026
46bd166
fix(ci): use multi-arch eclipse-temurin image for iceberg driver
sundy-li Jan 7, 2026
d6c8c4e
fix(test): update ST_GEOMFROMGEOHASH expected output
sundy-li Jan 7, 2026
ac929b1
fix(ci): add uv setup and update test expected output
sundy-li Jan 7, 2026
623d8fa
fix(ci): sync scripts package for pyspark dependency
sundy-li Jan 7, 2026
4776f82
update
sundy-li Jan 7, 2026
0d0194e
update
sundy-li Jan 7, 2026
d91ba04
Merge branch 'main' into bump-iceberg
sundy-li Jan 7, 2026
c59dd44
update
sundy-li Jan 8, 2026
3ec3004
Merge branch 'main' into bump-iceberg
sundy-li Jan 9, 2026
06c9c03
update
sundy-li Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .github/actions/test_sqllogic_iceberg_tpch/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ runs:
with:
artifacts: sqllogictests,meta,query

- name: Setup uv
uses: astral-sh/setup-uv@v7

- name: Iceberg Setup for (ubuntu-latest only)
shell: bash
run: |
Expand All @@ -29,11 +32,12 @@ runs:
fi
tar -zxf ${data_dir}/tpch.tar.gz -C $data_dir

uv sync
cwd=$(pwd)
cd tests/sqllogictests/scripts/ && uv sync && cd $cwd
echo "Running prepare_iceberg_tpch_data.py..."
uv run python tests/sqllogictests/scripts/prepare_iceberg_tpch_data.py
uv run tests/sqllogictests/scripts/prepare_iceberg_tpch_data.py
echo "Running prepare_iceberg_test_data.py..."
uv run python tests/sqllogictests/scripts/prepare_iceberg_test_data.py
uv run tests/sqllogictests/scripts/prepare_iceberg_test_data.py


- name: Run sqllogic Tests with Standalone lib
Expand Down
47 changes: 23 additions & 24 deletions .github/workflows/reuse.sqllogic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -228,30 +228,29 @@ jobs:
with:
name: test-sqllogic-cluster-minio-${{ matrix.dirs }}-${{ matrix.handler }}

# TODO: tmp disable since iceberg image not running on arm64
# standalone_iceberg_tpch:
# runs-on:
# - self-hosted
# - ${{ inputs.runner_arch }}
# - Linux
# - 4c
# - "${{ inputs.runner_provider }}"
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-java@v4
# with:
# distribution: "temurin"
# java-version: "17"
# - uses: ./.github/actions/test_sqllogic_iceberg_tpch
# timeout-minutes: 15
# with:
# dirs: tpch_iceberg
# handlers: http,hybrid
# - name: Upload failure
# if: failure()
# uses: ./.github/actions/artifact_failure
# with:
# name: test-sqllogic-standalone-iceberg-tpch
standalone_iceberg_tpch:
runs-on:
- self-hosted
- ${{ inputs.runner_arch }}
- Linux
- 4c
- "${{ inputs.runner_provider }}"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"
- uses: ./.github/actions/test_sqllogic_iceberg_tpch
timeout-minutes: 15
with:
dirs: tpch_iceberg
handlers: http,hybrid
- name: Upload failure
if: failure()
uses: ./.github/actions/artifact_failure
with:
name: test-sqllogic-standalone-iceberg-tpch

cluster:
runs-on:
Expand Down
20 changes: 20 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Repository Guidelines

## Project Structure & Module Organization
Databend is a Rust workspace rooted at `Cargo.toml`. The query engine (`src/query/`), meta service (`src/meta/`), and shared crates (`src/common/`) compile into binaries stored under `src/binaries/`. Tests live in `tests/` with SQL suites (`suites/`), sqllogic cases, and meta-specific harnesses, while performance experiments sit in `benchmark/`. Tooling and deployment helpers are collected in `scripts/` and `docker/`, fixtures in `_data/`, and the `Makefile` lists every supported task.

## Build, Test, and Development Commands
- `make setup` – install cargo components plus linters (taplo, shfmt, typos, machete, ruff).
- `make build` / `make build-release` – compile debug or optimized `databend-{query,meta,metactl}` into `target/`.
- `make run-debug` / `make kill` – launch or stop a local standalone deployment using the latest build.
- `make unit-test`, `make stateless-test`, `make sqllogic-test`, `make metactl-test` – run focused suites; `make test` expands to the default CI matrix.
- `make fmt` and `make lint` – enforce formatting and clippy checks before committing.

## Coding Style & Naming Conventions
Rust sources follow `rustfmt.toml` (4-space indent, 100-column width) and must pass `cargo clippy -- -D warnings`. Keep modules and files in `snake_case`, exposed types and traits in `CamelCase`, and SQL suite files prefixed with the numeric order already in `tests/suites/`. Favor `common/exception` helpers plus `tracing` spans for errors and observability. Python utilities in `tests/` should satisfy Ruff defaults, and shell scripts must round-trip through `shfmt -l -w`.

## Testing Guidelines
Unit tests stay close to the affected crate (`#[cfg(test)]` modules), and integration behavior belongs in the relevant SQL suites or meta harness (`tests/metactl`, `tests/meta-kvapi`). Every planner, executor, or storage change should add at least one regression SQL file plus expected output when deterministic. Use cluster variants (`make stateless-cluster-test` and TLS mode) whenever coordination, transactions, or auth are involved. Document new fixtures or configs in `tests/README.md` (or inline comments) so CI remains reproducible.

## Commit & Pull Request Guidelines
History follows a Conventional-style subject such as `fix(storage): avoid stale snapshot (#19174)` or `feat: support self join elimination (#19169)`; keep the first line imperative and under 72 characters. Commits should stay scoped to a logical change set and include formatting/linting updates in the same patch. PRs must outline motivation, implementation notes, and validation commands, plus link issues or RFCs, and the final description should follow `PULL_REQUEST_TEMPLATE.md` (checkboxes, verification, screenshots when needed). Attach screenshots or sample queries when UI, SQL plans, or system tables change, and call out rollout risks (migrations, config toggles, backfills) so reviewers can plan accordingly.
164 changes: 0 additions & 164 deletions CLAUDE.md

This file was deleted.

Loading
Loading