PackagesCanonicalsLogsProblems
    Packages
    io.health-samurai.core.r4@0.2609.0
    http://health-samurai.io/fhir/core/StructureDefinition/aidboxmaterialization-pgProfile
description: 'PostgreSQL materialization: the schema and object name to build, and which kind of object to build.'
package_name: io.health-samurai.core.r4
derivation: constraint
name: PgProfile
type: AidboxMaterialization
elements:
  parameter:
    index: 0
    slicing:
      rules: closed
      discriminator:
      - {path: name, type: pattern}
      min: null
      slices:
        schema:
          match: {name: schema}
          schema:
            _required: true
            index: 1
            elements:
              name:
                pattern: {type: String, value: schema}
                index: 2
              value:
                constraint:
                  materialization-pg-identifier: {human: 'must be a plain SQL identifier: letters, digits or underscore, not starting with a digit', severity: error, expression: '$this.matches(''^[A-Za-z_][A-Za-z0-9_]*$'')'}
                choices: [valueString]
                index: 4
              valueString:
                type: string
                constraint:
                  materialization-pg-identifier: {human: 'must be a plain SQL identifier: letters, digits or underscore, not starting with a digit', severity: error, expression: '$this.matches(''^[A-Za-z_][A-Za-z0-9_]*$'')'}
                choiceOf: value
                index: 5
              resource: {index: 6}
              part: {index: 7}
            required: [valueString, value]
        name:
          match: {name: name}
          schema:
            _required: true
            index: 8
            elements:
              name:
                pattern: {type: String, value: name}
                index: 9
              value:
                constraint:
                  materialization-pg-identifier: {human: 'must be a plain SQL identifier: letters, digits or underscore, not starting with a digit', severity: error, expression: '$this.matches(''^[A-Za-z_][A-Za-z0-9_]*$'')'}
                choices: [valueString]
                index: 11
              valueString:
                type: string
                constraint:
                  materialization-pg-identifier: {human: 'must be a plain SQL identifier: letters, digits or underscore, not starting with a digit', severity: error, expression: '$this.matches(''^[A-Za-z_][A-Za-z0-9_]*$'')'}
                choiceOf: value
                index: 12
              resource: {index: 13}
              part: {index: 14}
            required: [valueString, value]
        materializationType:
          match: {name: materializationType}
          schema:
            index: 15
            elements:
              name:
                pattern: {type: String, value: materializationType}
                index: 16
              value:
                constraint:
                  materialization-pg-object-type: {human: 'materializationType shall be one of: view, materialized-view', severity: error, expression: $this.subsetOf('view' | 'materialized-view')}
                choices: [valueCode]
                index: 18
              valueCode:
                type: code
                constraint:
                  materialization-pg-object-type: {human: 'materializationType shall be one of: view, materialized-view', severity: error, expression: $this.subsetOf('view' | 'materialized-view')}
                choiceOf: value
                index: 19
              resource: {index: 20}
              part: {index: 21}
            required: [valueCode, value]
package_version: 0.2609.0
class: profile
kind: resource
url: http://health-samurai.io/fhir/core/StructureDefinition/aidboxmaterialization-pgProfile
base: http://health-samurai.io/fhir/core/StructureDefinition/AidboxMaterialization
version: 0.2609.0