de.topicmapslab.majortom.database.jdbc.postgres.optimized
Class PostGreSqlQueryProcessor

java.lang.Object
  extended by de.topicmapslab.majortom.database.jdbc.rdbms.RDBMSQueryProcessor
      extended by de.topicmapslab.majortom.database.jdbc.postgres.sql99.Sql99QueryProcessor
          extended by de.topicmapslab.majortom.database.jdbc.postgres.optimized.PostGreSqlQueryProcessor
All Implemented Interfaces:
IQueryProcessor

public class PostGreSqlQueryProcessor
extends Sql99QueryProcessor

Author:
Sven Krosse

Field Summary
 
Fields inherited from class de.topicmapslab.majortom.database.jdbc.rdbms.RDBMSQueryProcessor
GENERATED_KEY_COLUMN_NAME
 
Constructor Summary
PostGreSqlQueryProcessor(PostGreSqlSession session, java.sql.Connection connection)
          constructor
 
Method Summary
 boolean canPerformRemoveDuplicates()
          Checks if the query processor supports a database supported remove-duplicates function
protected  Sql99QueryBuilder createQueryBuilder()
          Creates the query builder
 void doMergeTopics(de.topicmapslab.majortom.model.core.ITopic context, de.topicmapslab.majortom.model.core.ITopic other)
          
 java.lang.String doReadBestLabel(de.topicmapslab.majortom.model.core.ITopic topic)
          Returns the best label for the current topic instance.
 java.lang.String doReadBestLabel(de.topicmapslab.majortom.model.core.ITopic topic, de.topicmapslab.majortom.model.core.ITopic theme, boolean strict)
          Returns the best label for the current topic instance.
 java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> doReadSuptertypes(de.topicmapslab.majortom.model.core.ITopic t, long offset, long limit)
          
 void doRemoveDuplicates()
          Method calls the database supported remove-duplicates function if it exists.
 void doRemoveDuplicateTopicContent(de.topicmapslab.majortom.model.core.ITopic topic)
          
 java.util.Collection<de.topicmapslab.majortom.model.core.IAssociation> getAssociationsByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.IAssociation>
getAssociationsByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, long offset, long limit)
          
 java.util.Collection<de.topicmapslab.majortom.model.core.IName> getNamesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.IName>
getNamesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, long offset, long limit)
          
 java.util.Collection<de.topicmapslab.majortom.model.core.IOccurrence> getOccurrencesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.IOccurrence>
getOccurrencesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, long offset, long limit)
          
protected  PostGreSqlQueryBuilder getQueryBuilder()
          Returns the query builder
 java.util.Collection<de.topicmapslab.majortom.model.core.IAssociationRole> getRolesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.IAssociationRole>
getRolesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.IScope>
getScopesByThemes(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> themes, boolean all)
          
 PostGreSqlSession getSession()
          Returns the session of the query processor instance
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.ITopic>
getSubtypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, boolean matchAll, long offset, long limit)
          
 java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getSubtypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap, de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.ITopic>
getSupertypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, boolean matchAll, long offset, long limit)
          
 java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getSupertypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap, de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
<T extends org.tmapi.core.Topic>
java.util.Collection<de.topicmapslab.majortom.model.core.ITopic>
getTopicsByTypesTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<T> types, boolean all, long offset, long limit)
          
 java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getTopicsByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type, long offset, long limit)
          
protected  de.topicmapslab.majortom.model.core.IScope readScopeByThemes(de.topicmapslab.majortom.model.core.ITopicMap topicMap, java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> themes)
          
 
Methods inherited from class de.topicmapslab.majortom.database.jdbc.postgres.sql99.Sql99QueryProcessor
commit, doClearTopicMap, doCreateAssociation, doCreateAssociation, doCreateChangeSet, doCreateLocator, doCreateMetadata, doCreateName, doCreateName, doCreateName, doCreateName, doCreateOccurrence, doCreateOccurrence, doCreateOccurrence, doCreateOccurrence, doCreateOccurrence, doCreateOccurrence, doCreateRevision, doCreateRole, doCreateScope, doCreateTag, doCreateTopicByItemIdentifier, doCreateTopicBySubjectIdentifier, doCreateTopicBySubjectLocator, doCreateTopicMapIdentity, doCreateTopicWithoutIdentifier, doCreateVariant, doCreateVariant, doCreateVariant, doMergeTopicMaps, doModifyItemIdentifier, doModifyPlayer, doModifyReifier, doModifyScope, doModifySubjectIdentifier, doModifySubjectLocator, doModifySupertype, doModifyTag, doModifyTag, doModifyType, doModifyType, doModifyValue, doModifyValue, doReadAssociation, doReadAssociation, doReadAssociation, doReadAssociation, doReadAssociation, doReadAssociation, doReadAssociation, doReadChangeset, doReadChangesetsByAssociationType, doReadChangesetsByTopic, doReadChangesetType, doReadCharacteristics, doReadCharacteristics, doReadCharacteristics, doReadCharacteristics, doReadConstruct, doReadConstruct, doReadDataType, doReadFirstRevision, doReadFutureRevision, doReadHistory, doReadItemIdentifiers, doReadLastModification, doReadLastModificationOfTopic, doReadLastRevision, doReadLocator, doReadMetadata, doReadMetadataByKey, doReadNames, doReadNames, doReadNames, doReadNames, doReadNumberOfAssociationsPlayed, doReadNumberOfNames, doReadNumberOfOccurrences, doReadNumberOfRoles, doReadNumberOfRolesPlayed, doReadNumberOfSupertypes, doReadNumberOfTypes, doReadNumberOfVariants, doReadOccurrences, doReadOccurrences, doReadOccurrences, doReadOccurrences, doReadPastRevision, doReadPlayer, doReadReification, doReadReification, doReadRevisionByTag, doReadRevisionByTimestamp, doReadRevisionsByAssociationType, doReadRevisionsByTopic, doReadRoles, doReadRoles, doReadRoles, doReadRoles, doReadRoles, doReadRoleTypes, doReadScope, doReadSubjectIdentifiers, doReadSubjectLocators, doReadThemes, doReadTimestamp, doReadTopicBySubjectIdentifier, doReadTopicBySubjectLocator, doReadTopicMapIdentity, doReadTopics, doReadType, doReadTypes, doReadValue, doReadValue, doReadVariants, doReadVariants, doRemoveAssociation, doRemoveAssociation, doRemoveItemIdentifier, doRemoveName, doRemoveName, doRemoveOccurrence, doRemoveOccurrence, doRemoveRole, doRemoveRole, doRemoveScope, doRemoveSubjectIdentifier, doRemoveSubjectLocator, doRemoveSupertype, doRemoveTopic, doRemoveTopic, doRemoveTopicMap, doRemoveType, doRemoveVariant, doRemoveVariant, dump, dump, dump, dump, dump, dump, getAssociationsByScope, getAssociationsByScopes, getAssociationsByTheme, getAssociationsByThemes, getAssociationsByType, getAssociationsByTypes, getAssociationScopes, getAssociationThemes, getAssociationTypes, getCharacteristics, getCharacteristics, getCharacteristicsByDatatype, getCharacteristicsByPattern, getCharacteristicsByPattern, getCharacteristicsByScope, getCharacteristicsByType, getCharacteristicsByTypes, getCharacteristicsByTypesTransitive, getCharacteristicsByTypeTransitive, getCharacteristicsTypes, getConstructsByIdentitifer, getConstructsByItemIdentitifer, getDatatypeAwaresByDatatype, getDirectSubtypes, getDirectSupertypes, getItemIdentifiers, getLocators, getNames, getNames, getNamesByPattern, getNamesByScope, getNamesByScopes, getNamesByTheme, getNamesByThemes, getNamesByType, getNamesByTypes, getNameScopes, getNameThemes, getNameTypes, getOccurrences, getOccurrences, getOccurrences, getOccurrences, getOccurrences, getOccurrencesByDatatype, getOccurrencesByPattern, getOccurrencesByPattern, getOccurrencesByScope, getOccurrencesByScopes, getOccurrencesByTheme, getOccurrencesByThemes, getOccurrencesByType, getOccurrencesByTypes, getOccurrenceScopes, getOccurrenceThemes, getOccurrenceTypes, getRolesByType, getRolesByTypes, getRoleTypes, getScopables, getSubjectIdentifiers, getSubjectLocators, getSubtypes, getSupertypes, getTopicsBySubjectIdentitifer, getTopicsBySubjectLocator, getTopicsByType, getTopicsByTypes, getTopicTypes, getVariantByPattern, getVariants, getVariants, getVariants, getVariantsByDatatype, getVariantsByPattern, getVariantsByScope, getVariantsByScopes, getVariantsByTheme, getVariantsByThemes, getVariantScopes, getVariantThemes, openTransaction, readHistoryConstruct
 
Methods inherited from class de.topicmapslab.majortom.database.jdbc.rdbms.RDBMSQueryProcessor
close, doReadAssociation, doReadBestIdentifier, doReadNumberOfAssociations, doReadNumberOfTopics, doReadNumberOfTopics, doReadTopics, doRemoveScope, dumpFallback, dumpFallback, dumpFallback, dumpFallback, dumpFallback, dumpFallback, getConnection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PostGreSqlQueryProcessor

public PostGreSqlQueryProcessor(PostGreSqlSession session,
                                java.sql.Connection connection)
constructor

Parameters:
session - the session
connection - the database connection of this query processor
Method Detail

getSession

public PostGreSqlSession getSession()
Returns the session of the query processor instance

Specified by:
getSession in interface IQueryProcessor
Overrides:
getSession in class RDBMSQueryProcessor
Returns:
the session

createQueryBuilder

protected Sql99QueryBuilder createQueryBuilder()
Creates the query builder

Overrides:
createQueryBuilder in class Sql99QueryProcessor
Returns:
the query builder

getQueryBuilder

protected PostGreSqlQueryBuilder getQueryBuilder()
Returns the query builder

Overrides:
getQueryBuilder in class RDBMSQueryProcessor
Returns:
the query builder

doReadSuptertypes

public java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> doReadSuptertypes(de.topicmapslab.majortom.model.core.ITopic t,
                                                                                          long offset,
                                                                                          long limit)
                                                                                   throws java.sql.SQLException

Specified by:
doReadSuptertypes in interface IQueryProcessor
Overrides:
doReadSuptertypes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

readScopeByThemes

protected de.topicmapslab.majortom.model.core.IScope readScopeByThemes(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                       java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> themes)
                                                                throws java.sql.SQLException

Overrides:
readScopeByThemes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

doReadBestLabel

public java.lang.String doReadBestLabel(de.topicmapslab.majortom.model.core.ITopic topic)
                                 throws java.sql.SQLException
Returns the best label for the current topic instance. The best label will be identified satisfying the following rules in the given order.

1. Names of the default name type are weighted higher than names of other types.

2. Names with the unconstrained scope are weighted higher than other scoped names.

3. Names with a smaller number of scoping themes are weighted higher than others.

4. Names with a lexicographically smaller value are weighted higher than others.

5. If no names are existing, the subject-identifier with the lexicographically smallest reference are returned.

6. If no subject-identifiers are existing, the subject-locators with the lexicographically smallest reference are returned.

7. If no subject-locators are existing, the item-identifier with the lexicographically smallest reference are returned.

8. At least the ID of the topic will be returned.

Specified by:
doReadBestLabel in interface IQueryProcessor
Overrides:
doReadBestLabel in class Sql99QueryProcessor
Throws:
java.sql.SQLException

doReadBestLabel

public java.lang.String doReadBestLabel(de.topicmapslab.majortom.model.core.ITopic topic,
                                        de.topicmapslab.majortom.model.core.ITopic theme,
                                        boolean strict)
                                 throws java.sql.SQLException
Returns the best label for the current topic instance. The best label will be identified satisfying the following rules in the given order.

1. Names of the default name type are weighted higher than names of other types.

2. Names with the unconstrained scope are weighted higher than other scoped names.

3. Names with a smaller number of scoping themes are weighted higher than others.

4. Names with a lexicographically smaller value are weighted higher than others.

5. If no names are existing, the subject-identifier with the lexicographically smallest reference are returned.

6. If no subject-identifiers are existing, the subject-locators with the lexicographically smallest reference are returned.

7. If no subject-locators are existing, the item-identifier with the lexicographically smallest reference are returned.

8. At least the ID of the topic will be returned.

Specified by:
doReadBestLabel in interface IQueryProcessor
Overrides:
doReadBestLabel in class Sql99QueryProcessor
strict - if there is no name with the given theme and strict is true, then null will be returned.
Throws:
java.sql.SQLException

getAssociationsByTypeTransitive

public java.util.Collection<de.topicmapslab.majortom.model.core.IAssociation> getAssociationsByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type,
                                                                                                              long offset,
                                                                                                              long limit)
                                                                                                       throws java.sql.SQLException

Specified by:
getAssociationsByTypeTransitive in interface IQueryProcessor
Overrides:
getAssociationsByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getAssociationsByTypeTransitive

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.IAssociation> getAssociationsByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                                               java.util.Collection<T> types,
                                                                                                                                               long offset,
                                                                                                                                               long limit)
                                                                                                       throws java.sql.SQLException

Specified by:
getAssociationsByTypeTransitive in interface IQueryProcessor
Overrides:
getAssociationsByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getRolesByTypeTransitive

public java.util.Collection<de.topicmapslab.majortom.model.core.IAssociationRole> getRolesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type,
                                                                                                           long offset,
                                                                                                           long limit)
                                                                                                    throws java.sql.SQLException

Specified by:
getRolesByTypeTransitive in interface IQueryProcessor
Overrides:
getRolesByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getRolesByTypeTransitive

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.IAssociationRole> getRolesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                                            java.util.Collection<T> types,
                                                                                                                                            long offset,
                                                                                                                                            long limit)
                                                                                                    throws java.sql.SQLException

Specified by:
getRolesByTypeTransitive in interface IQueryProcessor
Overrides:
getRolesByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getNamesByTypeTransitive

public java.util.Collection<de.topicmapslab.majortom.model.core.IName> getNamesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type,
                                                                                                long offset,
                                                                                                long limit)
                                                                                         throws java.sql.SQLException

Specified by:
getNamesByTypeTransitive in interface IQueryProcessor
Overrides:
getNamesByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getNamesByTypeTransitive

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.IName> getNamesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                                 java.util.Collection<T> types,
                                                                                                                                 long offset,
                                                                                                                                 long limit)
                                                                                         throws java.sql.SQLException

Specified by:
getNamesByTypeTransitive in interface IQueryProcessor
Overrides:
getNamesByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getOccurrencesByTypeTransitive

public java.util.Collection<de.topicmapslab.majortom.model.core.IOccurrence> getOccurrencesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type,
                                                                                                            long offset,
                                                                                                            long limit)
                                                                                                     throws java.sql.SQLException

Specified by:
getOccurrencesByTypeTransitive in interface IQueryProcessor
Overrides:
getOccurrencesByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getOccurrencesByTypeTransitive

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.IOccurrence> getOccurrencesByTypeTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                                             java.util.Collection<T> types,
                                                                                                                                             long offset,
                                                                                                                                             long limit)
                                                                                                     throws java.sql.SQLException

Specified by:
getOccurrencesByTypeTransitive in interface IQueryProcessor
Overrides:
getOccurrencesByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getTopicsByTypeTransitive

public java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getTopicsByTypeTransitive(de.topicmapslab.majortom.model.core.ITopic type,
                                                                                                  long offset,
                                                                                                  long limit)
                                                                                           throws java.sql.SQLException

Specified by:
getTopicsByTypeTransitive in interface IQueryProcessor
Overrides:
getTopicsByTypeTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getTopicsByTypesTransitive

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getTopicsByTypesTransitive(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                                    java.util.Collection<T> types,
                                                                                                                                    boolean all,
                                                                                                                                    long offset,
                                                                                                                                    long limit)
                                                                                            throws java.sql.SQLException

Specified by:
getTopicsByTypesTransitive in interface IQueryProcessor
Overrides:
getTopicsByTypesTransitive in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getSubtypes

public java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getSubtypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                    de.topicmapslab.majortom.model.core.ITopic type,
                                                                                    long offset,
                                                                                    long limit)
                                                                             throws java.sql.SQLException

Specified by:
getSubtypes in interface IQueryProcessor
Overrides:
getSubtypes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getSubtypes

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getSubtypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                     java.util.Collection<T> types,
                                                                                                                     boolean matchAll,
                                                                                                                     long offset,
                                                                                                                     long limit)
                                                                             throws java.sql.SQLException

Specified by:
getSubtypes in interface IQueryProcessor
Overrides:
getSubtypes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getSupertypes

public java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getSupertypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                      de.topicmapslab.majortom.model.core.ITopic type,
                                                                                      long offset,
                                                                                      long limit)
                                                                               throws java.sql.SQLException

Specified by:
getSupertypes in interface IQueryProcessor
Overrides:
getSupertypes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getSupertypes

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.ITopic> getSupertypes(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                       java.util.Collection<T> types,
                                                                                                                       boolean matchAll,
                                                                                                                       long offset,
                                                                                                                       long limit)
                                                                               throws java.sql.SQLException

Specified by:
getSupertypes in interface IQueryProcessor
Overrides:
getSupertypes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

getScopesByThemes

public <T extends org.tmapi.core.Topic> java.util.Collection<de.topicmapslab.majortom.model.core.IScope> getScopesByThemes(de.topicmapslab.majortom.model.core.ITopicMap topicMap,
                                                                                                                           java.util.Collection<T> themes,
                                                                                                                           boolean all)
                                                                                   throws java.sql.SQLException

Specified by:
getScopesByThemes in interface IQueryProcessor
Overrides:
getScopesByThemes in class Sql99QueryProcessor
Throws:
java.sql.SQLException

doMergeTopics

public void doMergeTopics(de.topicmapslab.majortom.model.core.ITopic context,
                          de.topicmapslab.majortom.model.core.ITopic other)
                   throws java.sql.SQLException

Specified by:
doMergeTopics in interface IQueryProcessor
Overrides:
doMergeTopics in class Sql99QueryProcessor
Throws:
java.sql.SQLException

canPerformRemoveDuplicates

public boolean canPerformRemoveDuplicates()
Checks if the query processor supports a database supported remove-duplicates function

Specified by:
canPerformRemoveDuplicates in interface IQueryProcessor
Overrides:
canPerformRemoveDuplicates in class RDBMSQueryProcessor
Returns:
true if the database contains a function to handle remove duplicates, false otherwise.

doRemoveDuplicates

public void doRemoveDuplicates()
                        throws java.sql.SQLException,
                               java.lang.UnsupportedOperationException
Method calls the database supported remove-duplicates function if it exists.

Specified by:
doRemoveDuplicates in interface IQueryProcessor
Overrides:
doRemoveDuplicates in class RDBMSQueryProcessor
Throws:
java.sql.SQLException - thrown during execution
java.lang.UnsupportedOperationException - throw if the function is not supported
See Also:
Method to check if function is supported

doRemoveDuplicateTopicContent

public void doRemoveDuplicateTopicContent(de.topicmapslab.majortom.model.core.ITopic topic)
                                   throws java.sql.SQLException,
                                          java.lang.UnsupportedOperationException

Throws:
java.sql.SQLException
java.lang.UnsupportedOperationException