You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/11/19 15:16:45 UTC

svn commit: r1411193 - in /lucene/dev/branches/lucene4547/lucene: codecs/src/java/org/apache/lucene/codecs/simpletext/ core/src/java/org/apache/lucene/codecs/ core/src/java/org/apache/lucene/index/

Author: rmuir
Date: Mon Nov 19 14:16:44 2012
New Revision: 1411193

URL: http://svn.apache.org/viewvc?rev=1411193&view=rev
Log:
make producer api parallel the consumer api

Modified:
    lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
    lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java
    lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java
    lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java

Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java Mon Nov 19 14:16:44 2012
@@ -65,6 +65,7 @@ public class SimpleTextSimpleDocValuesFo
   final static BytesRef FIELD   = new BytesRef("field ");
   // used for numerics
   final static BytesRef MINVALUE = new BytesRef("  minvalue ");
+  final static BytesRef MAXVALUE = new BytesRef("  maxvalue ");
   final static BytesRef PATTERN  = new BytesRef("  pattern ");
   // used for bytes
   final static BytesRef FIXEDLENGTH = new BytesRef("  fixedlength ");
@@ -89,6 +90,7 @@ public class SimpleTextSimpleDocValuesFo
    *  <pre>
    *  field myField
    *    minvalue 0
+   *    maxvalue 234
    *    pattern 000
    *  005
    *  234
@@ -165,6 +167,10 @@ public class SimpleTextSimpleDocValuesFo
       SimpleTextUtil.write(data, MINVALUE);
       SimpleTextUtil.write(data, Long.toString(minValue), scratch);
       SimpleTextUtil.writeNewline(data);
+      
+      SimpleTextUtil.write(data, MAXVALUE);
+      SimpleTextUtil.write(data, Long.toString(maxValue), scratch);
+      SimpleTextUtil.writeNewline(data);
 
       assert maxValue >= minValue;
 
@@ -386,6 +392,7 @@ public class SimpleTextSimpleDocValuesFo
       int maxLength;
       boolean fixedLength;
       long minValue;
+      long maxValue;
       int numValues;
     };
 
@@ -422,6 +429,9 @@ public class SimpleTextSimpleDocValuesFo
           assert startsWith(MINVALUE);
           field.minValue = Long.parseLong(stripPrefix(MINVALUE));
           readLine();
+          assert startsWith(MAXVALUE);
+          field.maxValue = Long.parseLong(stripPrefix(MAXVALUE));
+          readLine();
           assert startsWith(PATTERN);
           field.pattern = stripPrefix(PATTERN);
           field.dataStartFilePointer = data.getFilePointer();
@@ -500,6 +510,21 @@ public class SimpleTextSimpleDocValuesFo
             throw new RuntimeException(ioe);
           }
         }
+
+        @Override
+        public long minValue() {
+          return field.minValue;
+        }
+
+        @Override
+        public long maxValue() {
+          return field.maxValue;
+        }
+
+        @Override
+        public int size() {
+          return maxDoc;
+        }
       };
     }
 

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java Mon Nov 19 14:16:44 2012
@@ -38,7 +38,7 @@ public abstract class NumericDocValuesCo
       final Bits liveDocs = reader.getLiveDocs();
       NumericDocValues source = reader.getNumericDocValues(mergeState.fieldInfo.name);
       if (source == null) {
-        source = NumericDocValues.DEFAULT;
+        source = new NumericDocValues.EMPTY(maxDoc);
       }
       for (int i = 0; i < maxDoc; i++) {
         if (liveDocs == null || liveDocs.get(i)) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java Mon Nov 19 14:16:44 2012
@@ -85,7 +85,7 @@ public abstract class SimpleDVConsumer i
       //System.out.println("merge field=" + mergeState.fieldInfo.name);
       NumericDocValues docValues = reader.getNumericDocValues(mergeState.fieldInfo.name);
       if (docValues == null) {
-        docValues = NumericDocValues.DEFAULT;
+        docValues = new NumericDocValues.EMPTY(1);
       }
       for (int i = 0; i < maxDoc; i++) {
         if (liveDocs == null || liveDocs.get(i)) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java Mon Nov 19 14:16:44 2012
@@ -21,11 +21,36 @@ package org.apache.lucene.index;
 public abstract class NumericDocValues {
   // nocommit throws IOE or not?
   public abstract long get(int docID);
+  
+  public abstract long minValue();
+  public abstract long maxValue();
+  public abstract int size();
 
-  public static final NumericDocValues DEFAULT = new NumericDocValues() {
-      @Override
-      public long get(int docID) {
-        return 0;
-      }
-    };
+  public static final class EMPTY extends NumericDocValues {
+    private final int size;
+    
+    public EMPTY(int size) {
+      this.size = size;
+    }
+
+    @Override
+    public long get(int docID) {
+      return 0;
+    }
+
+    @Override
+    public long minValue() {
+      return 0;
+    }
+
+    @Override
+    public long maxValue() {
+      return 0;
+    }
+
+    @Override
+    public int size() {
+      return size;
+    }
+  };
 }