<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->

# IoTDB C++ 客户端示例

[English](README.md)

本目录提供链接 **IoTDB C++ Session SDK**（`iotdb_session`）的示例程序。
应用侧编译 **不需要** 单独安装 Thrift 或 Boost 头文件/库，它们已封装在 SDK
共享库内部。

所有示例默认连接本机 IoTDB（`127.0.0.1:6667`，用户 `root` / 密码 `root`）。

| 示例 | 说明 |
|------|------|
| `SessionExample` | 树模型：建库建序列、写入、查询、删除 |
| `AlignedTimeseriesSessionExample` | 对齐时间序列与模板 |
| `TableModelSessionExample` | 表模型（关系型） |
| `MultiSvrNodeClient` | 多节点写入/查询循环 |
| `tree_example` | C Session API（树模型） |
| `table_example` | C Session API（表模型） |

## 选择哪个 SDK 压缩包

CI 发版（[client-cpp-package.yml](../../.github/workflows/client-cpp-package.yml)）
会按平台/工具链打出多份 zip，文件名形如
`iotdb-session-cpp-<version>-<classifier>.zip`（解压后根目录即为 `include/` 与 `lib/`）。请按目标环境选择：

| 目标环境 | classifier 后缀 |
|----------|-----------------|
| Linux x86_64，glibc >= 2.28 | `linux-x86_64-glibc2.28` |
| Linux aarch64，glibc >= 2.28 | `linux-aarch64-glibc2.28` |
| macOS x86_64 | `macos-x86_64` |
| macOS arm64 | `macos-aarch64` |
| Windows + 与工程相同的 VS 版本 | `windows-x86_64-msvc14.1` ... `msvc14.4` |

当前 CMake 构建在配置阶段从源码编译 Thrift 0.24，**不再**通过
`-Diotdb-tools-thrift.version=0.14.1.1-gcc4-SNAPSHOT` 等旧参数控制 glibc；
Linux 发版包在 `manylinux_2_28` 容器中构建，部署机需要 glibc 2.28 或更新版本。
详见 [client-cpp README](../../iotdb-client/client-cpp/README.md)。

## SDK 目录结构（解压后）

`client-cpp` 打出的 SDK 压缩包只包含 **公开头文件** 和 **一个共享库**：

```
client/
├── include/
│   ├── Session.h
│   ├── Export.h
│   └── ...          （17 个公开头；无 thrift/、boost/）
└── lib/
    ├── iotdb_session.dll + iotdb_session.lib   （Windows）
    ├── libiotdb_session.so                     （Linux）
    └── libiotdb_session.dylib                  （macOS）
```

## 编译示例

### 方式 A：Maven（本仓库推荐）

在仓库根目录执行：

```bash
mvn clean verify -P with-cpp -pl iotdb-client/client-cpp -am
```

Maven 会构建 C++ client，在 verify 阶段启动本地 IoTDB，并通过 CTest 运行 C++
测试和可自动运行的 examples。示例二进制在
`iotdb-client/client-cpp/target/build/examples/` 下（Windows + Visual Studio
通常在 `target/build/examples/Release/`）。

### 方式 B：仅 CMake（手动准备 SDK）

1. 自行编译或下载 SDK，解压后保证存在 `client/include` 与 `client/lib`（见
   上文目录结构）。
2. 使用这个 `examples/` 目录作为源码目录，并把 `client/` 放在旁边；也可以传入
   `-DIOTDB_SDK_ROOT=/path/to/iotdb-session-cpp-...`。
3. 配置并编译：

```bash
cmake -S iotdb-client/client-cpp/examples -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DIOTDB_SDK_ROOT=/path/to/iotdb-session-cpp-...
cmake --build build
```

Windows（Visual Studio 生成器）：

```powershell
cmake -S . -B build -A x64
cmake --build build --config Release
```

编译完成后，IoTDB 运行时库会通过 POST_BUILD 自动复制到 **与可执行文件相同
的目录**。Linux/macOS 可执行文件还设置了 `$ORIGIN` rpath，可在同目录加载
`.so` / `.dylib`。

可选：打部署包目录

```bash
cmake --build build --target example-dist
# 生成 build/dist/，内含全部示例二进制 + libiotdb_session.{so,dll,dylib}
```

## 在「干净机器」上运行（无需编译器、无需 SDK 头文件）

目标机器只需：

1. 可访问的 **IoTDB 服务**（已启动）。
2. **示例可执行文件** 与 **IoTDB 运行时库** 放在 **同一目录**（或位于系统
   库搜索路径中）。

可从 `build/.../Release/`（Windows）或 `build/`（Ninja/Make）复制，也可在
执行 `example-dist` 后直接使用 `build/dist/`。

### Windows

**需要拷贝的文件**

```
SessionExample.exe
iotdb_session.dll
```

（其他示例同理，可执行文件与 `iotdb_session.dll` 成对拷贝。）

**目标机器前置条件**

- **64 位 Windows**（示例为 x64 构建）。
- 安装 **[Microsoft Visual C++ 2015–2022 可再发行组件包（x64）](https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist)**。
  SDK 与示例均使用 **`/MD`**（动态 CRT），该安装包提供 `vcruntime140.dll`、
  `msvcp140.dll` 等运行时。
  **仅安装此 Redistributable 即可**，目标机 **不需要** Visual Studio，也
  **不需要** IoTDB SDK 头文件或 Thrift/Boost。

**运行**

```powershell
.\SessionExample.exe
```

若提示缺少 `VCRUNTIME140.dll`，请安装上述 VC++ 可再发行包。

Thrift、Boost 已包含在 `iotdb_session.dll` 内，无需单独部署。

### Linux

**需要拷贝的文件**

```
SessionExample
libiotdb_session.so
chmod +x SessionExample
```

**目标机器前置条件**

- 目标机的 **glibc 版本必须 ≥ 编译 SDK 时的 glibc 版本**（仅向后兼容：
  新系统可跑旧库要求，旧系统不能跑需要更高 glibc 的二进制）。

在 **编译机** 上记录版本（建议写入发布说明）：

```bash
ldd --version | head -1
# 例如：ldd (Ubuntu GLIBC 2.35-0ubuntu3) 2.35
```

在 **目标机** 上检查：

```bash
ldd --version | head -1
# 版本号应 >= 编译机（同主版本次版本或更新）
```

查看二进制依赖的最高 `GLIBC_` 符号：

```bash
objdump -T SessionExample | grep GLIBC_ | sed 's/.*GLIBC_/GLIBC_/' | sort -Vu | tail -5
objdump -T libiotdb_session.so | grep GLIBC_ | sed 's/.*GLIBC_/GLIBC_/' | sort -Vu | tail -5
```

若目标 glibc 过旧，运行时会报错，例如
`version 'GLIBC_2.34' not found`。可在更旧的发行版（或旧版容器）上重新编译
SDK，以扩大兼容范围。

**运行**（`.so` 与可执行文件同目录）：

```bash
./SessionExample
```

若找不到共享库：

```bash
export LD_LIBRARY_PATH=.
./SessionExample
```

无需单独安装 Thrift。

### macOS

将示例可执行文件与 `libiotdb_session.dylib` 放在同一目录。目标 macOS 版本
应 **≥ 编译 SDK 时设置的 deployment target**。可用以下命令检查依赖：

```bash
otool -L SessionExample
```

## 开发说明

- **Windows**：应用与 SDK 均使用 **`/MD`**，与 Visual Studio 默认工程一致；
  链接 `iotdb_session.lib`，部署时携带 `iotdb_session.dll`。
- **Linux**：直接链接 `libiotdb_session.so`；建议与可执行文件同目录发布，或
  设置 `RPATH=$ORIGIN`。
- 示例默认连接 `127.0.0.1:6667`；如需修改地址/端口，请编辑对应源码。

## 本模块目录结构

```
client-cpp/examples/
├── README.md            # 英文说明
├── README_zh.md         # 中文说明（本文件）
├── CMakeLists.txt
├── SessionExample.cpp
├── AlignedTimeseriesSessionExample.cpp
├── TableModelSessionExample.cpp
├── MultiSvrNodeClient.cpp
├── tree_example.c
└── table_example.c
```

执行 `mvn verify -P with-cpp -pl iotdb-client/client-cpp -am` 后，可在
`iotdb-client/client-cpp/target/build/examples/` 下找到构建产物。
