You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2015/12/09 17:46:47 UTC

[1/2] lucy git commit: Prepare for BB_Mimic removal

Repository: lucy
Updated Branches:
  refs/heads/master 123c48ea2 -> f5916a4e0


Prepare for BB_Mimic removal

Replace BB_Mimic with BB_Grow/memcpy/BB_Set_Size.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/f5916a4e
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/f5916a4e
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/f5916a4e

Branch: refs/heads/master
Commit: f5916a4e0ddfcd5eef6fffd305e7cea37dd842d8
Parents: d59ed7b
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Wed Dec 9 15:45:22 2015 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Wed Dec 9 17:46:05 2015 +0100

----------------------------------------------------------------------
 core/Lucy/Index/PostingPool.c | 12 ++++++------
 core/Lucy/Plan/TextType.c     | 22 +++++++++++++++-------
 2 files changed, 21 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/f5916a4e/core/Lucy/Index/PostingPool.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Index/PostingPool.c b/core/Lucy/Index/PostingPool.c
index 5404742..74714f3 100644
--- a/core/Lucy/Index/PostingPool.c
+++ b/core/Lucy/Index/PostingPool.c
@@ -355,8 +355,8 @@ S_write_terms_and_postings(PostingPool *self, PostingWriter *post_writer,
     RawPostingIVARS *post_ivars = RawPost_IVARS(posting);
     ByteBuf *last_term_text
         = BB_new_bytes(post_ivars->blob, post_ivars->content_len);
-    const char *last_text_buf  = BB_Get_Buf(last_term_text);
-    uint32_t    last_text_size = BB_Get_Size(last_term_text);
+    char     *last_text_buf  = BB_Get_Buf(last_term_text);
+    uint32_t  last_text_size = BB_Get_Size(last_term_text);
     SkipStepper_Set_ID_And_Filepos(skip_stepper, 0, 0);
 
     // Initialize sentinel to be used on the last iter, using an empty string
@@ -402,10 +402,10 @@ S_write_terms_and_postings(PostingPool *self, PostingWriter *post_writer,
             last_skip_filepos     = tinfo_ivars->post_filepos;
 
             // Remember the term_text so we can write string diffs.
-            BB_Mimic_Bytes(last_term_text, post_ivars->blob,
-                           post_ivars->content_len);
-            last_text_buf  = BB_Get_Buf(last_term_text);
-            last_text_size = BB_Get_Size(last_term_text);
+            last_text_size = post_ivars->content_len;
+            last_text_buf  = BB_Grow(last_term_text, last_text_size);
+            memcpy(last_text_buf, post_ivars->blob, last_text_size);
+            BB_Set_Size(last_term_text, last_text_size);
         }
 
         // Bail on last iter before writing invalid posting data.

http://git-wip-us.apache.org/repos/asf/lucy/blob/f5916a4e/core/Lucy/Plan/TextType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Plan/TextType.c b/core/Lucy/Plan/TextType.c
index be851ba..4737b8c 100644
--- a/core/Lucy/Plan/TextType.c
+++ b/core/Lucy/Plan/TextType.c
@@ -38,6 +38,10 @@ TextType_Primitive_ID_IMP(TextType *self) {
 
 /***************************************************************************/
 
+// The internal, current value of TextTermStepper is stored either as a
+// String in `ivars->value` or, if `ivars->value == NULL`, as ByteBuf in
+// `ivars->bytebuf`.
+
 TextTermStepper*
 TextTermStepper_new() {
     TextTermStepper *self
@@ -134,7 +138,9 @@ TextTermStepper_Write_Delta_IMP(TextTermStepper *self, OutStream *outstream,
     OutStream_Write_String(outstream, diff_start_str, diff_len);
 
     // Update value.
-    BB_Mimic_Bytes(ivars->bytebuf, new_text, new_size);
+    char *buf = BB_Grow(ivars->bytebuf, new_size);
+    memcpy(buf, new_text, new_size);
+    BB_Set_Size(ivars->bytebuf, new_size);
 
     // Invalidate string value.
     DECREF(ivars->value);
@@ -172,10 +178,16 @@ TextTermStepper_Read_Delta_IMP(TextTermStepper *self, InStream *instream) {
     const uint32_t total_text_len   = text_overlap + finish_chars_len;
 
     // Allocate space.
+    char *ptr = BB_Grow(ivars->bytebuf, total_text_len);
+
     if (ivars->value) {
-        BB_Mimic(ivars->bytebuf, ivars->value);
+        // Copy overlapping part from string value.
+        memcpy(ptr, Str_Get_Ptr8((String*)ivars->value), text_overlap);
+
+        // Invalidate string value.
+        DECREF(ivars->value);
+        ivars->value = NULL;
     }
-    char *ptr = BB_Grow(ivars->bytebuf, total_text_len);
 
     // Set the value text.
     InStream_Read_Bytes(instream, ptr + text_overlap, finish_chars_len);
@@ -185,10 +197,6 @@ TextTermStepper_Read_Delta_IMP(TextTermStepper *self, InStream *instream) {
               InStream_Get_Filename(instream),
               InStream_Tell(instream) - finish_chars_len);
     }
-
-    // Invalidate string value.
-    DECREF(ivars->value);
-    ivars->value = NULL;
 }
 
 


[2/2] lucy git commit: Prepare for Blob_compare removal

Posted by nw...@apache.org.
Prepare for Blob_compare removal


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/d59ed7b2
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/d59ed7b2
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/d59ed7b2

Branch: refs/heads/master
Commit: d59ed7b2a393646cddc8726d71191d4f0f289185
Parents: 123c48e
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Wed Dec 9 15:16:55 2015 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Wed Dec 9 17:46:05 2015 +0100

----------------------------------------------------------------------
 core/Lucy/Util/BlobSortEx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/d59ed7b2/core/Lucy/Util/BlobSortEx.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Util/BlobSortEx.c b/core/Lucy/Util/BlobSortEx.c
index 3126c1d..351a8a1 100644
--- a/core/Lucy/Util/BlobSortEx.c
+++ b/core/Lucy/Util/BlobSortEx.c
@@ -167,7 +167,7 @@ BlobSortEx_Flip_IMP(BlobSortEx *self) {
 int
 BlobSortEx_Compare_IMP(BlobSortEx *self, Obj **ptr_a, Obj **ptr_b) {
     UNUSED_VAR(self);
-    return Blob_compare((Blob**)ptr_a, (Blob**)ptr_b);
+    return Obj_Compare_To(*ptr_a, *ptr_b);
 }
 
 Vector*