Changeset 8064
- Timestamp:
- 18/01/12 11:46:07 (9 years ago)
- Location:
- mauRepo/xmi2sqlalchemy/trunk/src
- Files:
-
- 2 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/UmlToRDBM.java
r8060 r8064 36 36 import java.io.File; 37 37 import java.io.InputStream; 38 import java.util.ArrayList; 39 import java.util.HashMap; 40 import java.util.HashSet; 41 import java.util.Iterator; 42 import java.util.List; 38 43 import java.util.Map; 44 import java.util.Set; 39 45 import java.util.concurrent.Future; 40 46 47 import ndg.services.newmoon.collect.AttributeModel; 48 import ndg.services.newmoon.collect.ClassModel; 41 49 import ndg.services.newmoon.collect.CollectClasses; 50 import ndg.services.newmoon.collect.SuperAttribute; 42 51 import ndg.services.newmoon.velocity.python.GenerateClasses; 43 52 import ndg.services.newmoon.velocity.python.GenerateFromClassModel; … … 47 56 48 57 import org.apache.commons.io.FileUtils; 58 import org.slf4j.Logger; 59 import org.slf4j.LoggerFactory; 49 60 50 61 /** … … 54 65 public class UmlToRDBM { 55 66 67 private final Logger logger = LoggerFactory.getLogger(UmlToRDBM.class); 68 56 69 public void execute(Map<NewmoonManager.NM_PARAM, String> params) { 57 70 try { … … 75 88 //Generates the ClassModels 76 89 CollectClasses cc = new CollectClasses(umlArchive); 77 umlArchive.getClassModel().addAll(cc.execute()); 90 List<ClassModel> cms = cc.execute(); 91 umlArchive.getClassModel().addAll(cms); 92 93 //Update the ClassModels substituting the SuperAttributes when necessary 94 substitutesSuperAttributes(cms); 78 95 79 96 //Generates the python classes … … 93 110 } 94 111 112 113 private void substitutesSuperAttributes(List<ClassModel> cms) { 114 //creates a map between parents and childrens (classes and their subclasses) 115 Map<ClassModel, Set<ClassModel>> pc = new HashMap<ClassModel, Set<ClassModel>>(); 116 for (ClassModel cm : cms) { 117 for(ClassModel cmp : cm.getParents()) { 118 if (!pc.containsKey(cmp)) { 119 pc.put(cmp, new HashSet<ClassModel>()); 120 } 121 pc.get(cmp).add(cm); 122 } 123 } 124 125 //removes the item which has zero or one mapping 126 StringBuffer sb = new StringBuffer(); 127 Iterator<ClassModel> iter = pc.keySet().iterator(); 128 while(iter.hasNext()) { 129 ClassModel umlClass = iter.next(); 130 if (pc.get(umlClass).size() <= 1) { 131 iter.remove(); 132 continue; 133 } 134 sb.append(umlClass.getAssociatedClass().getName()); 135 sb.append(": "); 136 for (ClassModel ic : pc.get(umlClass)) { 137 sb.append(ic.getAssociatedClass().getName()); 138 sb.append(", "); 139 } 140 sb.append("\n"); 141 logger.info(sb.toString()); 142 sb.delete(0, sb.length()); 143 } 144 145 // 146 Map<ClassModel, Set<ClassModel>> classUsers = new HashMap<ClassModel, Set<ClassModel>>(); 147 for (ClassModel cm : cms) { 148 Iterator<AttributeModel> iterAttr = cm.getAttributeModel().iterator(); 149 Set<SuperAttribute> sas = new HashSet<SuperAttribute>(); 150 while (iterAttr.hasNext()) { 151 AttributeModel attr = iterAttr.next(); 152 if (attr == null 153 || attr.getAssociatedType() == null 154 || attr.getAssociatedType().getAssociatedClass() == null 155 || !pc.containsKey(attr.getAssociatedType()) 156 || attr instanceof SuperAttribute 157 || attr.getAssociatedType().getAssociatedClass().getUmlPackage().toString().contains("19103")) { 158 continue; 159 } 160 161 SuperAttribute sa = new SuperAttribute(attr); 162 sa.getSubTypes().addAll(pc.get(attr.getAssociatedType())); 163 iterAttr.remove(); 164 sas.add(sa); 165 if (!classUsers.containsKey(attr.getAssociatedType())) { 166 classUsers.put(attr.getAssociatedType(), new HashSet<ClassModel>()); 167 } 168 classUsers.get(attr.getAssociatedType()).add(cm); 169 } 170 cm.getAttributeModel().addAll(sas); 171 } 172 logger.info("\n Users list \n"); 173 iter = classUsers.keySet().iterator(); 174 while(iter.hasNext()) { 175 ClassModel umlClass = iter.next(); 176 sb.append(umlClass.getAssociatedClass().getName()); 177 sb.append(": "); 178 for (ClassModel ic : classUsers.get(umlClass)) { 179 sb.append(ic.getAssociatedClass().getName()); 180 sb.append(", "); 181 } 182 sb.append("\n"); 183 logger.info(sb.toString()); 184 sb.delete(0, sb.length()); 185 } 186 } 95 187 } -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/collect/AttributeModel.java
r8043 r8064 70 70 this.voidable = voidable; 71 71 this.collectionType = collectionType; 72 } 73 74 public AttributeModel(AttributeModel am) { 75 this.associatedType = am.getAssociatedType(); 76 this.name = am.getName(); 77 this.lowerBound = am.getLowerBound(); 78 this.upperBound = am.getUpperBound(); 79 this.lenght = am.getLenght(); 80 this.voidable = am.isVoidable(); 81 this.collectionType = am.getCollectionType(); 72 82 } 73 83 -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/collect/CollectClassModel.java
r8060 r8064 41 41 42 42 /** 43 * Retrieves from a {@link ClassModel}collection. Looping over a collection44 * of {@link UMLClass} <code>Closure</code> pick ups {@link ClassModel} instances43 * Retrieves {@link ClassModel}s from a internal collection. Looping over a collection 44 * of {@link UMLClass} this <code>Closure</code> pick ups {@link ClassModel} instances 45 45 * from the <code>Collection</code> passed in the constructor which acts as reference collection. 46 46 * -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/GenerateTables.java
r8060 r8064 101 101 102 102 public void execute(UMLModel umlModel) throws IOException { 103 //Extracts the ClassModels belonging only to the given UMLModel 103 104 CollectClassModel ccm = new CollectClassModel(umlArchive.getClassModel()); 104 105 CollectionUtils.forAllDo(umlArchive.getUMLClassesByUMLModel(umlModel), ccm); 105 106 107 //Adds some customer required ClassModel not directly binded to the given UMLModel 106 108 processOrphans(ccm); 107 109 110 //Generates the TableModels 108 111 GenerateTablesClosure closure = new GenerateTablesClosure(umlArchive); 109 112 CollectionUtils.forAllDo(ccm.getResult(), closure); 113 //then writes the result out 110 114 writeAll(closure); 111 115 } … … 122 126 while (iter.hasNext()) { 123 127 item = iter.next(); 124 if (item instanceof TableModel && (((TableModel)item).isSkipIt()125 || ((TableModel)item).getAssociatedClass().equals("EARootClass")))128 if (item instanceof TableModel && 129 ((TableModel)item).getAssociatedClass().equals("EARootClass")) 126 130 continue; 127 131 -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/GenerateTablesClosure.java
r8060 r8064 40 40 import ndg.services.newmoon.collect.AttributeModel; 41 41 import ndg.services.newmoon.collect.ClassModel; 42 import ndg.services.newmoon.collect.SuperAttribute; 42 43 import ndg.services.newmoon.velocity.python.support.AssociationTable; 43 44 import ndg.services.newmoon.velocity.python.support.ForeignKey; … … 123 124 return getTableModel(classModel); 124 125 125 TableModel tm = new TableModel(classModel .getAssociatedClass());126 TableModel tm = new TableModel(classModel); 126 127 tableModels.add(tm); 127 128 collectData(tm); … … 136 137 } 137 138 139 private void processSuperAttribute() { 140 141 } 142 138 143 private void parseAttributes(TableModel parent) throws NewmoonException, 139 144 IOException { 140 145 AttributeModel am = null; 141 Iterator<AttributeModel> iter = getClassModel(parent.getAssociatedClass()) 142 .getAttributeModel().iterator(); 146 Iterator<AttributeModel> iter = parent.getAssociatedClassModel().getAttributeModel().iterator(); 143 147 while (iter.hasNext()) { 144 148 am = iter.next(); 149 150 if (am instanceof SuperAttribute) 151 continue; 152 145 153 ClassModel cm = am.getAssociatedType(); 146 154 … … 218 226 219 227 private boolean tableModelExists(ClassModel classModel) { 220 return tableModels.contains(new TableModel(classModel 221 .getAssociatedClass())); 228 return tableModels.contains(new TableModel(classModel)); 222 229 } 223 230 224 231 private TableModel getTableModel(ClassModel classModel) { 225 TableModel tm = new TableModel(classModel .getAssociatedClass());232 TableModel tm = new TableModel(classModel); 226 233 if (tableModels.contains(tm)) { 227 234 for (TableModel model : tableModels) { -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/PythonAttributeModel.java
r8048 r8064 32 32 package ndg.services.newmoon.velocity.python; 33 33 34 import java.util.ArrayList; 35 import java.util.List; 36 34 37 import ndg.services.newmoon.collect.AttributeModel; 35 38 import ndg.services.newmoon.collect.ClassModel; … … 41 44 public class PythonAttributeModel extends AttributeModel { 42 45 private final ClassModel owner; 43 private final String typeName; 46 private final String typeName; 47 44 48 /** 45 49 * @param name … … 48 52 */ 49 53 public PythonAttributeModel(AttributeModel am, ClassModel owner, String typeName) { 50 super(am.getAssociatedType(), 51 am.getName(), 52 am.getLowerBound(), 53 am.getUpperBound(), 54 am.getLenght(), 55 am.isVoidable(), 56 am.getCollectionType()); 54 super(am); 57 55 this.owner = owner; 58 56 this.typeName = typeName; -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/PythonClassModel.java
r8048 r8064 40 40 import ndg.services.newmoon.collect.AttributeModel; 41 41 import ndg.services.newmoon.collect.ClassModel; 42 import ndg.services.newmoon.collect.SuperAttribute; 42 43 import ndg.services.newmoon.velocity.python.support.ASCodeList; 43 44 import ndg.services.newmoon.velocity.python.support.ASEnumeration; … … 46 47 47 48 import org.apache.commons.collections.CollectionUtils; 49 import org.hamcrest.core.IsInstanceOf; 48 50 49 51 /** … … 92 94 93 95 CollectionUtils.addIgnoreNull(toImport, getStereotypeDummy(this.getStereotype())); 94 96 95 97 if (this.isUnion()) { 96 98 CollectionUtils.addAll(toImport, this.getAttributeModel().iterator()); 99 } 100 for (AttributeModel am : this.getAttributeModel()) { 101 if (am instanceof SuperAttribute) { 102 toImport.add(am); 103 } 97 104 } 98 105 … … 143 150 144 151 private PythonAttributeModel generatePythonAttribute(AttributeModel am, ClassModel owner) { 152 145 153 if (am == null 146 154 || am.getAssociatedType() == null … … 153 161 name = imp[1]; 154 162 } 155 return new PythonAttributeModel(am, 156 owner, 157 skipIt() ? null : name); 163 164 if (am instanceof SuperAttribute) { 165 return new PythonSuperAttributeModel((SuperAttribute)am, owner, skipIt() ? null : name); 166 } else { 167 return new PythonAttributeModel(am, owner, skipIt() ? null : name); 168 } 158 169 } 159 170 -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/PythonImportClosure.java
r8009 r8064 37 37 import ndg.services.newmoon.collect.AttributeModel; 38 38 import ndg.services.newmoon.collect.ClassModel; 39 import ndg.services.newmoon.collect.SuperAttribute; 39 40 import ndg.services.newmoon.velocity.python.support.ImportCollector; 40 41 import ndg.services.newmoon.velocity.python.support.TableModel; … … 56 57 if (input == null) 57 58 return; 59 60 if (input instanceof SuperAttribute) { 61 SuperAttribute am = ((SuperAttribute)input); 62 for (ClassModel cm : am.getSubTypes()) { 63 importCollector.updateImports(((ClassModel)cm).getAssociatedClass()); 64 } 65 return; 66 } 67 58 68 UMLClassDataType umlType = null; 59 69 if (input instanceof UMLClassDataType) { -
mauRepo/xmi2sqlalchemy/trunk/src/main/java/ndg/services/newmoon/velocity/python/support/TableModel.java
r8009 r8064 37 37 38 38 import ndg.services.newmoon.collect.AttributeModel; 39 import ndg.services.newmoon.collect.ClassModel; 39 40 import ndg.services.newmoon.xmiModel.UMLClass; 40 41 … … 44 45 */ 45 46 public class TableModel implements ExportModel, Comparable<TableModel>{ 46 private final UMLClass associatedClass;47 private final Set<AttributeModel> attributeModel = new HashSet<AttributeModel>(); 47 private final ClassModel associatedClassModel; 48 private final Set<AttributeModel> attributeModel = new HashSet<AttributeModel>(); 48 49 private final Set<ForeignKey> fk = new HashSet<ForeignKey>(); 49 50 private final Set<Relationship> relationship = new HashSet<Relationship>(); 50 51 private final Set<TableModel> inherited = new HashSet<TableModel>(); 51 52 private final Set<OverriddenAttribute> oa = new HashSet<OverriddenAttribute>(); 52 private final boolean skipIt;53 53 //Defines if this tables is inherited from one or more other tables 54 54 private boolean hasChildren = false; 55 /** 56 * @param associatedClass 57 */ 58 public TableModel(UMLClass associatedClass, boolean skipIt) { 59 super(); 60 this.associatedClass = associatedClass; 61 this.skipIt = skipIt; 62 } 63 55 64 56 /** 65 57 * Sets skipIt as <code>false</code> by default. Because the {@link #equals(Object)} … … 67 59 * can be used as dummy id to scan a <code>Collection\<TableModel\></code> 68 60 * */ 69 public TableModel(UMLClass associatedClass) { 70 this(associatedClass, false); 61 public TableModel(ClassModel associatedClassModel) { 62 this.associatedClassModel = associatedClassModel; 63 } 64 65 /** 66 * @return the associatedClassModel 67 */ 68 public ClassModel getAssociatedClassModel() { 69 return associatedClassModel; 71 70 } 72 71 72 73 73 74 /** 74 75 * @return the hasChildren … … 86 87 87 88 /** 88 * @return the skipIt89 */90 public boolean isSkipIt() {91 return skipIt;92 }93 94 95 96 /**97 89 * @return the associatedClass 98 90 */ 99 91 public UMLClass getAssociatedClass() { 100 return associatedClass ;92 return associatedClassModel.getAssociatedClass(); 101 93 } 102 94 … … 151 143 final int prime = 31; 152 144 int result = 1; 153 result = prime * result + (( associatedClass == null) ? 0 : associatedClass.hashCode());145 result = prime * result + ((getAssociatedClass() == null) ? 0 : getAssociatedClass().hashCode()); 154 146 return result; 155 147 } … … 166 158 return false; 167 159 TableModel other = (TableModel) obj; 168 if ( associatedClass== null) {169 if (other. associatedClass!= null)160 if (getAssociatedClass() == null) { 161 if (other.getAssociatedClass() != null) 170 162 return false; 171 } else if (! associatedClass.equals(other.associatedClass))163 } else if (!getAssociatedClass().equals(other.getAssociatedClass())) 172 164 return false; 173 165 return true; … … 181 173 @Override 182 174 public String toString() { 183 return "TableModel [associatedClass=" + associatedClass+ "]";175 return "TableModel [associatedClass=" + getAssociatedClass() + "]"; 184 176 } 185 177 -
mauRepo/xmi2sqlalchemy/trunk/src/main/resources/global_library.vm
r8041 r8064 26 26 #foreach( $relation in $tableModel.relationship) 27 27 #relationColumn($tableModel, $relation)#if($foreach.hasNext),#end 28 #end 29 #foreach( $attribute in $tableModel.associatedClassModel.attributeModel) 30 #if($attribute.subTypes) 31 #foreach($sType in $attribute.subTypes) 32 '_${sType.associatedClass.name.toLowerCase()}': relationship(${sType.associatedClass.name}, uselist=False, backref='${tableModel.associatedClassModel.associatedClass.name.toLowerCase()}_${attribute.name}')#if($foreach.hasNext),#end 33 #end 34 #end 28 35 #end 29 36 #end -
mauRepo/xmi2sqlalchemy/trunk/src/main/resources/velocity/python/pythonClass.vm
r8048 r8064 57 57 ${tab}${tab}return self._${attribute.getParentName().toLowerCase()}.${attribute.name} 58 58 #end 59 #if($attribute.subTypes) 60 ${tab}@property 61 ${tab}def ${attribute.name}(self): 62 #foreach($type in $attribute.subTypes) 63 #set ( $assoClass = "$type.associatedClass.name.toLowerCase()") 64 ${tab}${tab}if(self._$assoClass is not None): 65 ${tab}${tab}${tab}return self._$assoClass 66 #end 67 ${tab}${tab}return None 68 #end 69 #end 70 71 #macro(saSetter $type, $sTypes) 72 #foreach($stype in $sTypes) 73 #if(!$stype.equals($type)) 74 ${tab}${tab}${tab}self._${stype.associatedClass.name.toLowerCase()}#initAttributeLeft($stype) 75 #end 76 #end 77 #end 78 79 #macro(initAttributeLeft $attrL) 80 #if($attrL.hasMultiplicity()) = [] 81 #else = None 82 #end 59 83 #end 60 84 … … 65 89 ${tab}def ${attribute.name}(self, value): 66 90 ${tab}${tab}${tab} self._${attribute.getParentName().toLowerCase()}.${attribute.name} = value 91 #end 92 #if($attribute.subTypes) 93 ${tab}@${attribute.name}.setter 94 ${tab}def ${attribute.name}(self, value): 95 #foreach($type in $attribute.subTypes) 96 #set ( $assoClass = "$type.associatedClass.name") 97 #set ( $assoClassL = "$type.associatedClass.name.toLowerCase()") 98 ${tab}${tab}if isinstance(value, $assoClass): 99 ${tab}${tab}${tab}self._$assoClassL = value 100 #saSetter($type, $attribute.subTypes) 101 #end 67 102 #end 68 103 #end … … 77 112 #end 78 113 114 #macro( subTypes $subTypes) 115 #foreach($type in $subTypes) 116 ${tab}${tab}self._${type.associatedClass.name.toLowerCase()}#initAttributeLeft($type) 117 #end 118 #end 119 79 120 #macro( attributes $attributes, $parents) 80 121 #if($parents) … … 83 124 #end 84 125 #end 126 85 127 #foreach($attribute in $attributes) 86 ${tab}${tab}self.${attribute.name} #if($attribute.hasMultiplicity()) = [] 87 #else = None 128 #if($attribute.subTypes) 129 #subTypes($attribute.subTypes) 130 #else 131 ${tab}${tab}self.${attribute.name}#initAttributeLeft($attribute) 88 132 #end 89 133 #end 90 134 #end 135 91 136 92 137 #importing($imports) -
mauRepo/xmi2sqlalchemy/trunk/src/main/resources/velocity/python/sqlAlchemyTables.vm
r8041 r8064 11 11 ARRAY(#substituteDBType(${attribute.associatedType.associatedClass.name}))#else 12 12 #substituteDBType(${attribute.associatedType.associatedClass.name})#end 13 #end14 15 #macro( column $attribute)16 Column('${attribute.name}', #attributeType(${attribute}) #checkNullable($attribute)),17 13 #end 18 14 … … 48 44 #end 49 45 46 #macro( column $attribute) 47 Column('${attribute.name}', #attributeType(${attribute}) #checkNullable($attribute)), 48 #end 50 49 50 #macro( superColumn $tableModel) 51 #foreach( $attribute in $tableModel.associatedClassModel.attributeModel) 52 #if($attribute.subTypes) 53 #foreach($sType in $attribute.subTypes) 54 #set ($associatedCN = ${sType.associatedClass.name.toLowerCase()}) 55 Column('_${associatedCN}_id', Integer, ForeignKey('${associatedCN}.id')), 56 #end 57 #end 58 #end 59 #end 51 60 52 61 #macro( table $tableModel) … … 60 69 ${tab}#column($attribute) 61 70 #end 71 ${tab}#superColumn($tableModel) 62 72 ${tab}extend_existing=False,) 63 73 #end -
mauRepo/xmi2sqlalchemy/trunk/src/test/java/ngn/services/newmoon/TestsTester.java
r8060 r8064 72 72 // testParseXmlFile("TestModel10"); 73 73 // testParseXmlFile("TestModel11"); 74 testParseXmlFile("TestModel12");74 // testParseXmlFile("TestModel12"); 75 75 testParseXmlFile("TestModel13"); 76 76 } -
mauRepo/xmi2sqlalchemy/trunk/src/test/resources/removeAll
r8048 r8064 19 19 ORDER BY 1; 20 20 21 "DROP SEQUENCE IF EXISTS any_id_seq CASCADE;" 22 "DROP SEQUENCE IF EXISTS cc_concatenatedoperation_id_seq CASCADE;" 23 "DROP SEQUENCE IF EXISTS cc_conversion_id_seq CASCADE;" 24 "DROP SEQUENCE IF EXISTS cc_coordinateoperation_id_seq CASCADE;" 25 "DROP SEQUENCE IF EXISTS cc_formula_id_seq CASCADE;" 26 "DROP SEQUENCE IF EXISTS cc_generaloperationparameter_id_seq CASCADE;" 27 "DROP SEQUENCE IF EXISTS cc_generalparametervalue_id_seq CASCADE;" 28 "DROP SEQUENCE IF EXISTS cc_operationmethod_id_seq CASCADE;" 29 "DROP SEQUENCE IF EXISTS cc_operationparametergroup_id_seq CASCADE;" 30 "DROP SEQUENCE IF EXISTS cc_parametervaluegroup_id_seq CASCADE;" 31 "DROP SEQUENCE IF EXISTS cc_passthroughoperation_id_seq CASCADE;" 32 "DROP SEQUENCE IF EXISTS cc_singleoperation_id_seq CASCADE;" 33 "DROP SEQUENCE IF EXISTS cd_datum_id_seq CASCADE;" 34 "DROP SEQUENCE IF EXISTS cd_verticaldatum_id_seq CASCADE;" 35 "DROP SEQUENCE IF EXISTS ceda_acquisition_id_seq CASCADE;" 36 "DROP SEQUENCE IF EXISTS ceda_citation_id_seq CASCADE;" 37 "DROP SEQUENCE IF EXISTS ceda_compositeprocess_id_seq CASCADE;" 38 "DROP SEQUENCE IF EXISTS ceda_instrument_id_seq CASCADE;" 39 "DROP SEQUENCE IF EXISTS ceda_notes_id_seq CASCADE;" 40 "DROP SEQUENCE IF EXISTS ceda_observationcollection_id_seq CASCADE;" 41 "DROP SEQUENCE IF EXISTS ceda_observation_id_seq CASCADE;" 42 "DROP SEQUENCE IF EXISTS ceda_operation_id_seq CASCADE;" 43 "DROP SEQUENCE IF EXISTS ceda_platform_id_seq CASCADE;" 44 "DROP SEQUENCE IF EXISTS ceda_process_id_seq CASCADE;" 45 "DROP SEQUENCE IF EXISTS ceda_processing_id_seq CASCADE;" 46 "DROP SEQUENCE IF EXISTS ceda_project_id_seq CASCADE;" 47 "DROP SEQUENCE IF EXISTS ceda_result_id_seq CASCADE;" 48 "DROP SEQUENCE IF EXISTS ceda_review_id_seq CASCADE;" 49 "DROP SEQUENCE IF EXISTS ci_address_id_seq CASCADE;" 50 "DROP SEQUENCE IF EXISTS ci_citation_id_seq CASCADE;" 51 "DROP SEQUENCE IF EXISTS ci_contact_id_seq CASCADE;" 52 "DROP SEQUENCE IF EXISTS ci_date_id_seq CASCADE;" 53 "DROP SEQUENCE IF EXISTS ci_individual_id_seq CASCADE;" 54 "DROP SEQUENCE IF EXISTS ci_onlineresource_id_seq CASCADE;" 55 "DROP SEQUENCE IF EXISTS ci_organisation_id_seq CASCADE;" 56 "DROP SEQUENCE IF EXISTS ci_party_id_seq CASCADE;" 57 "DROP SEQUENCE IF EXISTS ci_responsibility_id_seq CASCADE;" 58 "DROP SEQUENCE IF EXISTS ci_responsibleparty_id_seq CASCADE;" 59 "DROP SEQUENCE IF EXISTS ci_responsiblepartyinfo_id_seq CASCADE;" 60 "DROP SEQUENCE IF EXISTS ci_series_id_seq CASCADE;" 61 "DROP SEQUENCE IF EXISTS ci_telephone_id_seq CASCADE;" 62 "DROP SEQUENCE IF EXISTS class13_0_id_seq CASCADE;" 63 "DROP SEQUENCE IF EXISTS class13_1_id_seq CASCADE;" 64 "DROP SEQUENCE IF EXISTS class13_2_id_seq CASCADE;" 65 "DROP SEQUENCE IF EXISTS class13_3_id_seq CASCADE;" 66 "DROP SEQUENCE IF EXISTS cl_dataset_id_seq CASCADE;" 67 "DROP SEQUENCE IF EXISTS clocktime_id_seq CASCADE;" 68 "DROP SEQUENCE IF EXISTS cs_coordinatesystemaxis_id_seq CASCADE;" 69 "DROP SEQUENCE IF EXISTS cs_coordinatesystem_id_seq CASCADE;" 70 "DROP SEQUENCE IF EXISTS cs_verticalcs_id_seq CASCADE;" 71 "DROP SEQUENCE IF EXISTS cv_attributevalues_id_seq CASCADE;" 72 "DROP SEQUENCE IF EXISTS cv_coverage_id_seq CASCADE;" 73 "DROP SEQUENCE IF EXISTS cv_domainobject_id_seq CASCADE;" 74 "DROP SEQUENCE IF EXISTS cv_footprint_id_seq CASCADE;" 75 "DROP SEQUENCE IF EXISTS cv_gridcell_id_seq CASCADE;" 76 "DROP SEQUENCE IF EXISTS cv_gridcoordinate_id_seq CASCADE;" 77 "DROP SEQUENCE IF EXISTS cv_gridenvelope_id_seq CASCADE;" 78 "DROP SEQUENCE IF EXISTS cv_grid_id_seq CASCADE;" 79 "DROP SEQUENCE IF EXISTS cv_gridpoint_id_seq CASCADE;" 80 "DROP SEQUENCE IF EXISTS cv_referenceablegrid_id_seq CASCADE;" 81 "DROP SEQUENCE IF EXISTS date_id_seq CASCADE;" 82 "DROP SEQUENCE IF EXISTS dateprecision_id_seq CASCADE;" 83 "DROP SEQUENCE IF EXISTS datetime_id_seq CASCADE;" 84 "DROP SEQUENCE IF EXISTS directposition_id_seq CASCADE;" 85 "DROP SEQUENCE IF EXISTS distance_id_seq CASCADE;" 86 "DROP SEQUENCE IF EXISTS dq_dataquality_id_seq CASCADE;" 87 "DROP SEQUENCE IF EXISTS dq_element_id_seq CASCADE;" 88 "DROP SEQUENCE IF EXISTS dq_positionalaccuracy_id_seq CASCADE;" 89 "DROP SEQUENCE IF EXISTS dq_result_id_seq CASCADE;" 90 "DROP SEQUENCE IF EXISTS dq_scope_id_seq CASCADE;" 91 "DROP SEQUENCE IF EXISTS ds_aggregate_id_seq CASCADE;" 92 "DROP SEQUENCE IF EXISTS ds_dataset_id_seq CASCADE;" 93 "DROP SEQUENCE IF EXISTS earootclass_id_seq CASCADE;" 94 "DROP SEQUENCE IF EXISTS ex_extent_id_seq CASCADE;" 95 "DROP SEQUENCE IF EXISTS ex_geographicdescription_id_seq CASCADE;" 96 "DROP SEQUENCE IF EXISTS ex_geographicextent_id_seq CASCADE;" 97 "DROP SEQUENCE IF EXISTS ex_temporalextent_id_seq CASCADE;" 98 "DROP SEQUENCE IF EXISTS ex_verticalextent_id_seq CASCADE;" 99 "DROP SEQUENCE IF EXISTS genericname_id_seq CASCADE;" 100 "DROP SEQUENCE IF EXISTS gf_associationrole_id_seq CASCADE;" 101 "DROP SEQUENCE IF EXISTS gf_associationtype_id_seq CASCADE;" 102 "DROP SEQUENCE IF EXISTS gf_attributetype_id_seq CASCADE;" 103 "DROP SEQUENCE IF EXISTS gf_constraint_id_seq CASCADE;" 104 "DROP SEQUENCE IF EXISTS gf_featuretype_id_seq CASCADE;" 105 "DROP SEQUENCE IF EXISTS gfi_feature_id_seq CASCADE;" 106 "DROP SEQUENCE IF EXISTS gf_inheritancerelation_id_seq CASCADE;" 107 "DROP SEQUENCE IF EXISTS gf_operation_id_seq CASCADE;" 108 "DROP SEQUENCE IF EXISTS gf_propertytype_id_seq CASCADE;" 109 "DROP SEQUENCE IF EXISTS gm_complex_id_seq CASCADE;" 110 "DROP SEQUENCE IF EXISTS gm_composite_id_seq CASCADE;" 111 "DROP SEQUENCE IF EXISTS gm_compositepoint_id_seq CASCADE;" 112 "DROP SEQUENCE IF EXISTS gm_object_id_seq CASCADE;" 113 "DROP SEQUENCE IF EXISTS gm_orientableprimitive_id_seq CASCADE;" 114 "DROP SEQUENCE IF EXISTS gm_point_id_seq CASCADE;" 115 "DROP SEQUENCE IF EXISTS gm_primitive_id_seq CASCADE;" 116 "DROP SEQUENCE IF EXISTS io_identifiedobjectbase_id_seq CASCADE;" 117 "DROP SEQUENCE IF EXISTS io_identifiedobject_id_seq CASCADE;" 118 "DROP SEQUENCE IF EXISTS le_algorithm_id_seq CASCADE;" 119 "DROP SEQUENCE IF EXISTS length_id_seq CASCADE;" 120 "DROP SEQUENCE IF EXISTS le_nominalresolution_id_seq CASCADE;" 121 "DROP SEQUENCE IF EXISTS le_source_id_seq CASCADE;" 122 "DROP SEQUENCE IF EXISTS li_lineage_id_seq CASCADE;" 123 "DROP SEQUENCE IF EXISTS li_processstep_id_seq CASCADE;" 124 "DROP SEQUENCE IF EXISTS li_source_id_seq CASCADE;" 125 "DROP SEQUENCE IF EXISTS localname_id_seq CASCADE;" 126 "DROP SEQUENCE IF EXISTS md_aggregateinformation_id_seq CASCADE;" 127 "DROP SEQUENCE IF EXISTS md_applicationschemainformation_id_seq CASCADE;" 128 "DROP SEQUENCE IF EXISTS md_browsegraphic_id_seq CASCADE;" 129 "DROP SEQUENCE IF EXISTS md_constraints_id_seq CASCADE;" 130 "DROP SEQUENCE IF EXISTS md_contentinformation_id_seq CASCADE;" 131 "DROP SEQUENCE IF EXISTS md_digitaltransferoptions_id_seq CASCADE;" 132 "DROP SEQUENCE IF EXISTS md_distribution_id_seq CASCADE;" 133 "DROP SEQUENCE IF EXISTS md_distributor_id_seq CASCADE;" 134 "DROP SEQUENCE IF EXISTS md_extendedelementinformation_id_seq CASCADE;" 135 "DROP SEQUENCE IF EXISTS md_format_id_seq CASCADE;" 136 "DROP SEQUENCE IF EXISTS md_identification_id_seq CASCADE;" 137 "DROP SEQUENCE IF EXISTS md_identifier_id_seq CASCADE;" 138 "DROP SEQUENCE IF EXISTS md_keywords_id_seq CASCADE;" 139 "DROP SEQUENCE IF EXISTS md_maintenanceinformation_id_seq CASCADE;" 140 "DROP SEQUENCE IF EXISTS md_medium_id_seq CASCADE;" 141 "DROP SEQUENCE IF EXISTS md_metadataextensioninformation_id_seq CASCADE;" 142 "DROP SEQUENCE IF EXISTS md_metadata_id_seq CASCADE;" 143 "DROP SEQUENCE IF EXISTS md_portrayalcataloguereference_id_seq CASCADE;" 144 "DROP SEQUENCE IF EXISTS md_referencesystem_id_seq CASCADE;" 145 "DROP SEQUENCE IF EXISTS md_representativefraction_id_seq CASCADE;" 146 "DROP SEQUENCE IF EXISTS md_scopedescription_id_seq CASCADE;" 147 "DROP SEQUENCE IF EXISTS md_spatialrepresentation_id_seq CASCADE;" 148 "DROP SEQUENCE IF EXISTS md_standardorderprocess_id_seq CASCADE;" 149 "DROP SEQUENCE IF EXISTS md_usage_id_seq CASCADE;" 150 "DROP SEQUENCE IF EXISTS measure_id_seq CASCADE;" 151 "DROP SEQUENCE IF EXISTS mo_acquisition_id_seq CASCADE;" 152 "DROP SEQUENCE IF EXISTS mo_compositeprocess_id_seq CASCADE;" 153 "DROP SEQUENCE IF EXISTS mo_computation_id_seq CASCADE;" 154 "DROP SEQUENCE IF EXISTS mo_inputoutput_id_seq CASCADE;" 155 "DROP SEQUENCE IF EXISTS mo_instrument_id_seq CASCADE;" 156 "DROP SEQUENCE IF EXISTS mo_instrumentplatformpair_id_seq CASCADE;" 157 "DROP SEQUENCE IF EXISTS mo_location_id_seq CASCADE;" 158 "DROP SEQUENCE IF EXISTS mo_observationcollection_id_seq CASCADE;" 159 "DROP SEQUENCE IF EXISTS mo_observation_id_seq CASCADE;" 160 "DROP SEQUENCE IF EXISTS mo_onlineresource_id_seq CASCADE;" 161 "DROP SEQUENCE IF EXISTS mo_operation_id_seq CASCADE;" 162 "DROP SEQUENCE IF EXISTS mo_organization_id_seq CASCADE;" 163 "DROP SEQUENCE IF EXISTS mo_platform_id_seq CASCADE;" 164 "DROP SEQUENCE IF EXISTS mo_process_id_seq CASCADE;" 165 "DROP SEQUENCE IF EXISTS mo_processing_id_seq CASCADE;" 166 "DROP SEQUENCE IF EXISTS mo_project_id_seq CASCADE;" 167 "DROP SEQUENCE IF EXISTS mo_responsiblepartyinfo_id_seq CASCADE;" 168 "DROP SEQUENCE IF EXISTS mo_result_id_seq CASCADE;" 169 "DROP SEQUENCE IF EXISTS multiplicity_id_seq CASCADE;" 170 "DROP SEQUENCE IF EXISTS multiplicityrange_id_seq CASCADE;" 171 "DROP SEQUENCE IF EXISTS namedvalue_id_seq CASCADE;" 172 "DROP SEQUENCE IF EXISTS namespace_id_seq CASCADE;" 173 "DROP SEQUENCE IF EXISTS om_observation_id_seq CASCADE;" 174 "DROP SEQUENCE IF EXISTS om_process_id_seq CASCADE;" 175 "DROP SEQUENCE IF EXISTS record_id_seq CASCADE;" 176 "DROP SEQUENCE IF EXISTS recordtype_id_seq CASCADE;" 177 "DROP SEQUENCE IF EXISTS rs_identifier_id_seq CASCADE;" 178 "DROP SEQUENCE IF EXISTS rs_referencesystem_id_seq CASCADE;" 179 "DROP SEQUENCE IF EXISTS scale_id_seq CASCADE;" 180 "DROP SEQUENCE IF EXISTS sc_compoundcrs_id_seq CASCADE;" 181 "DROP SEQUENCE IF EXISTS sc_crs_id_seq CASCADE;" 182 "DROP SEQUENCE IF EXISTS sc_derivedcrs_id_seq CASCADE;" 183 "DROP SEQUENCE IF EXISTS sc_generalderivedcrs_id_seq CASCADE;" 184 "DROP SEQUENCE IF EXISTS schema_id_seq CASCADE;" 185 "DROP SEQUENCE IF EXISTS scopedname_id_seq CASCADE;" 186 "DROP SEQUENCE IF EXISTS sc_singlecrs_id_seq CASCADE;" 187 "DROP SEQUENCE IF EXISTS sc_verticalcrs_id_seq CASCADE;" 188 "DROP SEQUENCE IF EXISTS time_id_seq CASCADE;" 189 "DROP SEQUENCE IF EXISTS tm_complex_id_seq CASCADE;" 190 "DROP SEQUENCE IF EXISTS tm_duration_id_seq CASCADE;" 191 "DROP SEQUENCE IF EXISTS tm_edge_id_seq CASCADE;" 192 "DROP SEQUENCE IF EXISTS tm_geometricprimitive_id_seq CASCADE;" 193 "DROP SEQUENCE IF EXISTS tm_instant_id_seq CASCADE;" 194 "DROP SEQUENCE IF EXISTS tm_node_id_seq CASCADE;" 195 "DROP SEQUENCE IF EXISTS tm_object_id_seq CASCADE;" 196 "DROP SEQUENCE IF EXISTS tm_periodduration_id_seq CASCADE;" 197 "DROP SEQUENCE IF EXISTS tm_period_id_seq CASCADE;" 198 "DROP SEQUENCE IF EXISTS tm_position_id_seq CASCADE;" 199 "DROP SEQUENCE IF EXISTS tm_primitive_id_seq CASCADE;" 200 "DROP SEQUENCE IF EXISTS tm_referencesystem_id_seq CASCADE;" 201 "DROP SEQUENCE IF EXISTS tm_temporalposition_id_seq CASCADE;" 202 "DROP SEQUENCE IF EXISTS tm_topologicalcomplex_id_seq CASCADE;" 203 "DROP SEQUENCE IF EXISTS tm_topologicalprimitive_id_seq CASCADE;" 204 "DROP SEQUENCE IF EXISTS tp_complex_id_seq CASCADE;" 205 "DROP SEQUENCE IF EXISTS tp_directedtopo_id_seq CASCADE;" 206 "DROP SEQUENCE IF EXISTS tp_expression_id_seq CASCADE;" 207 "DROP SEQUENCE IF EXISTS tp_expressionterm_id_seq CASCADE;" 208 "DROP SEQUENCE IF EXISTS tp_primitive_id_seq CASCADE;" 209 "DROP SEQUENCE IF EXISTS type_id_seq CASCADE;" 210 "DROP SEQUENCE IF EXISTS typename_id_seq CASCADE;" 211 "DROP SEQUENCE IF EXISTS unitofmeasure_id_seq CASCADE;" 212 "DROP SEQUENCE IF EXISTS unlimitedinteger_id_seq CASCADE;" 213 "DROP SEQUENCE IF EXISTS uomlength_id_seq CASCADE;" 214 "DROP SEQUENCE IF EXISTS uomscale_id_seq CASCADE;" 215 "DROP SEQUENCE IF EXISTS url_id_seq CASCADE;" 216 217 218 "DROP TABLE IF EXISTS any CASCADE;" 219 "DROP TABLE IF EXISTS cc_concatenatedoperation CASCADE;" 220 "DROP TABLE IF EXISTS cc_conversion CASCADE;" 221 "DROP TABLE IF EXISTS cc_coordinateoperation CASCADE;" 222 "DROP TABLE IF EXISTS cc_formula CASCADE;" 223 "DROP TABLE IF EXISTS cc_generaloperationparameter CASCADE;" 224 "DROP TABLE IF EXISTS cc_generalparametervalue CASCADE;" 225 "DROP TABLE IF EXISTS cc_operationmethod CASCADE;" 226 "DROP TABLE IF EXISTS cc_operationparametergroup CASCADE;" 227 "DROP TABLE IF EXISTS cc_parametervaluegroup CASCADE;" 228 "DROP TABLE IF EXISTS cc_passthroughoperation CASCADE;" 229 "DROP TABLE IF EXISTS cc_singleoperation CASCADE;" 230 "DROP TABLE IF EXISTS cd_datum CASCADE;" 231 "DROP TABLE IF EXISTS cd_verticaldatum CASCADE;" 232 "DROP TABLE IF EXISTS ceda_acquisition CASCADE;" 233 "DROP TABLE IF EXISTS ceda_citation CASCADE;" 234 "DROP TABLE IF EXISTS ceda_compositeprocess CASCADE;" 235 "DROP TABLE IF EXISTS ceda_instrument CASCADE;" 236 "DROP TABLE IF EXISTS ceda_notes CASCADE;" 237 "DROP TABLE IF EXISTS ceda_observation CASCADE;" 238 "DROP TABLE IF EXISTS ceda_observationcollection CASCADE;" 239 "DROP TABLE IF EXISTS ceda_operation CASCADE;" 240 "DROP TABLE IF EXISTS ceda_platform CASCADE;" 241 "DROP TABLE IF EXISTS ceda_process CASCADE;" 242 "DROP TABLE IF EXISTS ceda_processing CASCADE;" 243 "DROP TABLE IF EXISTS ceda_project CASCADE;" 244 "DROP TABLE IF EXISTS ceda_result CASCADE;" 245 "DROP TABLE IF EXISTS ceda_review CASCADE;" 246 "DROP TABLE IF EXISTS ci_address CASCADE;" 247 "DROP TABLE IF EXISTS ci_citation CASCADE;" 248 "DROP TABLE IF EXISTS ci_contact CASCADE;" 249 "DROP TABLE IF EXISTS ci_date CASCADE;" 250 "DROP TABLE IF EXISTS ci_individual CASCADE;" 251 "DROP TABLE IF EXISTS ci_onlineresource CASCADE;" 252 "DROP TABLE IF EXISTS ci_organisation CASCADE;" 253 "DROP TABLE IF EXISTS ci_party CASCADE;" 254 "DROP TABLE IF EXISTS ci_responsibility CASCADE;" 255 "DROP TABLE IF EXISTS ci_responsibleparty CASCADE;" 256 "DROP TABLE IF EXISTS ci_responsiblepartyinfo CASCADE;" 257 "DROP TABLE IF EXISTS ci_series CASCADE;" 258 "DROP TABLE IF EXISTS ci_telephone CASCADE;" 259 "DROP TABLE IF EXISTS class13_0 CASCADE;" 260 "DROP TABLE IF EXISTS class13_1 CASCADE;" 261 "DROP TABLE IF EXISTS class13_2 CASCADE;" 262 "DROP TABLE IF EXISTS class13_3 CASCADE;" 263 "DROP TABLE IF EXISTS cl_dataset CASCADE;" 264 "DROP TABLE IF EXISTS clocktime CASCADE;" 265 "DROP TABLE IF EXISTS cs_coordinatesystemaxis CASCADE;" 266 "DROP TABLE IF EXISTS cs_coordinatesystem CASCADE;" 267 "DROP TABLE IF EXISTS cs_verticalcs CASCADE;" 268 "DROP TABLE IF EXISTS cv_attributevalues CASCADE;" 269 "DROP TABLE IF EXISTS cv_coverage CASCADE;" 270 "DROP TABLE IF EXISTS cv_domainobject CASCADE;" 271 "DROP TABLE IF EXISTS cv_footprint CASCADE;" 272 "DROP TABLE IF EXISTS cv_grid CASCADE;" 273 "DROP TABLE IF EXISTS cv_gridcell CASCADE;" 274 "DROP TABLE IF EXISTS cv_gridcoordinate CASCADE;" 275 "DROP TABLE IF EXISTS cv_gridenvelope CASCADE;" 276 "DROP TABLE IF EXISTS cv_gridpoint CASCADE;" 277 "DROP TABLE IF EXISTS cv_referenceablegrid CASCADE;" 278 "DROP TABLE IF EXISTS date CASCADE;" 279 "DROP TABLE IF EXISTS dateprecision CASCADE;" 280 "DROP TABLE IF EXISTS datetime CASCADE;" 281 "DROP TABLE IF EXISTS directposition CASCADE;" 282 "DROP TABLE IF EXISTS distance CASCADE;" 283 "DROP TABLE IF EXISTS dq_dataquality CASCADE;" 284 "DROP TABLE IF EXISTS dq_element CASCADE;" 285 "DROP TABLE IF EXISTS dq_positionalaccuracy CASCADE;" 286 "DROP TABLE IF EXISTS dq_result CASCADE;" 287 "DROP TABLE IF EXISTS dq_scope CASCADE;" 288 "DROP TABLE IF EXISTS ds_aggregate CASCADE;" 289 "DROP TABLE IF EXISTS ds_aggregate_ds_aggregate CASCADE;" 290 "DROP TABLE IF EXISTS ds_dataset CASCADE;" 291 "DROP TABLE IF EXISTS earootclass CASCADE;" 292 "DROP TABLE IF EXISTS ex_extent CASCADE;" 293 "DROP TABLE IF EXISTS ex_geographicdescription CASCADE;" 294 "DROP TABLE IF EXISTS ex_geographicextent CASCADE;" 295 "DROP TABLE IF EXISTS ex_temporalextent CASCADE;" 296 "DROP TABLE IF EXISTS ex_verticalextent CASCADE;" 297 "DROP TABLE IF EXISTS genericname CASCADE;" 298 "DROP TABLE IF EXISTS gf_associationrole CASCADE;" 299 "DROP TABLE IF EXISTS gf_associationtype CASCADE;" 300 "DROP TABLE IF EXISTS gf_attributetype CASCADE;" 301 "DROP TABLE IF EXISTS gf_attributetype_gf_attributetype CASCADE;" 302 "DROP TABLE IF EXISTS gf_constraint CASCADE;" 303 "DROP TABLE IF EXISTS gf_featuretype CASCADE;" 304 "DROP TABLE IF EXISTS gfi_feature CASCADE;" 305 "DROP TABLE IF EXISTS gf_inheritancerelation CASCADE;" 306 "DROP TABLE IF EXISTS gf_operation CASCADE;" 307 "DROP TABLE IF EXISTS gf_propertytype CASCADE;" 308 "DROP TABLE IF EXISTS gm_complex CASCADE;" 309 "DROP TABLE IF EXISTS gm_complex_gm_complex CASCADE;" 310 "DROP TABLE IF EXISTS gm_composite CASCADE;" 311 "DROP TABLE IF EXISTS gm_compositepoint CASCADE;" 312 "DROP TABLE IF EXISTS gm_object CASCADE;" 313 "DROP TABLE IF EXISTS gm_orientableprimitive CASCADE;" 314 "DROP TABLE IF EXISTS gm_point CASCADE;" 315 "DROP TABLE IF EXISTS gm_primitive CASCADE;" 316 "DROP TABLE IF EXISTS gm_primitive_gm_primitive CASCADE;" 317 "DROP TABLE IF EXISTS io_identifiedobjectbase CASCADE;" 318 "DROP TABLE IF EXISTS io_identifiedobject CASCADE;" 319 "DROP TABLE IF EXISTS le_algorithm CASCADE;" 320 "DROP TABLE IF EXISTS length CASCADE;" 321 "DROP TABLE IF EXISTS le_nominalresolution CASCADE;" 322 "DROP TABLE IF EXISTS le_source CASCADE;" 323 "DROP TABLE IF EXISTS li_lineage CASCADE;" 324 "DROP TABLE IF EXISTS li_processstep CASCADE;" 325 "DROP TABLE IF EXISTS li_source CASCADE;" 326 "DROP TABLE IF EXISTS localname CASCADE;" 327 "DROP TABLE IF EXISTS md_aggregateinformation CASCADE;" 328 "DROP TABLE IF EXISTS md_applicationschemainformation CASCADE;" 329 "DROP TABLE IF EXISTS md_browsegraphic CASCADE;" 330 "DROP TABLE IF EXISTS md_constraints CASCADE;" 331 "DROP TABLE IF EXISTS md_contentinformation CASCADE;" 332 "DROP TABLE IF EXISTS md_digitaltransferoptions CASCADE;" 333 "DROP TABLE IF EXISTS md_distribution CASCADE;" 334 "DROP TABLE IF EXISTS md_distributor CASCADE;" 335 "DROP TABLE IF EXISTS md_extendedelementinformation CASCADE;" 336 "DROP TABLE IF EXISTS md_format CASCADE;" 337 "DROP TABLE IF EXISTS md_identification CASCADE;" 338 "DROP TABLE IF EXISTS md_identifier CASCADE;" 339 "DROP TABLE IF EXISTS md_keywords CASCADE;" 340 "DROP TABLE IF EXISTS md_maintenanceinformation CASCADE;" 341 "DROP TABLE IF EXISTS md_medium CASCADE;" 342 "DROP TABLE IF EXISTS md_metadata CASCADE;" 343 "DROP TABLE IF EXISTS md_metadataextensioninformation CASCADE;" 344 "DROP TABLE IF EXISTS md_portrayalcataloguereference CASCADE;" 345 "DROP TABLE IF EXISTS md_referencesystem CASCADE;" 346 "DROP TABLE IF EXISTS md_representativefraction CASCADE;" 347 "DROP TABLE IF EXISTS md_scopedescription CASCADE;" 348 "DROP TABLE IF EXISTS md_spatialrepresentation CASCADE;" 349 "DROP TABLE IF EXISTS md_standardorderprocess CASCADE;" 350 "DROP TABLE IF EXISTS md_usage CASCADE;" 351 "DROP TABLE IF EXISTS measure CASCADE;" 352 "DROP TABLE IF EXISTS mo_acquisition CASCADE;" 353 "DROP TABLE IF EXISTS mo_compositeprocess CASCADE;" 354 "DROP TABLE IF EXISTS mo_computation CASCADE;" 355 "DROP TABLE IF EXISTS mo_inputoutput CASCADE;" 356 "DROP TABLE IF EXISTS mo_instrument CASCADE;" 357 "DROP TABLE IF EXISTS mo_instrument_mo_instrument CASCADE;" 358 "DROP TABLE IF EXISTS mo_instrumentplatformpair CASCADE;" 359 "DROP TABLE IF EXISTS mo_location CASCADE;" 360 "DROP TABLE IF EXISTS mo_observation CASCADE;" 361 "DROP TABLE IF EXISTS mo_observationcollection CASCADE;" 362 "DROP TABLE IF EXISTS mo_observationcollection_mo_observationcollection CASCADE;" 363 "DROP TABLE IF EXISTS mo_onlineresource CASCADE;" 364 "DROP TABLE IF EXISTS mo_operation CASCADE;" 365 "DROP TABLE IF EXISTS mo_operation_mo_operation CASCADE;" 366 "DROP TABLE IF EXISTS mo_organization CASCADE;" 367 "DROP TABLE IF EXISTS mo_platform CASCADE;" 368 "DROP TABLE IF EXISTS mo_platform_mo_platform CASCADE;" 369 "DROP TABLE IF EXISTS mo_process CASCADE;" 370 "DROP TABLE IF EXISTS mo_processing CASCADE;" 371 "DROP TABLE IF EXISTS mo_project CASCADE;" 372 "DROP TABLE IF EXISTS mo_project_mo_project CASCADE;" 373 "DROP TABLE IF EXISTS mo_responsiblepartyinfo CASCADE;" 374 "DROP TABLE IF EXISTS mo_result CASCADE;" 375 "DROP TABLE IF EXISTS mo_result_mo_result CASCADE;" 376 "DROP TABLE IF EXISTS multiplicity CASCADE;" 377 "DROP TABLE IF EXISTS multiplicityrange CASCADE;" 378 "DROP TABLE IF EXISTS namedvalue CASCADE;" 379 "DROP TABLE IF EXISTS namespace CASCADE;" 380 "DROP TABLE IF EXISTS obs_coll_migration CASCADE;" 381 "DROP TABLE IF EXISTS observation_migration CASCADE;" 382 "DROP TABLE IF EXISTS om_observation CASCADE;" 383 "DROP TABLE IF EXISTS om_observation_om_observation CASCADE;" 384 "DROP TABLE IF EXISTS om_process CASCADE;" 385 "DROP TABLE IF EXISTS record CASCADE;" 386 "DROP TABLE IF EXISTS recordtype CASCADE;" 387 "DROP TABLE IF EXISTS rs_identifier CASCADE;" 388 "DROP TABLE IF EXISTS rs_referencesystem CASCADE;" 389 "DROP TABLE IF EXISTS scale CASCADE;" 390 "DROP TABLE IF EXISTS sc_compoundcrs CASCADE;" 391 "DROP TABLE IF EXISTS sc_crs CASCADE;" 392 "DROP TABLE IF EXISTS sc_derivedcrs CASCADE;" 393 "DROP TABLE IF EXISTS sc_generalderivedcrs CASCADE;" 394 "DROP TABLE IF EXISTS schema CASCADE;" 395 "DROP TABLE IF EXISTS scopedname CASCADE;" 396 "DROP TABLE IF EXISTS sc_singlecrs CASCADE;" 397 "DROP TABLE IF EXISTS sc_verticalcrs CASCADE;" 398 "DROP TABLE IF EXISTS time CASCADE;" 399 "DROP TABLE IF EXISTS tm_complex CASCADE;" 400 "DROP TABLE IF EXISTS tm_duration CASCADE;" 401 "DROP TABLE IF EXISTS tm_edge CASCADE;" 402 "DROP TABLE IF EXISTS tm_geometricprimitive CASCADE;" 403 "DROP TABLE IF EXISTS tm_instant CASCADE;" 404 "DROP TABLE IF EXISTS tm_node CASCADE;" 405 "DROP TABLE IF EXISTS tm_object CASCADE;" 406 "DROP TABLE IF EXISTS tm_period CASCADE;" 407 "DROP TABLE IF EXISTS tm_periodduration CASCADE;" 408 "DROP TABLE IF EXISTS tm_position CASCADE;" 409 "DROP TABLE IF EXISTS tm_primitive CASCADE;" 410 "DROP TABLE IF EXISTS tm_referencesystem CASCADE;" 411 "DROP TABLE IF EXISTS tm_temporalposition CASCADE;" 412 "DROP TABLE IF EXISTS tm_topologicalcomplex CASCADE;" 413 "DROP TABLE IF EXISTS tm_topologicalprimitive CASCADE;" 414 "DROP TABLE IF EXISTS tp_complex CASCADE;" 415 "DROP TABLE IF EXISTS tp_complex_tp_complex CASCADE;" 416 "DROP TABLE IF EXISTS tp_directedtopo CASCADE;" 417 "DROP TABLE IF EXISTS tp_expression CASCADE;" 418 "DROP TABLE IF EXISTS tp_expressionterm CASCADE;" 419 "DROP TABLE IF EXISTS tp_primitive CASCADE;" 420 "DROP TABLE IF EXISTS tp_primitive_tp_primitive CASCADE;" 421 "DROP TABLE IF EXISTS type CASCADE;" 422 "DROP TABLE IF EXISTS typename CASCADE;" 423 "DROP TABLE IF EXISTS unitofmeasure CASCADE;" 424 "DROP TABLE IF EXISTS unlimitedinteger CASCADE;" 425 "DROP TABLE IF EXISTS uomlength CASCADE;" 426 "DROP TABLE IF EXISTS uomscale CASCADE;" 427 "DROP TABLE IF EXISTS url CASCADE;" 428 429
Note: See TracChangeset
for help on using the changeset viewer.