edu.udo.cs.miningmart.operator
Class CreatePrimaryKey

java.lang.Object
  extended byedu.udo.cs.miningmart.operator.ExecutableOperator
      extended byedu.udo.cs.miningmart.operator.ConceptOperator
          extended byedu.udo.cs.miningmart.operator.SingleCSOperator
              extended byedu.udo.cs.miningmart.operator.CreatePrimaryKey

public class CreatePrimaryKey
extends SingleCSOperator

This operator is able to convert a view with no key and maybe multiple occurences of tuples into a view with a single primary key attribute. Elimination of multiple tuple occurences can be selected as a parameter.

Version:
$Id: CreatePrimaryKey.java,v 1.4 2006/04/11 14:10:11 euler Exp $
Author:
Martin Scholz

Field Summary
 
Fields inherited from class edu.udo.cs.miningmart.operator.ExecutableOperator
generatedSQLDefinitions
 
Constructor Summary
CreatePrimaryKey()
           
 
Method Summary
protected  java.lang.String generateColumns(Columnset csForOutputConcept)
          The super method is enhanced by creating a new Column for the key.
 java.lang.String generateSQLDefinition(java.lang.String selectPart)
          This method must return the SQL definition of the newly created ColumnSet.
 boolean getAllowDuplicates()
          Getter for the parameter "AllowDuplicates"
 BaseAttribute getPrimaryKey()
          Getter for the parameter "PrimaryKey"
 java.lang.String getTypeOfNewColumnSet()
          This method must return the entry String for the M4 table "Columnset_t", indicating whether the new Columnset is a view or a table.
protected  boolean mustCopyFeature(java.lang.String nameOfFeature)
          This method is for operators that do not copy all Features of the input concept to the output concept.
 
Methods inherited from class edu.udo.cs.miningmart.operator.SingleCSOperator
generateColumnSetsForOp, generateSQLDefinition, getNewCSName, getTypeOfNewColumnSet
 
Methods inherited from class edu.udo.cs.miningmart.operator.ConceptOperator
compileStatement, createMetadata, createMetadataForOneBA, createSingleColumnSet, createStatement, estimateStatistics, getInputConcept, getNewCSName, getOutputConcept, getStringForSelection, setNewCSMultiStepBranch
 
Methods inherited from class edu.udo.cs.miningmart.operator.ExecutableOperator
autoPrint, checkConditions, doPrint, doPrint, execute, executeBusinessSingleValueSqlRead, executeBusinessSingleValueSqlReadL, executeBusinessSqlRead, executeBusinessSqlWrite, executeM4SingleValueSqlRead, executeM4SingleValueSqlReadL, executeM4SqlRead, executeM4SqlWrite, getArtificalColumnName, getBusinessDbms, getHighestLoopNr, getM4Db, getM4Dbms, getM4ObjectFromCache, getName, getNextM4SequenceValue, getNumberOfLoops, getOperator, getOpParamsIterator, getParameter, getParameter, getSingleParameter, getSingleParameter, getStep, handleAssertions, isDeselectedParameter, isLoopable, isManual, isStepable, load, print, putM4ObjectToCache, showCreateStatement, storedProceduresAvailable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CreatePrimaryKey

public CreatePrimaryKey()
Method Detail

getTypeOfNewColumnSet

public java.lang.String getTypeOfNewColumnSet()
Description copied from class: SingleCSOperator
This method must return the entry String for the M4 table "Columnset_t", indicating whether the new Columnset is a view or a table.

Specified by:
getTypeOfNewColumnSet in class SingleCSOperator
Returns:
The type of the new Columnset, either "V" or "T".
See Also:
SingleCSOperator.getTypeOfNewColumnSet()

generateColumns

protected java.lang.String generateColumns(Columnset csForOutputConcept)
                                    throws M4CompilerError
The super method is enhanced by creating a new Column for the key. The key is realized as a virtual Column, so the return value of the super method is not changed.

Overrides:
generateColumns in class ConceptOperator
Parameters:
csForOutputConcept - The ColumnSet for which Columns are to be produced.
Returns:
A String for the "SELECT"-part of the view definition for the given ColumnSet.
Throws:
M4CompilerError
See Also:
miningmart.operator.ConceptOperator#generateColumns(Columnset)

generateSQLDefinition

public java.lang.String generateSQLDefinition(java.lang.String selectPart)
                                       throws M4CompilerError
Description copied from class: SingleCSOperator
This method must return the SQL definition of the newly created ColumnSet.

Specified by:
generateSQLDefinition in class SingleCSOperator
Parameters:
selectPart - The SQL string between "SELECT" and "FROM" for the SQL definition to be returned.
Returns:
The SQL definition for the new ColumnSet.
Throws:
M4CompilerError
See Also:
SingleCSOperator.generateSQLDefinition(String)

mustCopyFeature

protected boolean mustCopyFeature(java.lang.String nameOfFeature)
                           throws M4CompilerError
Description copied from class: ConceptOperator
This method is for operators that do not copy all Features of the input concept to the output concept.

Specified by:
mustCopyFeature in class ConceptOperator
Parameters:
nameOfFeature - Name of the feature in question.
Returns:
TRUE if this feature should be copied to the output concept, FALSE if not.
Throws:
M4CompilerError
See Also:
ConceptOperator.mustCopyFeature(String)

getAllowDuplicates

public boolean getAllowDuplicates()
                           throws M4CompilerError
Getter for the parameter "AllowDuplicates"

Returns:
a boolean, true means that duplicates are allowed, the default is false.
Throws:
M4CompilerError

getPrimaryKey

public BaseAttribute getPrimaryKey()
                            throws M4CompilerError
Getter for the parameter "PrimaryKey"

Returns:
a BaseAttribute
Throws:
M4CompilerError


Copyright © 2001-2005