ClickHouse / ClickHouse/clickhouse-java
Example of migration from ClickHouseRowBinaryStream
- Lenguaje dominante
- Java
- Estrellas
- 1.6k
- Forks
- 636
- Merge medio
- 2 d 23 h
- PR fusionados (30 d)
- 29
Descripción
### Use case
For users, migrating from old client
### Describe the solution you'd like
...
### Describe the alternatives you've considered
...
### Additional context
I have code, that insert `(UUID, UUID, UUID, byte[])` objects with `clickhouse-jdbc:0.3.1-patch`:
```java
@Override
protected ProcessorResult send(List events) throws BackendServiceFailedException {
var sentEvents = new LinkedList();
try (ClickHouseStatement statement = this.connection.createStatement()) {
statement.write().send(
"INSERT INTO tracing_spans_local (trace_id, parent_span_id, span_id, payload)",
stream -> {
for (var event : events) {
write(stream, sinkEvent.getInternalEvent())
}
},
ClickHouseFormat.RowBinary);
@Override
protected boolean write(ClickHouseRowBinaryStream stream, Event event) throws IOException {
// ...
stream.writeUUID(traceId.get());
stream.writeUUID(parentSpanId.orElse(DEFAULT_UUID));
stream.writeUUID(spanId.get());
stream.writeUnsignedLeb128(event.getBytes().length);
stream.writeBytes(event.getBytes());
```
Now I'm trying to updage to `client-v2:0.8.2` and have no idea how to rewrite this. Tried to use `RowBinaryFormatWriter`, but it looks very complex and have no docs. Probably, it's not for client use?
Guía de contribución
Línea de trabajo
Comienza comparando el uso anterior de ClickHouseRowBinaryStream con el punto de entrada client-v2 RowBinaryFormatWriter y la JDBC client API mencionada en el issue. Documenta la migración equivalente para UUIDs, el payload con prefijo de longitud y los datos de bytes, con un ejemplo completo que muestre cómo se envía el insert.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- clickhouse, java
- Área
- api, documentation
- Tipo de issue
- Documentación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 45/100