From bab27492e5b45a5186281905205799907c231205 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Mon, 5 Sep 2016 17:04:43 -0400 Subject: [PATCH 1/2] Add a version number / enum to the Message and File metadata Change-Id: I3941a1e7b60ea946b507893a18a803db191161e1 --- cpp/src/arrow/ipc/metadata-internal.cc | 3 ++- cpp/src/arrow/ipc/metadata-internal.h | 2 ++ format/File.fbs | 1 + format/Message.fbs | 5 +++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cpp/src/arrow/ipc/metadata-internal.cc b/cpp/src/arrow/ipc/metadata-internal.cc index 1c15218c0ba..8cc902c2967 100644 --- a/cpp/src/arrow/ipc/metadata-internal.cc +++ b/cpp/src/arrow/ipc/metadata-internal.cc @@ -295,7 +295,8 @@ Status WriteDataHeader(int32_t length, int64_t body_length, } Status MessageBuilder::Finish() { - auto message = flatbuf::CreateMessage(fbb_, header_type_, header_, body_length_); + auto message = flatbuf::CreateMessage(fbb_, kMetadataVersion, + header_type_, header_, body_length_); fbb_.Finish(message); return Status::OK(); } diff --git a/cpp/src/arrow/ipc/metadata-internal.h b/cpp/src/arrow/ipc/metadata-internal.h index 5faa8c947b5..d118803937f 100644 --- a/cpp/src/arrow/ipc/metadata-internal.h +++ b/cpp/src/arrow/ipc/metadata-internal.h @@ -37,6 +37,8 @@ class Status; namespace ipc { +static constexpr flatbuf::MetadataVersion kMetadataVersion = flatbuf::MetadataVersion_V1; + Status FieldFromFlatbuffer(const flatbuf::Field* field, std::shared_ptr* out); class MessageBuilder { diff --git a/format/File.fbs b/format/File.fbs index f7ad1e1594a..a29bbc694bc 100644 --- a/format/File.fbs +++ b/format/File.fbs @@ -7,6 +7,7 @@ namespace org.apache.arrow.flatbuf; /// table Footer { + version: org.apache.arrow.flatbuf.MetadataVersion; schema: org.apache.arrow.flatbuf.Schema; diff --git a/format/Message.fbs b/format/Message.fbs index 78bdaeb35f5..24bc10dc734 100644 --- a/format/Message.fbs +++ b/format/Message.fbs @@ -1,5 +1,9 @@ namespace org.apache.arrow.flatbuf; +enum MetadataVersion:short { + V1 +} + /// ---------------------------------------------------------------------- /// Logical types and their metadata (if any) /// @@ -237,6 +241,7 @@ union MessageHeader { } table Message { + version: org.apache.arrow.flatbuf.MetadataVersion; header: MessageHeader; bodyLength: long; } From 60ee5c0aa816e19c03bb44114f66832b94c4403c Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Thu, 8 Sep 2016 23:04:35 -0400 Subject: [PATCH 2/2] Rename current version to V1_SNAPSHOT to reflect changing nature Change-Id: I254bbd506bf4683a4b5ecd2de4e33db10acc2376 --- cpp/src/arrow/ipc/metadata-internal.h | 3 ++- format/Message.fbs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cpp/src/arrow/ipc/metadata-internal.h b/cpp/src/arrow/ipc/metadata-internal.h index d118803937f..db9a83f6a8d 100644 --- a/cpp/src/arrow/ipc/metadata-internal.h +++ b/cpp/src/arrow/ipc/metadata-internal.h @@ -37,7 +37,8 @@ class Status; namespace ipc { -static constexpr flatbuf::MetadataVersion kMetadataVersion = flatbuf::MetadataVersion_V1; +static constexpr flatbuf::MetadataVersion kMetadataVersion = + flatbuf::MetadataVersion_V1_SNAPSHOT; Status FieldFromFlatbuffer(const flatbuf::Field* field, std::shared_ptr* out); diff --git a/format/Message.fbs b/format/Message.fbs index 24bc10dc734..657904a7032 100644 --- a/format/Message.fbs +++ b/format/Message.fbs @@ -1,7 +1,7 @@ namespace org.apache.arrow.flatbuf; enum MetadataVersion:short { - V1 + V1_SNAPSHOT } /// ----------------------------------------------------------------------