diff --git a/docs/_config.yml b/docs/_config.yml index fdb49ed6e0..58b50f7c91 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,5 +1,8 @@ name: PostgreSQL JDBC Driver website markdown: redcarpet +redcarpet: + extensions: + - tables highlighter: pygments excerpt_separator: exclude: diff --git a/docs/documentation/head/arrays.md b/docs/documentation/head/arrays.md new file mode 100644 index 0000000000..b74356a10b --- /dev/null +++ b/docs/documentation/head/arrays.md @@ -0,0 +1,29 @@ +--- +layout: default_docs +title: Arrays +header: Chapter 9. PostgreSQL™ Extensions to the JDBC API +resource: media +previoustitle: Physical and Logical replication API +previous: replication.html +nexttitle: Chapter 10. Using the Driver in a Multithreaded or a Servlet Environment +next: thread.html +--- + +PostgreSQL™ provides robust support for array data types as column types, function arguments +and criteria in where clauses. There are several ways to create arrays with pgjdbc. + +The [java.sql.Connection.createArrayOf(String, Object\[\])](https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#createArrayOf-java.lang.String-java.lang.Object:A-) can be used to create an [java.sql.Array](https://docs.oracle.com/javase/8/docs/api/java/sql/Array.html) from `Object[]` instances (Note: this includes both primitive and object multi-dimensional arrays). +A similar method `org.postgresql.PGConnection.createArrayOf(String, Object)` provides support for primitive array types. +The `java.sql.Array` object returned from these methods can be used in other methods, such as [PreparedStatement.setArray(int, Array)](https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html#setArray-int-java.sql.Array-). + +Additionally, the following types of arrays can be used in `PreparedStatement.setObject` methods and will use the defined type mapping: + +Java Type | Default PostgreSQL™ Type +--- | --- +`short[]` | `int2[]` +`int[]` | `int4[]` +`long[]` | `int8[]` +`float[]` | `float4[]` +`double[]` | `float8[]` +`boolean[]` | `bool[]` +`String[]` | `varchar[]` diff --git a/docs/documentation/head/ext.md b/docs/documentation/head/ext.md index 753a1ee4ab..ea7cee9b12 100644 --- a/docs/documentation/head/ext.md +++ b/docs/documentation/head/ext.md @@ -17,6 +17,7 @@ next: geometric.html * [Listen / Notify](listennotify.html) * [Server Prepared Statements](server-prepare.html) * [Physical and Logical replication API](replication.html) +* [Arrays](arrays.html) PostgreSQL™ is an extensible database system. You can add your own functions to the server, which can then be called from queries, or even add your own data types. diff --git a/docs/documentation/head/index.html b/docs/documentation/head/index.html index ec9162b0a0..70ef62fd0e 100644 --- a/docs/documentation/head/index.html +++ b/docs/documentation/head/index.html @@ -120,6 +120,7 @@