[Groonga-commit] pgroonga/pgroonga at 9d97447 [master] Make buildable with msgpack 0.5.9

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Dec 16 11:03:39 JST 2016


Kouhei Sutou	2016-12-16 11:03:39 +0900 (Fri, 16 Dec 2016)

  New Revision: 9d97447abcf3ccaf26a4274abc136e79b51d9f87
  https://github.com/pgroonga/pgroonga/commit/9d97447abcf3ccaf26a4274abc136e79b51d9f87

  Message:
    Make buildable with msgpack 0.5.9

  Modified files:
    src/pgrn_wal.c

  Modified: src/pgrn_wal.c (+68 -30)
===================================================================
--- src/pgrn_wal.c    2016-12-16 10:30:27 +0900 (96fca74)
+++ src/pgrn_wal.c    2016-12-16 11:03:39 +0900 (0919cb9)
@@ -88,6 +88,45 @@ struct PGrnWALData_
 };
 
 #ifdef PGRN_SUPPORT_WAL
+#	if MSGPACK_VERSION_MAJOR == 0
+#		define MSGPACK_OBJECT_FLOAT MSGPACK_OBJECT_DOUBLE
+#		define MSGPACK_OBJECT_STR   MSGPACK_OBJECT_RAW
+#		define MSGPACK_OBJECT_BIN   MSGPACK_OBJECT_RAW
+#	endif
+
+#	if MSGPACK_VERSION_MAJOR == 0
+#		define MSGPACK_OBJECT_VIA_FLOAT(object) ((object).via.dec)
+#		define MSGPACK_OBJECT_VIA_STR(object)   ((object).via.raw)
+#		define MSGPACK_OBJECT_VIA_BIN(object)   ((object).via.raw)
+#	else
+#		define MSGPACK_OBJECT_VIA_FLOAT(object) ((object).via.f64)
+#		define MSGPACK_OBJECT_VIA_STR(object)   ((object).via.str)
+#		define MSGPACK_OBJECT_VIA_BIN(object)   ((object).via.bin)
+#	endif
+#endif
+
+#ifdef PGRN_SUPPORT_WAL
+#	if MSGPACK_VERSION_MAJOR == 0
+#		define msgpack_pack_str(packer, size) \
+	msgpack_pack_raw((packer), (size))
+#		define msgpack_pack_str_body(packer, data, size) \
+	msgpack_pack_raw_body((packer), (data), (size))
+#		define msgpack_pack_bin(packer, size) \
+	msgpack_pack_raw((packer), (size))
+#		define msgpack_pack_bin_body(packer, data, size) \
+	msgpack_pack_raw_body((packer), (data), (size))
+#	endif
+
+#ifdef PGRN_SUPPORT_WAL
+#	if MSGPACK_VERSION_MAJOR == 0
+#		define MSGPACK_UNPACKER_NEXT(unpacker, unpacked) \
+	msgpack_unpacker_next((unpacker), (unpacked))
+#	else
+#		define MSGPACK_UNPACKER_NEXT(unpacker, unpacked) \
+	msgpack_unpacker_next((unpacker), (unpacked)) == MSGPACK_UNPACK_SUCCESS
+#	endif
+#endif
+
 static void
 msgpack_pack_cstr(msgpack_packer *packer, const char *string)
 {
@@ -866,9 +905,9 @@ PGrnWALApplyKeyEqual(const char *context,
 	}
 
 	nameSize = strlen(name);
-	if (key->via.str.size != nameSize)
+	if (MSGPACK_OBJECT_VIA_STR(*key).size != nameSize)
 		return false;
-	if (memcmp(key->via.str.ptr, name, nameSize) != 0)
+	if (memcmp(MSGPACK_OBJECT_VIA_STR(*key).ptr, name, nameSize) != 0)
 		return false;
 
 	return true;
@@ -887,8 +926,8 @@ PGrnWALApplyValueGetPositiveInteger(const char *context,
 						"<%#x>",
 						context ? context : "",
 						context ? ": " : "",
-						kv->key.via.str.size,
-						kv->key.via.str.ptr,
+						MSGPACK_OBJECT_VIA_STR(kv->key).size,
+						MSGPACK_OBJECT_VIA_STR(kv->key).ptr,
 						kv->val.type)));
 	}
 
@@ -910,13 +949,13 @@ PGrnWALApplyValueGetString(const char *context,
 						"<%#x>",
 						context ? context : "",
 						context ? ": " : "",
-						kv->key.via.str.size,
-						kv->key.via.str.ptr,
+						MSGPACK_OBJECT_VIA_STR(kv->key).size,
+						MSGPACK_OBJECT_VIA_STR(kv->key).ptr,
 						kv->val.type)));
 	}
 
-	*string = kv->val.via.str.ptr;
-	*stringSize = kv->val.via.str.size;
+	*string = MSGPACK_OBJECT_VIA_STR(kv->val).ptr;
+	*stringSize = MSGPACK_OBJECT_VIA_STR(kv->val).size;
 }
 
 static grn_obj *
@@ -931,8 +970,8 @@ PGrnWALApplyValueGetGroongaObject(const char *context,
 		object = NULL;
 		break;
 	case MSGPACK_OBJECT_STR:
-		object = PGrnLookupWithSize(kv->val.via.str.ptr,
-									kv->val.via.str.size,
+		object = PGrnLookupWithSize(MSGPACK_OBJECT_VIA_STR(kv->val).ptr,
+									MSGPACK_OBJECT_VIA_STR(kv->val).size,
 									ERROR);
 		break;
 	default:
@@ -943,8 +982,8 @@ PGrnWALApplyValueGetGroongaObject(const char *context,
 						"<%#x>",
 						context ? context : "",
 						context ? ": " : "",
-						kv->key.via.str.size,
-						kv->key.via.str.ptr,
+						MSGPACK_OBJECT_VIA_STR(kv->key).size,
+						MSGPACK_OBJECT_VIA_STR(kv->key).ptr,
 						kv->val.type)));
 		break;
 	}
@@ -969,8 +1008,8 @@ PGrnWALApplyValueGetGroongaObjectIDs(const char *context,
 						"<%#x>",
 						context ? context : "",
 						context ? ": " : "",
-						kv->key.via.str.size,
-						kv->key.via.str.ptr,
+						MSGPACK_OBJECT_VIA_STR(kv->key).size,
+						MSGPACK_OBJECT_VIA_STR(kv->key).ptr,
 						kv->val.type)));
 	}
 
@@ -991,14 +1030,14 @@ PGrnWALApplyValueGetGroongaObjectIDs(const char *context,
 							"[%u]=<%#x>",
 							context ? context : "",
 							context ? ": " : "",
-							kv->key.via.str.size,
-							kv->key.via.str.ptr,
+							MSGPACK_OBJECT_VIA_STR(kv->key).size,
+							MSGPACK_OBJECT_VIA_STR(kv->key).ptr,
 							i,
 							element->type)));
 		}
 
-		object = PGrnLookupWithSize(element->via.str.ptr,
-									element->via.str.size,
+		object = PGrnLookupWithSize(MSGPACK_OBJECT_VIA_STR(*element).ptr,
+									MSGPACK_OBJECT_VIA_STR(*element).size,
 									ERROR);
 		objectID = grn_obj_id(ctx, object);
 		GRN_RECORD_PUT(ctx, ids, objectID);
@@ -1061,13 +1100,13 @@ PGrnWALApplyInsertArray(PGrnWALApplyData *data,
 			break;
 #undef ELEMENT_VALUE
 		case MSGPACK_OBJECT_FLOAT:
-			GRN_FLOAT_PUT(ctx, value, element->via.f64);
+			GRN_FLOAT_PUT(ctx, value, MSGPACK_OBJECT_VIA_FLOAT(*element));
 			break;
 		case MSGPACK_OBJECT_STR:
 			grn_vector_add_element(ctx,
 								   value,
-								   element->via.str.ptr,
-								   element->via.str.size,
+								   MSGPACK_OBJECT_VIA_STR(*element).ptr,
+								   MSGPACK_OBJECT_VIA_STR(*element).size,
 								   0,
 								   range_id);
 			break;
@@ -1131,8 +1170,8 @@ PGrnWALApplyInsert(PGrnWALApplyData *data,
 								GRN_COLUMN_NAME_KEY,
 								kv->val.type)));
 			}
-			key = kv->val.via.bin.ptr;
-			keySize = kv->val.via.bin.size;
+			key = MSGPACK_OBJECT_VIA_BIN(kv->val).ptr;
+			keySize = MSGPACK_OBJECT_VIA_BIN(kv->val).size;
 			currentElement++;
 		}
 	}
@@ -1159,8 +1198,8 @@ PGrnWALApplyInsert(PGrnWALApplyData *data,
 		}
 
 		column = PGrnLookupColumnWithSize(table,
-										  key->via.str.ptr,
-										  key->via.str.size,
+										  MSGPACK_OBJECT_VIA_STR(*key).ptr,
+										  MSGPACK_OBJECT_VIA_STR(*key).size,
 										  ERROR);
 		switch (value->type)
 		{
@@ -1178,13 +1217,13 @@ PGrnWALApplyInsert(PGrnWALApplyData *data,
 			break;
 		case MSGPACK_OBJECT_FLOAT:
 			grn_obj_reinit(ctx, walValue, GRN_DB_FLOAT, 0);
-			GRN_FLOAT_SET(ctx, walValue, value->via.f64);
+			GRN_FLOAT_SET(ctx, walValue, MSGPACK_OBJECT_VIA_FLOAT(*value));
 			break;
 		case MSGPACK_OBJECT_STR:
 			grn_obj_reinit(ctx, walValue, GRN_DB_TEXT, 0);
 			GRN_TEXT_SET(ctx, walValue,
-						 value->via.str.ptr,
-						 value->via.str.size);
+						 MSGPACK_OBJECT_VIA_STR(*value).ptr,
+						 MSGPACK_OBJECT_VIA_STR(*value).size);
 			break;
 		case MSGPACK_OBJECT_ARRAY:
 			PGrnWALApplyInsertArray(data,
@@ -1418,8 +1457,7 @@ PGrnWALApplyConsume(PGrnWALApplyData *data)
 		UnlockReleaseBuffer(buffer);
 
 		msgpack_unpacker_buffer_consumed(&unpacker, dataSize);
-		while (msgpack_unpacker_next(&unpacker, &unpacked) ==
-			   MSGPACK_UNPACK_SUCCESS)
+		while (MSGPACK_UNPACKER_NEXT(&unpacker, &unpacked))
 		{
 			LocationIndex appliedOffset;
 
-------------- next part --------------
HTML����������������������������...
Descargar 



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