diff --git a/vertx-db2-client/src/main/asciidoc/index.adoc b/vertx-db2-client/src/main/asciidoc/index.adoc index 24459888e7..53acbe2f13 100644 --- a/vertx-db2-client/src/main/asciidoc/index.adoc +++ b/vertx-db2-client/src/main/asciidoc/index.adoc @@ -187,39 +187,107 @@ include::tracing.adoc[] == DB2 type mapping -Currently the client supports the following DB2 types - -* BOOLEAN (`java.lang.Boolean`) (DB2 LUW only) -* SMALLINT (`java.lang.Short`) -* INTEGER (`java.lang.Integer`) -* BIGINT (`java.lang.Long`) -* REAL (`java.lang.Float`) -* DOUBLE (`java.lang.Double`) -* DECIMAL (`io.vertx.sqlclient.data.Numeric`) -* CHAR (`java.lang.String`) -* VARCHAR (`java.lang.String`) -* ENUM (`java.lang.String`) -* DATE (`java.time.LocalDate`) -* TIME (`java.time.LocalTime`) -* TIMESTAMP (`java.time.LocalDateTime`) -* BINARY (`byte[]`) -* VARBINARY (`byte[]`) -* ROWID (`io.vertx.db2client.impl.drda.DB2RowId` or `java.sql.RowId`) (DB2 z/OS only) - -Some types that are currently NOT supported are: - -* XML -* BLOB -* CLOB -* DBCLOB -* GRAPHIC / VARGRAPHIC - -For a further documentation on DB2 data types, see the following resources: +Currently the client supports the following DB2 types: + +[cols="<2,<3,<3", options="header"] +|=== +| DB2 Type | Java Type | Notes + +| `BOOLEAN` +| `java.lang.Boolean` +| DB2 LUW only + +| `SMALLINT` +| `java.lang.Short` +| + +| `INTEGER` +| `java.lang.Integer` +| + +| `BIGINT` +| `java.lang.Long` +| + +| `REAL` +| `java.lang.Float` +| + +| `DOUBLE` +| `java.lang.Double` +| + +| `DECIMAL` +| `io.vertx.sqlclient.data.Numeric` +| + +| `CHAR` +| `java.lang.String` +| + +| `VARCHAR` +| `java.lang.String` +| + +| `ENUM` +| `java.lang.String` +| + +| `DATE` +| `java.time.LocalDate` +| + +| `TIME` +| `java.time.LocalTime` +| + +| `TIMESTAMP` +| `java.time.LocalDateTime` +| + +| `BINARY` +| `byte[]` +| + +| `VARBINARY` +| `byte[]` +| + +| `ROWID` +| `io.vertx.db2client.impl.drda.DB2RowId` or `java.sql.RowId` +| DB2 z/OS only +|=== + +=== Unsupported types + +The following types are not currently supported: + +[cols="<2,<4", options="header"] +|=== +| Type | Notes + +| `XML` +| Not implemented + +| `BLOB` +| Not implemented + +| `CLOB` +| Not implemented + +| `DBCLOB` +| Not implemented + +| `GRAPHIC` / `VARGRAPHIC` +| Not implemented +|=== + +For further documentation on DB2 data types, see: * https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0008483.html[DB2 for LUW 11.5 data types] * https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/sqlref/src/tpc/db2z_datatypesintro.html[DB2 for z/OS 12.0 data types] -Tuple decoding uses the above types when storing values, it also performs on the fly conversion of the actual value when possible: +Tuple decoding uses the above types when storing values. It also performs on the fly conversion of the actual value when possible: [source,$lang] ---- diff --git a/vertx-mssql-client/src/main/asciidoc/index.adoc b/vertx-mssql-client/src/main/asciidoc/index.adoc index d5c087b90b..d9593de196 100644 --- a/vertx-mssql-client/src/main/asciidoc/index.adoc +++ b/vertx-mssql-client/src/main/asciidoc/index.adoc @@ -162,30 +162,94 @@ include::cursor.adoc[] include::tracing.adoc[] -== Data types supported - -Currently, the client supports the following SQL Server types: - -* TINYINT(`java.lang.Short`) -* SMALLINT(`java.lang.Short`) -* INT(`java.lang.Integer`) -* BIGINT(`java.lang.Long`) -* BIT(`java.lang.Boolean`) -* REAL(`java.lang.Float`) -* DOUBLE(`java.lang.Double`) -* NUMERIC/DECIMAL(`{@link java.math.BigDecimal}`) -* CHAR/VARCHAR(`java.lang.String`) -* NCHAR/NVARCHAR(`java.lang.String`) -* DATE(`java.time.LocalDate`) -* TIME(`java.time.LocalTime`) -* SMALLDATETIME(`java.time.LocalDateTime`) -* DATETIME(`java.time.LocalDateTime`) -* DATETIME2(`java.time.LocalDateTime`) -* DATETIMEOFFSET(`java.time.OffsetDateTime`) -* BINARY/VARBINARY(`io.vertx.core.buffer.Buffer`) -* MONEY (`{@link java.math.BigDecimal}`) -* SMALLMONEY (`{@link java.math.BigDecimal}`) -* GUID (`{@link java.util.UUID}`) +== MSSQL type mapping + +Currently the client supports the following SQL Server types: + +[cols="<2,<3,<3", options="header"] +|=== +| SQL Server Type | Java Type | Notes + +| `TINYINT` +| `java.lang.Short` +| + +| `SMALLINT` +| `java.lang.Short` +| + +| `INT` +| `java.lang.Integer` +| + +| `BIGINT` +| `java.lang.Long` +| + +| `BIT` +| `java.lang.Boolean` +| + +| `REAL` +| `java.lang.Float` +| + +| `DOUBLE` +| `java.lang.Double` +| + +| `NUMERIC` / `DECIMAL` +| `java.math.BigDecimal` +| + +| `CHAR` / `VARCHAR` +| `java.lang.String` +| + +| `NCHAR` / `NVARCHAR` +| `java.lang.String` +| Unicode strings + +| `DATE` +| `java.time.LocalDate` +| + +| `TIME` +| `java.time.LocalTime` +| + +| `SMALLDATETIME` +| `java.time.LocalDateTime` +| + +| `DATETIME` +| `java.time.LocalDateTime` +| + +| `DATETIME2` +| `java.time.LocalDateTime` +| + +| `DATETIMEOFFSET` +| `java.time.OffsetDateTime` +| + +| `BINARY` / `VARBINARY` +| `io.vertx.core.buffer.Buffer` +| + +| `MONEY` +| `java.math.BigDecimal` +| + +| `SMALLMONEY` +| `java.math.BigDecimal` +| + +| `GUID` +| `java.util.UUID` +| +|=== Tuple decoding uses the above types when storing values. diff --git a/vertx-mysql-client/src/main/asciidoc/index.adoc b/vertx-mysql-client/src/main/asciidoc/index.adoc index 8288d189cd..f02fe5e756 100644 --- a/vertx-mysql-client/src/main/asciidoc/index.adoc +++ b/vertx-mysql-client/src/main/asciidoc/index.adoc @@ -286,51 +286,172 @@ include::tracing.adoc[] == MySQL type mapping -Currently the client supports the following MySQL types - -* BOOL,BOOLEAN (`java.lang.Byte`) -* TINYINT (`java.lang.Byte`) -* TINYINT UNSIGNED(`java.lang.Short`) -* SMALLINT (`java.lang.Short`) -* SMALLINT UNSIGNED(`java.lang.Integer`) -* MEDIUMINT (`java.lang.Integer`) -* MEDIUMINT UNSIGNED(`java.lang.Integer`) -* INT,INTEGER (`java.lang.Integer`) -* INTEGER UNSIGNED(`java.lang.Long`) -* BIGINT (`java.lang.Long`) -* BIGINT UNSIGNED(`io.vertx.sqlclient.data.Numeric`) -* FLOAT (`java.lang.Float`) -* FLOAT UNSIGNED(`java.lang.Float`) -* DOUBLE (`java.lang.Double`) -* DOUBLE UNSIGNED(`java.lang.Double`) -* BIT (`java.lang.Long`) -* NUMERIC (`io.vertx.sqlclient.data.Numeric`) -* NUMERIC UNSIGNED(`io.vertx.sqlclient.data.Numeric`) -* DATE (`java.time.LocalDate`) -* DATETIME (`java.time.LocalDateTime`) -* TIME (`java.time.Duration`) -* TIMESTAMP (`java.time.LocalDateTime`) -* YEAR (`java.lang.Short`) -* CHAR (`java.lang.String`) -* VARCHAR (`java.lang.String`) -* BINARY (`io.vertx.core.buffer.Buffer`) -* VARBINARY (`io.vertx.core.buffer.Buffer`) -* TINYBLOB (`io.vertx.core.buffer.Buffer`) -* TINYTEXT (`java.lang.String`) -* BLOB (`io.vertx.core.buffer.Buffer`) -* TEXT (`java.lang.String`) -* MEDIUMBLOB (`io.vertx.core.buffer.Buffer`) -* MEDIUMTEXT (`java.lang.String`) -* LONGBLOB (`io.vertx.core.buffer.Buffer`) -* LONGTEXT (`java.lang.String`) -* ENUM (`java.lang.String`) -* SET (`java.lang.String`) -* JSON (`io.vertx.core.json.JsonObject`, `io.vertx.core.json.JsonArray`, `Number`, `Boolean`, `String`, `io.vertx.sqlclient.Tuple#JSON_NULL`) -* GEOMETRY(`io.vertx.mysqlclient.data.spatial.*`) - -Tuple decoding uses the above types when storing values - -Note: In Java there is no specific representations for unsigned numeric values, so this client will convert an unsigned value to the correlated Java type. +Currently the client supports the following MySQL types: + +[cols="<2,<3,<3", options="header"] +|=== +| MySQL Type | Java Type | Notes + +| `BOOLEAN` / `BOOL` +| `java.lang.Byte` +| Synonym for `TINYINT(1)` + +| `TINYINT` +| `java.lang.Byte` +| + +| `TINYINT UNSIGNED` +| `java.lang.Short` +| + +| `SMALLINT` +| `java.lang.Short` +| + +| `SMALLINT UNSIGNED` +| `java.lang.Integer` +| + +| `MEDIUMINT` +| `java.lang.Integer` +| + +| `MEDIUMINT UNSIGNED` +| `java.lang.Integer` +| + +| `INT` / `INTEGER` +| `java.lang.Integer` +| + +| `INTEGER UNSIGNED` +| `java.lang.Long` +| + +| `BIGINT` +| `java.lang.Long` +| + +| `BIGINT UNSIGNED` +| `io.vertx.sqlclient.data.Numeric` +| No unsigned 64-bit in Java + +| `FLOAT` +| `java.lang.Float` +| + +| `FLOAT UNSIGNED` +| `java.lang.Float` +| + +| `DOUBLE` +| `java.lang.Double` +| + +| `DOUBLE UNSIGNED` +| `java.lang.Double` +| + +| `BIT` +| `java.lang.Long` +| + +| `NUMERIC` / `DECIMAL` +| `io.vertx.sqlclient.data.Numeric` +| + +| `NUMERIC UNSIGNED` +| `io.vertx.sqlclient.data.Numeric` +| + +| `DATE` +| `java.time.LocalDate` +| + +| `DATETIME` +| `java.time.LocalDateTime` +| + +| `TIME` +| `java.time.Duration` +| Also retrievable as `java.time.LocalTime` + +| `TIMESTAMP` +| `java.time.LocalDateTime` +| + +| `YEAR` +| `java.lang.Short` +| + +| `CHAR` +| `java.lang.String` +| + +| `VARCHAR` +| `java.lang.String` +| + +| `BINARY` +| `io.vertx.core.buffer.Buffer` +| + +| `VARBINARY` +| `io.vertx.core.buffer.Buffer` +| + +| `TINYBLOB` +| `io.vertx.core.buffer.Buffer` +| + +| `TINYTEXT` +| `java.lang.String` +| + +| `BLOB` +| `io.vertx.core.buffer.Buffer` +| + +| `TEXT` +| `java.lang.String` +| + +| `MEDIUMBLOB` +| `io.vertx.core.buffer.Buffer` +| + +| `MEDIUMTEXT` +| `java.lang.String` +| + +| `LONGBLOB` +| `io.vertx.core.buffer.Buffer` +| + +| `LONGTEXT` +| `java.lang.String` +| + +| `ENUM` +| `java.lang.String` +| + +| `SET` +| `java.lang.String` +| + +| `JSON` +| `java.lang.Object` +| See <> + +| `GEOMETRY` +| `io.vertx.mysqlclient.data.spatial.*` +| See <> +|=== + +Tuple decoding uses the above types when storing values. + +NOTE: Java has no specific representations for unsigned numeric values. The client converts unsigned values to the corresponding Java type that can hold the value. === Implicit type conversion diff --git a/vertx-oracle-client/src/main/asciidoc/index.adoc b/vertx-oracle-client/src/main/asciidoc/index.adoc index a985c27b23..540349e347 100644 --- a/vertx-oracle-client/src/main/asciidoc/index.adoc +++ b/vertx-oracle-client/src/main/asciidoc/index.adoc @@ -161,22 +161,54 @@ include::transactions.adoc[] include::cursor.adoc[] -== Data types supported +== Oracle type mapping -Currently, the client supports the following Oracle data types: +Currently the client supports the following Oracle data types: -* CHAR/VARCHAR2(`java.lang.String`) -* NCHAR/NVARCHAR2(`java.lang.String`) -* NUMBER(`{@link java.math.BigDecimal}`) -* FLOAT(`java.lang.Double`) -* DATE(`java.time.LocalDate`) -* TIMESTAMP(`java.time.LocalDateTime`) -* RAW(`io.vertx.core.buffer.Buffer`) +[cols="<2,<3,<3", options="header"] +|=== +| Oracle Type | Java Type | Notes + +| `CHAR` / `VARCHAR2` +| `java.lang.String` +| + +| `NCHAR` / `NVARCHAR2` +| `java.lang.String` +| Unicode strings + +| `NUMBER` +| `java.math.BigDecimal` +| + +| `FLOAT` +| `java.lang.Double` +| + +| `DATE` +| `java.time.LocalDate` +| + +| `TIMESTAMP` +| `java.time.LocalDateTime` +| + +| `RAW` +| `io.vertx.core.buffer.Buffer` +| + +| `BLOB` +| `io.vertx.core.buffer.Buffer` +| See <> +|=== Tuple decoding uses the above types when storing values. -`BLOB` data type is also supported with one caveat: it must be represented by an instance of {@link io.vertx.oracleclient.data.Blob} when writing or filtering. -However, when reading `BLOB` data, the client returns a {@link io.vertx.core.buffer.Buffer}. +[[handling-blob]] +=== Handling BLOB + +`BLOB` data type is supported with one caveat: it must be represented by an instance of {@link io.vertx.oracleclient.data.Blob} when writing or filtering. +However, when reading `BLOB` data, the client returns an {@link io.vertx.core.buffer.Buffer}. [source,$lang] ---- diff --git a/vertx-pg-client/src/main/asciidoc/index.adoc b/vertx-pg-client/src/main/asciidoc/index.adoc index 92f6565f6d..13e254364d 100644 --- a/vertx-pg-client/src/main/asciidoc/index.adoc +++ b/vertx-pg-client/src/main/asciidoc/index.adoc @@ -277,46 +277,204 @@ include::tracing.adoc[] == PostgreSQL type mapping -Currently the client supports the following PostgreSQL types - -* BOOLEAN (`java.lang.Boolean`) -* INT2 (`java.lang.Short`) -* INT4 (`java.lang.Integer`) -* INT8 (`java.lang.Long`) -* FLOAT4 (`java.lang.Float`) -* FLOAT8 (`java.lang.Double`) -* CHAR (`java.lang.String`) -* VARCHAR (`java.lang.String`) -* TEXT (`java.lang.String`) -* ENUM (`java.lang.String`) -* NAME (`java.lang.String`) -* SERIAL2 (`java.lang.Short`) -* SERIAL4 (`java.lang.Integer`) -* SERIAL8 (`java.lang.Long`) -* NUMERIC (`io.vertx.sqlclient.data.Numeric`) -* UUID (`java.util.UUID`) -* DATE (`java.time.LocalDate`) -* TIME (`java.time.LocalTime`) -* TIMETZ (`java.time.OffsetTime`) -* TIMESTAMP (`java.time.LocalDateTime`) -* TIMESTAMPTZ (`java.time.OffsetDateTime`) -* INTERVAL (`io.vertx.pgclient.data.Interval`) -* BYTEA (`io.vertx.core.buffer.Buffer`) -* JSON (`io.vertx.core.json.JsonObject`, `io.vertx.core.json.JsonArray`, `Number`, `Boolean`, `String`, `io.vertx.sqlclient.Tuple#JSON_NULL`) -* JSONB (`io.vertx.core.json.JsonObject`, `io.vertx.core.json.JsonArray`, `Number`, `Boolean`, `String`, `io.vertx.sqlclient.Tuple#JSON_NULL`) -* POINT (`io.vertx.pgclient.data.Point`) -* LINE (`io.vertx.pgclient.data.Line`) -* LSEG (`io.vertx.pgclient.data.LineSegment`) -* BOX (`io.vertx.pgclient.data.Box`) -* PATH (`io.vertx.pgclient.data.Path`) -* POLYGON (`io.vertx.pgclient.data.Polygon`) -* CIRCLE (`io.vertx.pgclient.data.Circle`) -* TSVECTOR (`java.lang.String`) -* TSQUERY (`java.lang.String`) -* INET (`io.vertx.pgclient.data.Inet`) -* MONEY (`io.vertx.pgclient.data.Money`) - -Tuple decoding uses the above types when storing values, it also performs on the flu conversion the actual value when possible: +Currently the client supports the following PostgreSQL types: + +[cols="<2,<3,<3,<3", options="header"] +|=== +| PostgreSQL Type | Java Type | Java Array Type | Notes + +| `BOOLEAN` +| `java.lang.Boolean` +| `java.lang.Boolean[]` +| + +| `INT2` +| `java.lang.Short` +| `java.lang.Short[]` +| + +| `INT4` +| `java.lang.Integer` +| `java.lang.Integer[]` +| + +| `INT8` +| `java.lang.Long` +| `java.lang.Long[]` +| + +| `FLOAT4` +| `java.lang.Float` +| `java.lang.Float[]` +| + +| `FLOAT8` +| `java.lang.Double` +| `java.lang.Double[]` +| + +| `CHAR` +| `java.lang.String` +| `java.lang.Character[]` +| + +| `VARCHAR` +| `java.lang.String` +| `java.lang.String[]` +| + +| `TEXT` +| `java.lang.String` +| `java.lang.String[]` +| + +| `ENUM` +| `java.lang.String` +| `java.lang.String[]` +| + +| `NAME` +| `java.lang.String` +| `java.lang.String[]` +| + +| `SERIAL2` +| `java.lang.Short` +| - +| + +| `SERIAL4` +| `java.lang.Integer` +| - +| + +| `SERIAL8` +| `java.lang.Long` +| - +| + +| `NUMERIC` +| `io.vertx.sqlclient.data.Numeric` +| `io.vertx.sqlclient.data.Numeric[]` +| + +| `UUID` +| `java.util.UUID` +| `java.util.UUID[]` +| + +| `DATE` +| `java.time.LocalDate` +| `java.time.LocalDate[]` +| + +| `TIME` +| `java.time.LocalTime` +| `java.time.LocalTime[]` +| + +| `TIMETZ` +| `java.time.OffsetTime` +| `java.time.OffsetTime[]` +| + +| `TIMESTAMP` +| `java.time.LocalDateTime` +| `java.time.LocalDateTime[]` +| + +| `TIMESTAMPTZ` +| `java.time.OffsetDateTime` +| `java.time.OffsetDateTime[]` +| + +| `INTERVAL` +| `io.vertx.pgclient.data.Interval` +| `io.vertx.pgclient.data.Interval[]` +| + +| `BYTEA` +| `io.vertx.core.buffer.Buffer` +| `io.vertx.core.buffer.Buffer[]` +| + +| `JSON` +| `java.lang.Object` +| `java.lang.Object[]` +| See <> + +| `JSONB` +| `java.lang.Object` +| `java.lang.Object[]` +| See <> + +| `POINT` +| `io.vertx.pgclient.data.Point` +| `io.vertx.pgclient.data.Point[]` +| + +| `LINE` +| `io.vertx.pgclient.data.Line` +| `io.vertx.pgclient.data.Line[]` +| + +| `LSEG` +| `io.vertx.pgclient.data.LineSegment` +| `io.vertx.pgclient.data.LineSegment[]` +| + +| `BOX` +| `io.vertx.pgclient.data.Box` +| `io.vertx.pgclient.data.Box[]` +| + +| `PATH` +| `io.vertx.pgclient.data.Path` +| `io.vertx.pgclient.data.Path[]` +| + +| `POLYGON` +| `io.vertx.pgclient.data.Polygon` +| `io.vertx.pgclient.data.Polygon[]` +| + +| `CIRCLE` +| `io.vertx.pgclient.data.Circle` +| `io.vertx.pgclient.data.Circle[]` +| + +| `TSVECTOR` +| `java.lang.String` +| `java.lang.String[]` +| + +| `TSQUERY` +| `java.lang.String` +| `java.lang.String[]` +| + +| `INET` +| `io.vertx.pgclient.data.Inet` +| `io.vertx.pgclient.data.Inet[]` +| + +| `CIDR` +| `io.vertx.pgclient.data.Cidr` +| `io.vertx.pgclient.data.Cidr[]` +| + +| `MONEY` +| `io.vertx.pgclient.data.Money` +| `io.vertx.pgclient.data.Money[]` +| + +| `UNKNOWN` +| `java.lang.String` +| `java.lang.String[]` +| +|=== + +Tuple decoding uses the above types when storing values. It also performs on the fly conversion of the actual value when possible: [source,$lang] ---- @@ -330,8 +488,6 @@ Tuple encoding uses the above type mapping for encoding, unless the type is nume {@link examples.PgClientExamples#typeMapping02} ---- -Arrays of these types are supported. - === Handling JSON PostgreSQL `JSON` and `JSONB` types are represented by the following Java types: @@ -357,6 +513,39 @@ The {@link io.vertx.sqlclient.data.Numeric} Java type is used to represent the P {@link examples.PgClientExamples#numericExample} ---- +=== Unsupported types + +The following types are not currently supported: + +[cols="<2,<4", options="header"] +|=== +| Type | Notes + +| `BIT` +| Not implemented + +| `VARBIT` +| Not implemented + +| `MACADDR` +| Not implemented + +| `MACADDR8` +| Not implemented + +| `XML` +| Not implemented + +| `HSTORE` +| Not implemented + +| `OID` +| Not implemented + +| `VOID` +| Not implemented +|=== + == Handling arrays Arrays are available on {@link io.vertx.sqlclient.Tuple} and {@link io.vertx.sqlclient.Row}: @@ -573,262 +762,3 @@ When doing so, prepared statement cannot be cached and therefore == Advanced pool configuration include::pool_config.adoc[] - -== Supported data types - -The *Reactive Postgres Client* currently supports the following data types - -[cols="^,^,^,^,^", options="header"] -|==== -| _ -2+| Value -2+| Array - -| Postgres | Java | Supported | JAVA | Supported - -|`BOOLEAN` -|`j.l.Boolean` -|✔ -|`j.l.Boolean[]` -|✔ - -|`INT2` -|`j.l.Short` -|✔ -|`j.l.Short[]` -|✔ - -|`INT4` -|`j.l.Integer` -|✔ -|`j.l.Integer[]` -|✔ - -|`INT8` -|`j.l.Long` -|✔ -|`j.l.Long[]` -|✔ - -|`FLOAT4` -|`j.l.Float` -|✔ -|`j.l.Float[]` -|✔ - -|`FLOAT8` -|`j.l.Double` -|✔ -|`j.l.Double[]` -|✔ - -|`CHAR` -|`j.l.Character` -|✔ -|`j.l.Character[]` -|✔ - -|`VARCHAR` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|`TEXT` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|`ENUM` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|`NAME` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|`SERIAL2` -|`j.l.Short` -|✔ -|`invalid type` -|✕ - -|`SERIAL4` -|`j.l.Integer` -|✔ -|`invalid type` -|✕ - -|`SERIAL8` -|`j.l.Long` -|✔ -|`invalid type` -|✕ - -|`NUMERIC` -|`i.r.p.data.Numeric` -|✔ -|`i.r.p.data.Numeric[]` -|✔ - -|`UUID` -|`j.u.UUID` -|✔ -|`j.u.UUID[]` -|✔ - -|`DATE` -|`j.t.LocalDate` -|✔ -|`j.t.LocalDate[]` -|✔ - -|`TIME` -|`j.t.LocalTime` -|✔ -|`j.t.LocalTime[]` -|✔ - -|`TIMETZ` -|`j.t.OffsetTime` -|✔ -|`j.t.OffsetTime[]` -|✔ - -|`TIMESTAMP` -|`j.t.LocalDateTime` -|✔ -|`j.t.LocalDateTime[]` -|✔ - -|`TIMESTAMPTZ` -|`j.t.OffsetDateTime` -|✔ -|`j.t.OffsetDateTime[]` -|✔ - -|`INTERVAL` -|`i.r.p.data.Interval` -|✔ -|`i.r.p.data.Interval[]` -|✔ - -|`BYTEA` -|`i.v.c.b.Buffer` -|✔ -|`i.v.c.b.Buffer[]` -|✔ - -|`JSON` -|`Object` -|✔ -|`Object[]` -|✔ - -|`JSONB` -|`Object` -|✔ -|`Object[]` -|✔ - -|`POINT` -|`i.r.p.data.Point` -|✔ -|`i.r.p.data.Point[]` -|✔ - -|`LINE` -|`i.r.p.data.Line` -|✔ -|`i.r.p.data.Line[]` -|✔ - -|`LSEG` -|`i.r.p.data.LineSegment` -|✔ -|`i.r.p.data.LineSegment[]` -|✔ - -|`BOX` -|`i.r.p.data.Box` -|✔ -|`i.r.p.data.Box[]` -|✔ - -|`INET` -|`io.vertx.pgclient.data.Inet` -|✔ -|`io.vertx.pgclient.data.Inet[]` -|✔ - -|`MONEY` -|`io.vertx.pgclient.data.Money` -|✔ -|`io.vertx.pgclient.data.Money[]` -|✔ - -|`CIDR` -|`io.vertx.pgclient.data.Cidr` -|✔ -|`io.vertx.pgclient.data.Cidr[]` -|✔ - -|`PATH` -|`i.r.p.data.Path` -|✔ -|`i.r.p.data.Path[]` -|✔ - -|`POLYGON` -|`i.r.p.data.Polygon` -|✔ -|`i.r.p.data.Polygon[]` -|✔ - -|`CIRCLE` -|`i.r.p.data.Circle` -|✔ -|`i.r.p.data.Circle[]` -|✔ - -|`TSVECTOR` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|`TSQUERY` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|`UNKNOWN` -|`j.l.String` -|✔ -|`j.l.String[]` -|✔ - -|==== - -PostgreSQL JSON and JSONB types are represented by the following Java types: - -- `java.lang.String` -- `java.lang.Number` -- `java.lang.Boolean` -- `io.vertx.core.json.JsonObject` -- `io.vertx.core.json.JsonArray` -- `io.vertx.sqlclient.Tuple#JSON_NULL` for representing the JSON null literal - -The following types - -_BIT_, _VARBIT_, _MACADDR_, _MACADDR8_, -_XML_, _HSTORE_, _OID_, -_VOID_ - -are not implemented yet (PR are welcome).