Skip to content

Commit 74e4bb3

Browse files
authored
feat(core): add IPv4 and GEOHASH columns to QWP sender (#26)
1 parent fcbea0b commit 74e4bb3

23 files changed

Lines changed: 2892 additions & 811 deletions

CLAUDE.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# CLAUDE.md
2+
3+
Guidance for Claude Code when working with the QuestDB Java client
4+
(`java-questdb-client`).
5+
6+
## Project Overview
7+
8+
The standalone client repo for QuestDB ingestion (legacy ILP and QWP). It is
9+
a Git submodule of the `questdb` repository and ships as the
10+
`io.questdb:questdb-client` Maven artifact. The module targets Java 11, so
11+
only legacy Java features are available here — no enhanced switch, no
12+
multiline strings, no pattern variables in `instanceof`.
13+
14+
## Git & PR Conventions
15+
16+
- **PRs are squash-merged. Commit history on a PR branch is throwaway**
17+
only the squashed commit message that lands on the default branch is
18+
preserved. Do not spend effort tidying the branch's history: no soft
19+
resets to "commit all at once", no rewording prior commits, no force
20+
pushes to clean up. Adding a fix-up commit on top is always fine. The
21+
squash flow folds the lot at merge time anyway.
22+
- This repo is a submodule of `questdb`. Commit here first, then bump the
23+
submodule pointer in the parent repo in a separate commit — never push
24+
a parent-repo submodule pointer that refers to an unpushed client SHA.
25+
26+
## Investigating failures
27+
28+
- **Never dismiss a failure as "pre-existing", "flaky", "unrelated", or "a
29+
known issue" without actually proving it.** That label is a hypothesis,
30+
not a conclusion. Treat any red test, red CI job, or surprising log line
31+
as a live bug to investigate until the evidence — git log, reproduction
32+
on master, a real timing constraint, an upstream report — forces a
33+
different conclusion. Only after that proof can the issue be set aside,
34+
and the proof itself should be reported back so it can be verified.
35+
36+
## Build
37+
38+
Standard Maven build. Targets Java 11:
39+
40+
```bash
41+
mvn clean install -DskipTests # build + install to local Maven cache
42+
mvn -pl core test # run client unit tests
43+
```
44+
45+
The parent `questdb` repo's `local-client` profile pulls this module as a
46+
sub-module so server changes can build against unpublished client code; if
47+
you change client code, install it (or pass `-P local-client` in the parent)
48+
before running parent-repo tests.

ci/check-changes.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
jobs:
22
- job: CheckChanges
33
displayName: "Check changes"
4-
pool:
5-
name: "Azure Pipelines"
6-
vmImage: "ubuntu-latest"
4+
pool: hetzner-incus
75
steps:
86
- checkout: none
97
- bash: |

ci/run_tests_pipeline.yaml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ stages:
2020
jobs:
2121
- job: Javadoc
2222
displayName: "Javadoc"
23-
pool:
24-
name: "Azure Pipelines"
25-
vmImage: "ubuntu-latest"
23+
pool: hetzner-incus
2624
variables:
2725
jdkArch: "x64"
2826
imageName: "ubuntu-latest"
@@ -50,7 +48,7 @@ stages:
5048
matrix:
5149
linux-x64:
5250
imageName: "ubuntu-latest"
53-
poolName: "Azure Pipelines"
51+
poolName: "hetzner-incus"
5452
jdkArch: "x64"
5553
mac-aarch64:
5654
imageName: "macos-15-arm64"
@@ -130,9 +128,7 @@ stages:
130128
jobs:
131129
- job: CoverageReport
132130
displayName: "Coverage Report"
133-
pool:
134-
name: "Azure Pipelines"
135-
vmImage: "ubuntu-latest"
131+
pool: hetzner-incus
136132
variables:
137133
JAVA_SOURCE_CHANGED: $[stageDependencies.CheckChanges.CheckChanges.outputs['check_coverage.JAVA_SOURCE_CHANGED']]
138134
jdkArch: "x64"

0 commit comments

Comments
 (0)