[Groonga-commit] pgroonga/pgroonga at fa64009 [master] wal: add raw interface

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Nov 3 16:37:00 JST 2016


Kouhei Sutou	2016-11-03 16:37:00 +0900 (Thu, 03 Nov 2016)

  New Revision: fa640094073311b541ea5829ece5e21346ab9106
  https://github.com/pgroonga/pgroonga/commit/fa640094073311b541ea5829ece5e21346ab9106

  Message:
    wal: add raw interface

  Modified files:
    src/pgrn_wal.c
    src/pgrn_wal.h

  Modified: src/pgrn_wal.c (+16 -3)
===================================================================
--- src/pgrn_wal.c    2016-11-03 16:36:34 +0900 (6a81c45)
+++ src/pgrn_wal.c    2016-11-03 16:37:00 +0900 (39810e3)
@@ -635,7 +635,7 @@ PGrnWALInsertColumn(PGrnWALData *data,
 }
 
 void
-PGrnWALInsertKey(PGrnWALData *data, grn_obj *key)
+PGrnWALInsertKeyRaw(PGrnWALData *data, const void *key, size_t keySize)
 {
 #ifdef PGRN_SUPPORT_WAL
 	msgpack_packer *packer;
@@ -648,13 +648,26 @@ PGrnWALInsertKey(PGrnWALData *data, grn_obj *key)
 	PGrnWALInsertColumnStart(data,
 							 GRN_COLUMN_NAME_KEY,
 							 GRN_COLUMN_NAME_KEY_LEN);
-	msgpack_pack_bin(packer, GRN_BULK_VSIZE(key));
-	msgpack_pack_bin_body(packer, GRN_BULK_HEAD(key), GRN_BULK_VSIZE(key));
+	msgpack_pack_bin(packer, keySize);
+	msgpack_pack_bin_body(packer, key, keySize);
 	PGrnWALInsertColumnFinish(data);
 #endif
 }
 
 void
+PGrnWALInsertKey(PGrnWALData *data, grn_obj *key)
+{
+#ifdef PGRN_SUPPORT_WAL
+	if (!data)
+		return;
+
+	PGrnWALInsertKeyRaw(data,
+						GRN_BULK_HEAD(key),
+						GRN_BULK_VSIZE(key));
+#endif
+}
+
+void
 PGrnWALCreateTable(Relation index,
 				   const char *name,
 				   size_t nameSize,

  Modified: src/pgrn_wal.h (+3 -0)
===================================================================
--- src/pgrn_wal.h    2016-11-03 16:36:34 +0900 (c56a4e8)
+++ src/pgrn_wal.h    2016-11-03 16:37:00 +0900 (00a2404)
@@ -26,6 +26,9 @@ void PGrnWALInsertColumnFinish(PGrnWALData *data);
 void PGrnWALInsertColumn(PGrnWALData *data,
 						 grn_obj *column,
 						 grn_obj *value);
+void PGrnWALInsertKeyRaw(PGrnWALData *data,
+						 const void *key,
+						 size_t keySize);
 void PGrnWALInsertKey(PGrnWALData *data,
 					  grn_obj *key);
 
-------------- next part --------------
HTML����������������������������...
下載 



More information about the Groonga-commit mailing list
Back to archive index