Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
2 changes: 1 addition & 1 deletion antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ asciidoc:
page-product: Neo4j Connector for Kafka
kafka-connect-version: 3.0
connector-version: '5.1'
exact-connector-version: '5.1.7'
exact-connector-version: '5.1.8'
page-pagination: true
product-name: Neo4j Connector for Kafka
url-common-license-page: https://neo4j.com/docs/license/
Expand Down
1 change: 1 addition & 0 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
** xref:sink/cdc.adoc[Change Data Capture]
** xref:sink/pattern.adoc[Pattern]
** xref:sink/cud.adoc[CUD]
* xref:sink/connect-types.adoc[Type support]
* xref:sink/error-handling.adoc[Error handling]
* xref:sink/configuration.adoc[Settings]

Expand Down
38 changes: 38 additions & 0 deletions modules/ROOT/pages/changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,44 @@

This page lists changes to the {product-name}.

== Version 5.1.8

[cols="1,2", options="header"]
|===
| Feature | Details

a|
label:functionality[]
label:new[]

Support for `decimal`, `date`, `time` and `timestamp` Kafka Connect types in sink connector.
a|
When an incoming message contained one of the built-in Kafka Connect types (`decimal`, `date`, `time` and `timestamp`), the message could not be processed by the sink connector since theses types were not recognized by the sink connector.
Support for these types is now made available.

[NOTE]
====
To avoid a data loss, `decimal` typed values are converted to `string` values.
====

a|
label:bug[]
label:fixed[]

Rethrow exceptions if no errant record reporter is not set.
| When a sink connector is configured without any error handling options, errant record reporter is not set by Kafka Connect and exceptions raised were silently ignored.
These exceptions are no longer ignored, and re-thrown if no errant record reporter is set.

a|
label:bug[]
label:fixed[]

User provided Cypher queries that return results were failing in cypher sink strategy.
| When a sink connector is configured with cypher strategy and the provided query included `RETURN` clause, the internally re-written Cypher query was not being generated correctly and connector ended up failing.
The Cypher generation logic is now fixed and these type of queries can also be specified.
|===


== Version 5.1.7

This is a maintenance release which provides updated dependencies.
Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/sink.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ Process incoming Kafka messages generated by either a Source instance configured
xref:sink/pattern.adoc[Pattern]::
Use a Cypher-like pattern syntax to transform incoming Kafka messages into Cypher write queries.
xref:sink/cud.adoc[Create Update Delete (CUD) File]::
Transform incoming CUD-formatted messages into Cypher write queries.
Transform incoming CUD-formatted messages into Cypher write queries.
63 changes: 63 additions & 0 deletions modules/ROOT/pages/sink/connect-types.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
= Type Support

Sink connector supports the following built-in Kafka Connect types.

[cols="1,2",options="header"]
|===
| Kafka Connect Type | Conversion Rule

| Boolean
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[BOOLEAN] type.

| Bytes
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[BYTE ARRAY] type.

| Float32
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[FLOAT] type.

| Float64
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[FLOAT] type.

| Int8
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[INTEGER] type.

| Int16
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[INTEGER] type.

| Int32
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[INTEGER] type.

| Int64
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[INTEGER] type.

| String
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[STRING] type.

| Decimal
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#property-types[STRING] type.
This is to avoid data loss, since Neo4j does not have native support for decimal values.

| Date
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/temporal/#_temporal_value_types[DATE] type.

| Time
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/temporal/#_temporal_value_types[LOCAL TIME] type.

| Timestamp
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/temporal/#_temporal_value_types[LOCAL DATETIME] type.

| Array
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#constructed-types[LIST] of converted elements.

| Map
a| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#constructed-types[MAP] of keys to respective converted values.

[WARNING]
====
Incoming map values must have string-typed keys.
====

| Struct
| Converted into link:{page-canonical-root}/cypher-manual/current/values-and-types/property-structural-constructed/#constructed-types[MAP] of field name to respective converted values.

|===
Loading