MINI MINI MANI MO
<?xml version="1.0"?>
<!--
Copyright (c) 2007, 20014, Oracle and/or its affiliates. All rights reserved.
NAME
kusmvt.xsd
DESCRIPTION
XML Schema types for MATERIALIZED_VIEW SXML.
MODIFIED MM/DD/YY
tbhukya 03/02/16 - Bug 22846023: Add ON_STATEMENT element
tbhukya 05/08/15 - Bug 21038781: DBC support for MV
rapayne 04/21/14 - 12.2 project #47749 (never stale MV)
lbarton 06/03/08 - bug 6120168: parsed queries
lbarton 01/03/08 - bug 6720629: column aliases
lbarton 12/19/07 - Bug 6655531: customer area
lbarton 11/15/06 - diff support
htseng 09/29/05 - Initial version
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ku="http://xmlns.oracle.com/ku" targetNamespace="http://xmlns.oracle.com/ku" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:include schemaLocation="kuscomm.xsd"/>
<xsd:include schemaLocation="kustablt.xsd"/>
<xsd:complexType name="MATERIALIZED_VIEWType">
<xsd:sequence>
<xsd:group ref="ku:SCHEMA_NAMEGroup"/>
<xsd:element name="COL_LIST" type="ku:SimpleCOL_LISTType" minOccurs="0"/>
<xsd:element name="OF_TYPE" type="ku:OFSchemaNameType" minOccurs="0"/>
<!-- scope_constraint_definition -->
<xsd:element name="SCOPE_CONSTRAINT_LIST" type="ku:SCOPE_CONSTRAINT_LISTType" minOccurs="0"/>
<xsd:element name="DEFAULT_COLLATION" type="ku:char128ElementWithValue1" minOccurs="0"/>
<xsd:choice>
<xsd:element name="ON_PREBUILT_TABLE" type="ku:PreBuiltTableType"/>
<xsd:group ref="ku:MViewPropertiesGroup"/>
</xsd:choice>
<xsd:choice>
<xsd:element name="USING_NO_INDEX" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="INDEX_ATTRIBUTES" type="ku:INDEX_ATTRIBUTESType" minOccurs="0"/>
</xsd:choice>
<xsd:choice>
<xsd:element name="NEVER_REFRESH" type="ku:EmptyType"/>
<xsd:element name="REFRESH" type="ku:RefreshClause"/>
</xsd:choice>
<xsd:element name="FOR_UPDATE" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="QUERY_REWRITE" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="QUERY_COMPUTATION" type="ku:EmptyType" minOccurs="0"/>
<xsd:choice>
<xsd:element name="SUBQUERY" type="ku:stringElementWithValue1"/>
<xsd:element name="PARSED_SUBQUERY" type="ku:PrsQueryType"/>
</xsd:choice>
<xsd:element name="CUSTOMER_AREA" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="version" type="ku:vsn" use="required"/>
<xsd:attribute name="version2" type="ku:vsn"/>
<!-- ***********************************************************************
schema for MATERIALIZED_VIEW
complexType for MATERIALIZED_VIEWType
SCHEMA NAME
[ COL_LIST ]
[ OF_TYPE ] Schema Name
[ SCOPE_CONSTRAINT_LIST ] Scope_constraint_definition
[ ON_PREBUILT_TABLE | Physical_Properities,Materialized_view_properities ]
[ USING_NO_INDEX | Index_Attributes ]
[ NEVER_REFRESH | REFRESH Refresh_clause ]
[ FOR_UPDATE ]
[ QUERY_REWRITE ]
Subquery_Clause
[ CUSTOMER_AREA ]
************************************************************************ -->
</xsd:complexType>
<xsd:complexType name="OFSchemaNameType">
<xsd:sequence>
<xsd:group ref="ku:SCHEMA_NAMEGroup"/>
</xsd:sequence>
<!-- **********************************************************************
complexType for OFSchemaNameType
SCHEMA
NAME
*********************************************************************** -->
</xsd:complexType>
<!-- prebuilt_table_clause -->
<xsd:complexType name="PreBuiltTableType">
<xsd:sequence>
<xsd:element name="REDUCED_PRECISION" type="ku:YNElementWithValue1"/>
</xsd:sequence>
<!-- ************************************************************************
complexType for PreBuiltTableType
REDUCED_PRECISION Y/N
************************************************************************* -->
</xsd:complexType>
<xsd:group name="MViewPropertiesGroup">
<xsd:sequence>
<xsd:element name="PHYSICAL_PROPERTIES" type="ku:PhysicalPropertiesType"/>
<xsd:element name="COLUMN_PROPERTIES" type="ku:COLUMN_PROPERTIESType" minOccurs="0"/>
<xsd:choice id="TablePartitioning" minOccurs="0">
<xsd:element name="RANGE_PARTITIONING" type="ku:RANGE_PARTITIONINGType"/>
<xsd:element name="HASH_PARTITIONING" type="ku:HASH_PARTITIONINGType"/>
<xsd:element name="LIST_PARTITIONING" type="ku:LIST_PARTITIONINGType"/>
</xsd:choice>
<xsd:element name="CACHE" type="ku:EmptyType" minOccurs="0"/>
<xsd:choice>
<xsd:element name="PARALLEL" type="ku:PARALLELTypeWithValue1" minOccurs="0"/>
<xsd:element name="PARALLEL_DEGREE" type="ku:OldPARALLELType" minOccurs="0"/>
</xsd:choice>
<xsd:element name="BUILD" type="ku:BuildTypeNameWithValue1" minOccurs="0"/>
</xsd:sequence>
<!-- *************************************************************************
Materialized view Properties clause
group for MViewPropertiesGroup
[ Column_Properites ]
[ Table_Partitioning ]
[ CACHE]
[ Parallel_Clause ]
[ Build_Clause ]
************************************************************************** -->
</xsd:group>
<!-- build_clause -->
<xsd:simpleType name="BuildTypeName">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IMMEDIATE"/>
<xsd:enumeration value="DEFERRED"/>
</xsd:restriction>
<!-- ************************************************************************
simpleType for BuildTypeName
Value is IMMEDIATE or DEFERRED
************************************************************************** -->
</xsd:simpleType>
<xsd:complexType name="BuildTypeNameWithValue1">
<xsd:simpleContent>
<xsd:extension base="ku:BuildTypeName">
<xsd:attribute name="value1" type="ku:BuildTypeName"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="RefreshClause">
<xsd:sequence>
<xsd:choice>
<xsd:element name="FAST" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="COMPLETE" type="ku:EmptyType" minOccurs="0"/>
</xsd:choice>
<xsd:element name="ON_COMMIT" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="ON_STATEMENT" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="START_WITH" type="ku:char128ElementWithValue1" minOccurs="0"/>
<xsd:element name="NEXT" type="ku:char128ElementWithValue1" minOccurs="0"/>
<xsd:choice>
<xsd:element name="WITH_PRIMARY_KEY" type="ku:EmptyType" minOccurs="0"/>
<xsd:element name="WITH_ROWID" type="ku:EmptyType" minOccurs="0"/>
</xsd:choice>
<xsd:element name="MASTER_ROLLBACK_SEGMENT" type="ku:RollBackSegClause" minOccurs="0"/>
<xsd:element name="LOCAL_ROLLBACK_SEGMENT" type="ku:RollBackSegClause" minOccurs="0"/>
<xsd:element name="CONSTRAINTS" type="ku:RefreshConstraintWithValue1" minOccurs="0"/>
</xsd:sequence>
<!-- *************************************************************************
complexType for RefreshClause
[ FAST | COMPLETE ]
[ ON_COMMIT ]
[ START_WITH | NEXT ]
[ WITH_PRIMARY_KEY |WITH_ROWID ]
[ MASTER_ROLLBACK_SEGMENT ]
[ LOCAL_ROLLBACK_SEGMENT ]
[ CONSTRAINTS ]
************************************************************************** -->
</xsd:complexType>
<xsd:complexType name="RollBackSegClause">
<xsd:sequence>
<xsd:choice>
<xsd:element name="NAME" type="ku:char4000ElementWithValue1" minOccurs="0"/>
<xsd:element name="DEFAULT" type="ku:EmptyType" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>
<!-- **************************************************************************
complexType for RollBackSegClause
NAME Rollcack_Segment or DEFAULT
*************************************************************************** -->
</xsd:complexType>
<xsd:simpleType name="RefreshConstraint">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TRUSTED"/>
<xsd:enumeration value="ENFORCED"/>
</xsd:restriction>
<!-- *************************************************************************
simpleType for RefreshConstraint
VALUE is TRUSTED or ENFORCED
*************************************************************************** -->
</xsd:simpleType>
<xsd:complexType name="RefreshConstraintWithValue1">
<xsd:simpleContent>
<xsd:extension base="ku:RefreshConstraint">
<xsd:attribute name="value1" type="ku:RefreshConstraint"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
OHA YOOOO