]"`|`"fixed[16]"`|
|**`binary`**|`JSON string: "binary"`|`"binary"`|
-|**`decimal(P, S)`**|`JSON string: "decimal(,)"`|`"decimal(9,2)"`,
`"decimal(9, 2)"`|
+|**`decimal(P, S)`**|`JSON string: "decimal(
, )"`|`"decimal(9, 2)"`|
|**`struct`**|`JSON object: {`
`"type": "struct",`
`"fields": [ {`
`"id": ,`
`"name": ,`
`"required": ,`
`"type": ,`
`"doc": ,`
`"initial-default": ,`
`"write-default": `
`}, ...`
`] }`|`{`
`"type": "struct",`
`"fields": [ {`
`"id": 1,`
`"name": "id",`
`"required": true,`
`"type": "uuid",`
`"initial-default": "0db3e2a8-9d1d-42b9-aa7b-74ebe558dceb",`
`"write-default": "ec5911be-b0a7-458c-8438-c9a3e53cffae"`
`}, {`
`"id": 2,`
`"name": "data",`
`"required": false,`
`"type": {`
`"type": "list",`
`...`
`}`
`} ]`
`}`|
|**`list`**|`JSON object: {`
`"type": "list",`
`"element-id": ,`
`"element-required": `
`"element": `
`}`|`{`
`"type": "list",`
`"element-id": 3,`
`"element-required": true,`
`"element": "string"`
`}`|
|**`map`**|`JSON object: {`
`"type": "map",`
`"key-id": ,`
`"key": ,`
`"value-id": ,`
`"value-required": `
`"value": `
`}`|`{`
`"type": "map",`
`"key-id": 4,`
`"key": "string",`
`"value-id": 5,`
`"value-required": false,`
`"value": "double"`
`}`|
@@ -1683,6 +1683,8 @@ Types are serialized according to this table:
| **`geometry(C)`** |`JSON string: "geometry()"`|`"geometry(srid:4326)"`|
| **`geography(C, A)`** |`JSON string: "geography(,)"`|`"geography(srid:4326,spherical)"`|
+The schema JSON type strings in this table are the canonical serialized forms. Readers should accept optional whitespace around parameters and separators in parameterized type strings.
+
Note that default values are serialized using the JSON single-value serialization in [Appendix D](#appendix-d-single-value-serialization).
### Partition Specs
@@ -1861,7 +1863,7 @@ The binary single-value serialization can be used to store the lower and upper b
| **`long`** | **`JSON long`** | `34` | |
| **`float`** | **`JSON number`** | `1.0` | |
| **`double`** | **`JSON number`** | `1.0` | |
-| **`decimal(P,S)`** | **`JSON string`** | `"14.20"`, `"2E+20"` | Stores the string representation of the decimal value, specifically, for values with a positive scale, the number of digits to the right of the decimal point is used to indicate scale, for values with a negative scale, the scientific notation is used and the exponent must equal the negated scale |
+| **`decimal(P, S)`** | **`JSON string`** | `"14.20"`, `"2E+20"` | Stores the string representation of the decimal value, specifically, for values with a positive scale, the number of digits to the right of the decimal point is used to indicate scale, for values with a negative scale, the scientific notation is used and the exponent must equal the negated scale |
| **`date`** | **`JSON string`** | `"2017-11-16"` | Stores ISO-8601 standard date |
| **`time`** | **`JSON string`** | `"22:31:08.123456"` | Stores ISO-8601 standard time with microsecond precision |
| **`timestamp`** | **`JSON string`** | `"2017-11-16T22:31:08.123456"` | Stores ISO-8601 standard timestamp with microsecond precision; must not include a zone offset |
diff --git a/site/docs/assets/stylesheets/extra.css b/site/docs/assets/stylesheets/extra.css
index e8af4a6a7584..c2744e0d1d99 100644
--- a/site/docs/assets/stylesheets/extra.css
+++ b/site/docs/assets/stylesheets/extra.css
@@ -231,6 +231,10 @@ header .md-search__input::placeholder {
font-family: "Source Sans Pro", sans-serif;
}
+.md-typeset table code {
+ white-space: nowrap;
+}
+
.md-typeset h1 {
color: var(--color-default-primary);
font-size: 32px;