Oracle Database · Schema

Oracle SODA Collection

Represents a SODA document collection in Oracle Database, including its metadata configuration for key generation, content storage, versioning, and modification tracking.

CloudDatabaseEnterpriseOracleREST APISQL

Properties

Name Type Description
name string Collection name, must not be 'custom-actions' or 'metadata-catalog'
properties object Collection metadata properties
links array Navigation links for the collection
View JSON Schema on GitHub

JSON Schema

oracle-database-collection.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://oracle.com/schemas/database/collection.json",
  "title": "Oracle SODA Collection",
  "description": "Represents a SODA document collection in Oracle Database, including its metadata configuration for key generation, content storage, versioning, and modification tracking.",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Collection name, must not be 'custom-actions' or 'metadata-catalog'"
    },
    "properties": {
      "type": "object",
      "description": "Collection metadata properties",
      "properties": {
        "schemaName": {
          "type": "string",
          "description": "Oracle Database schema (user account) owning the collection"
        },
        "tableName": {
          "type": "string",
          "description": "Name of the underlying database table storing documents"
        },
        "keyColumn": {
          "type": "object",
          "description": "Configuration for the document key column",
          "properties": {
            "name": {
              "type": "string",
              "description": "Column name for the document key",
              "default": "ID"
            },
            "sqlType": {
              "type": "string",
              "description": "SQL data type for the key column",
              "enum": ["VARCHAR2", "NUMBER", "RAW"],
              "default": "VARCHAR2"
            },
            "maxLength": {
              "type": "integer",
              "description": "Maximum length for VARCHAR2 key columns",
              "default": 255
            },
            "assignmentMethod": {
              "type": "string",
              "description": "Method for generating document keys",
              "enum": ["UUID", "GUID", "SEQUENCE", "CLIENT"],
              "default": "UUID"
            },
            "sequenceName": {
              "type": "string",
              "description": "Name of the sequence used when assignmentMethod is SEQUENCE"
            }
          }
        },
        "contentColumn": {
          "type": "object",
          "description": "Configuration for the document content column",
          "properties": {
            "name": {
              "type": "string",
              "description": "Column name for document content",
              "default": "JSON_DOCUMENT"
            },
            "sqlType": {
              "type": "string",
              "description": "SQL data type for content storage",
              "enum": ["JSON", "BLOB", "CLOB", "VARCHAR2"],
              "default": "JSON"
            },
            "compress": {
              "type": "string",
              "description": "Compression method for BLOB content",
              "enum": ["NONE", "HIGH", "MEDIUM", "LOW"]
            },
            "cache": {
              "type": "boolean",
              "description": "Whether to enable LOB caching"
            },
            "encrypt": {
              "type": "string",
              "description": "Encryption algorithm for content"
            },
            "validation": {
              "type": "string",
              "description": "JSON validation mode",
              "enum": ["STANDARD", "STRICT", "LAX"],
              "default": "STANDARD"
            },
            "maxLength": {
              "type": "integer",
              "description": "Maximum length for VARCHAR2 content columns"
            }
          }
        },
        "versionColumn": {
          "type": "object",
          "description": "Configuration for the document version column",
          "properties": {
            "name": {
              "type": "string",
              "description": "Column name for document version",
              "default": "VERSION"
            },
            "method": {
              "type": "string",
              "description": "Method for computing document versions",
              "enum": ["UUID", "TIMESTAMP", "SHA256", "MD5", "NONE"],
              "default": "UUID"
            }
          }
        },
        "lastModifiedColumn": {
          "type": "object",
          "description": "Configuration for the last modified timestamp column",
          "properties": {
            "name": {
              "type": "string",
              "description": "Column name for last modified timestamp",
              "default": "LAST_MODIFIED"
            },
            "index": {
              "type": "string",
              "description": "Name of the index on the last modified column"
            }
          }
        },
        "creationTimeColumn": {
          "type": "object",
          "description": "Configuration for the creation timestamp column",
          "properties": {
            "name": {
              "type": "string",
              "description": "Column name for creation timestamp",
              "default": "CREATED_ON"
            }
          }
        },
        "readOnly": {
          "type": "boolean",
          "description": "Whether the collection is read-only",
          "default": false
        },
        "mediaTypeColumn": {
          "type": "object",
          "description": "Configuration for the media type column (non-JSON content)",
          "properties": {
            "name": {
              "type": "string",
              "description": "Column name for media type"
            }
          }
        }
      }
    },
    "links": {
      "type": "array",
      "description": "Navigation links for the collection",
      "items": {
        "type": "object",
        "properties": {
          "rel": {
            "type": "string",
            "description": "Link relation type"
          },
          "href": {
            "type": "string",
            "format": "uri",
            "description": "Link URL"
          },
          "mediaType": {
            "type": "string",
            "description": "Media type of the linked resource"
          }
        }
      }
    }
  },
  "required": ["name"]
}