public void destroyView(GraphView view) {
    graphStore.autoWriteLock();
    try {
      checkNonNullViewObject(view);

      TimestampIndexStore nodeTimestampStore = graphStore.timestampStore.nodeIndexStore;
      if (nodeTimestampStore != null) {
        nodeTimestampStore.deleteViewIndex(((GraphViewImpl) view).getDirectedGraph());
      }

      TimestampIndexStore edgeTimestampStore = graphStore.timestampStore.edgeIndexStore;
      if (edgeTimestampStore != null) {
        edgeTimestampStore.deleteViewIndex(((GraphViewImpl) view).getDirectedGraph());
      }

      IndexStore<Node> nodeIndexStore = graphStore.nodeColumnStore.indexStore;
      if (nodeIndexStore != null) {
        nodeIndexStore.deleteViewIndex(((GraphViewImpl) view).getDirectedGraph());
      }

      IndexStore<Edge> edgeIndexStore = graphStore.edgeColumnStore.indexStore;
      if (edgeIndexStore != null) {
        edgeIndexStore.deleteViewIndex(((GraphViewImpl) view).getDirectedGraph());
      }

      removeView((GraphViewImpl) view);
    } finally {
      graphStore.autoWriteUnlock();
    }
  }
Exemple #2
0
 public Set<QueryableEntry> getRecords(Comparable[] values) {
   if (values.length == 1) {
     return indexStore.getRecords(convert(values[0]));
   } else {
     Set<Comparable> convertedValues = new HashSet<Comparable>(values.length);
     for (Comparable value : values) {
       convertedValues.add(convert(value));
     }
     MultiResultSet results = new MultiResultSet();
     indexStore.getRecords(results, convertedValues);
     return results;
   }
 }
Exemple #3
0
 public void saveEntryIndex(QueryableEntry e) throws QueryException {
   Data key = e.getIndexKey();
   Comparable oldValue = recordValues.remove(key);
   Comparable newValue = e.getAttribute(attribute);
   if (newValue == null) {
     newValue = NULL;
   }
   recordValues.put(key, newValue);
   if (newValue.getClass().isEnum()) {
     newValue = TypeConverters.ENUM_CONVERTER.convert(newValue);
   }
   if (oldValue == null) {
     // new
     indexStore.newIndex(newValue, e);
   } else {
     // update
     indexStore.removeIndex(oldValue, key);
     indexStore.newIndex(newValue, e);
   }
   if (attributeType == null) {
     attributeType = e.getAttributeType(attribute);
   }
 }
Exemple #4
0
 public Set<QueryableEntry> getSubRecordsBetween(Comparable from, Comparable to) {
   MultiResultSet results = new MultiResultSet();
   indexStore.getSubRecordsBetween(results, convert(from), convert(to));
   return results;
 }
Exemple #5
0
 public Set<QueryableEntry> getRecords(Comparable value) {
   return indexStore.getRecords(convert(value));
 }
Exemple #6
0
 ConcurrentMap<Data, QueryableEntry> getRecordMap(Comparable indexValue) {
   return indexStore.getRecordMap(indexValue);
 }
Exemple #7
0
 public void removeEntryIndex(Data indexKey) {
   Comparable oldValue = recordValues.remove(indexKey);
   if (oldValue != null) {
     indexStore.removeIndex(oldValue, indexKey);
   }
 }
Exemple #8
0
 public Set<QueryableEntry> getSubRecords(
     ComparisonType comparisonType, Comparable searchedValue) {
   MultiResultSet results = new MultiResultSet();
   indexStore.getSubRecords(results, comparisonType, convert(searchedValue));
   return results;
 }