mirror of
https://github.com/microsoft/HybridRow.git
synced 2025-06-08 01:10:04 +01:00
211 lines
4.4 KiB
JSON
211 lines
4.4 KiB
JSON
{
|
|
"schemas": [
|
|
{
|
|
"name": "myUDT", // Question: what should the namespace/structure of schema identifiers.
|
|
"id": 1,
|
|
"type": "schema", // Optional: implied at the top-level (only "schema" types can be defined at the root of schemas)
|
|
"options": {
|
|
"disallowUnschematized": false // Optional: defaults to false
|
|
},
|
|
"properties": [
|
|
{
|
|
"path": "a",
|
|
"type": {
|
|
"type": "int8",
|
|
"storage": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"path": "b",
|
|
"type": {
|
|
"type": "utf8",
|
|
"storage": "variable"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "someTable",
|
|
"id": -1,
|
|
"options": {
|
|
"disallowUnschematized": true
|
|
},
|
|
"properties": [
|
|
{
|
|
"path": "myBool",
|
|
"comment": "A sample fixed boolean column",
|
|
"type": {
|
|
"type": "bool",
|
|
"storage": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"path": "myInt8",
|
|
"comment": "A sample fixed 8-byte integer column",
|
|
"type": {
|
|
"type": "int8",
|
|
"storage": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"path": "nested.x",
|
|
"comment": "A sample nested integer column",
|
|
"type": {
|
|
"type": "int32",
|
|
"storage": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"path": "nested.y",
|
|
"comment": "A sample nested float column",
|
|
"type": {
|
|
"type": "float32",
|
|
"storage": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"path": "nested.deeper.z",
|
|
"comment": "A sample deeper nested double column",
|
|
"type": {
|
|
"type": "float64",
|
|
"storage": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"path": "State",
|
|
"comment": "A sample fixed 2-byte UTF-8 encoded text column",
|
|
"type": {
|
|
"type": "utf8",
|
|
"storage": "fixed",
|
|
"length": 2
|
|
}
|
|
},
|
|
{
|
|
"path": "myString",
|
|
"comment": "A sample variable length UTF-8 encoded text column (up to 127 bytes)",
|
|
"type": {
|
|
"type": "utf8",
|
|
"storage": "variable"
|
|
}
|
|
},
|
|
{
|
|
"path": "lob",
|
|
"comment": "A sample extended UTF-8 encoded text column (up to 2M bytes)",
|
|
"type": {
|
|
"type": "utf8",
|
|
"storage": "sparse"
|
|
}
|
|
},
|
|
{
|
|
"path": "canbelob",
|
|
"comment":
|
|
"A sample extended UTF-8 encoded text column (up to 2M bytes) that stores variable if 'small' (<127 bytes), but sparse if 'large'",
|
|
"type": {
|
|
"type": "utf8",
|
|
"storage": "variable"
|
|
}
|
|
},
|
|
{
|
|
"path": "primitiveArray",
|
|
"comment": "A sample array of primitives (4-byte ints)",
|
|
"type": { "type": "array", "items": { "type": "int32" } }
|
|
},
|
|
{
|
|
"path": "shreddedArray[0]",
|
|
"comment": "A sample fixed-length array of primitives",
|
|
"type": { "type": "int32" }
|
|
},
|
|
{
|
|
"path": "shreddedArray[1]",
|
|
"comment": "A sample fixed-length array of primitives",
|
|
"type": { "type": "int32" }
|
|
},
|
|
{
|
|
"path": "nestedArray",
|
|
"comment": "A sample array of nested arrays",
|
|
"type": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": { "type": "int32" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"path": "nestedNestedArray",
|
|
"comment": "A sample array of nested nested arrays",
|
|
"type": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": { "type": "int32" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"path": "arrayOfObject",
|
|
"comment": "A sample array of semi-structured objects",
|
|
"type": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": [
|
|
{
|
|
"path": "a",
|
|
"type": { "type": "int8" }
|
|
},
|
|
{
|
|
"path": "b",
|
|
"type": { "type": "utf8" }
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"path": "arrayOfAny",
|
|
"comment": "A sample heterogenous array",
|
|
"type": {
|
|
"type": "array",
|
|
"items": { "type": "any" }
|
|
}
|
|
},
|
|
{
|
|
"path": "arrayOfUDT",
|
|
"comment": "A sample array of schematized rows",
|
|
"type": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "schema",
|
|
"name": "myUDT" // see definition above - should this be called $ref or ref or something?
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"path": "nestedObject",
|
|
"comment": "A sample nested objects",
|
|
"type": {
|
|
"type": "object",
|
|
"properties": [
|
|
{
|
|
"path": "a",
|
|
"type": {
|
|
"type": "int8"
|
|
}
|
|
},
|
|
{
|
|
"path": "b",
|
|
"type": {
|
|
"type": "utf8"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |