You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2018/11/21 03:29:40 UTC
[2/4] kudu git commit: build: explicitly declare decimal Set/Get<>s
build: explicitly declare decimal Set/Get<>s
Some compilers aren't clever enough to pick up on implicit instantiation
of templates based on usage in a given compilation unit, and instead we
need to explicitly instantiate them. This surfaced as the following
build error:
Undefined symbols for architecture x86_64:
"kudu::Status kudu::KuduPartialRow::Set<kudu::TypeTraits<(kudu::DataType)15> >(int, kudu::TypeTraits<(kudu::DataType)15>::cpp_type const&, bool)", referenced from:
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)15> >::GenerateSplitRows(kudu::client::KuduSchema const&) const in all_types-itest.cc.o
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)15> >::GenerateRowKey(kudu::client::KuduInsert*, int, int) const in all_types-itest.cc.o
"kudu::Status kudu::KuduPartialRow::Set<kudu::TypeTraits<(kudu::DataType)16> >(int, kudu::TypeTraits<(kudu::DataType)16>::cpp_type const&, bool)", referenced from:
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)16> >::GenerateSplitRows(kudu::client::KuduSchema const&) const in all_types-itest.cc.o
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)16> >::GenerateRowKey(kudu::client::KuduInsert*, int, int) const in all_types-itest.cc.o
"kudu::Status kudu::KuduPartialRow::Set<kudu::TypeTraits<(kudu::DataType)17> >(int, kudu::TypeTraits<(kudu::DataType)17>::cpp_type const&, bool)", referenced from:
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)17> >::GenerateSplitRows(kudu::client::KuduSchema const&) const in all_types-itest.cc.o
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)17> >::GenerateRowKey(kudu::client::KuduInsert*, int, int) const in all_types-itest.cc.o
"kudu::Status kudu::client::KuduScanBatch::RowPtr::Get<kudu::TypeTraits<(kudu::DataType)15> >(int, kudu::TypeTraits<(kudu::DataType)15>::cpp_type*) const", referenced from:
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)15> >::VerifyRowKey(kudu::client::KuduScanBatch::RowPtr const&, int, int) const in all_types-itest.cc.o
"kudu::Status kudu::client::KuduScanBatch::RowPtr::Get<kudu::TypeTraits<(kudu::DataType)16> >(int, kudu::TypeTraits<(kudu::DataType)16>::cpp_type*) const", referenced from:
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)16> >::VerifyRowKey(kudu::client::KuduScanBatch::RowPtr const&, int, int) const in all_types-itest.cc.o
"kudu::Status kudu::client::KuduScanBatch::RowPtr::Get<kudu::TypeTraits<(kudu::DataType)17> >(int, kudu::TypeTraits<(kudu::DataType)17>::cpp_type*) const", referenced from:
kudu::client::IntKeysTestSetup<kudu::client::KeyTypeWrapper<(kudu::DataType)17> >::VerifyRowKey(kudu::client::KuduScanBatch::RowPtr const&, int, int) const in all_types-itest.cc.o
Change-Id: If280f69b5736737a55862486c98f434cfb8e8072
Reviewed-on: http://gerrit.cloudera.org:8080/11969
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Reviewed-by: Alexey Serbin <as...@cloudera.com>
Tested-by: Kudu Jenkins
Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/b8595f8f
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/b8595f8f
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/b8595f8f
Branch: refs/heads/master
Commit: b8595f8fcb34e42c649b9f90dd5ddec527747d44
Parents: 27baa0c
Author: Andrew Wong <aw...@cloudera.com>
Authored: Tue Nov 20 16:36:01 2018 -0800
Committer: Andrew Wong <aw...@cloudera.com>
Committed: Wed Nov 21 01:21:50 2018 +0000
----------------------------------------------------------------------
src/kudu/client/scan_batch.cc | 9 +++++++++
src/kudu/common/partial_row.cc | 31 +++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kudu/blob/b8595f8f/src/kudu/client/scan_batch.cc
----------------------------------------------------------------------
diff --git a/src/kudu/client/scan_batch.cc b/src/kudu/client/scan_batch.cc
index 410d125..ac63c1f 100644
--- a/src/kudu/client/scan_batch.cc
+++ b/src/kudu/client/scan_batch.cc
@@ -311,6 +311,15 @@ Status KuduScanBatch::RowPtr::Get<TypeTraits<STRING> >(int col_idx, Slice* val)
template
Status KuduScanBatch::RowPtr::Get<TypeTraits<BINARY> >(int col_idx, Slice* val) const;
+template
+Status KuduScanBatch::RowPtr::Get<TypeTraits<DECIMAL32> >(int col_idx, int32_t* val) const;
+
+template
+Status KuduScanBatch::RowPtr::Get<TypeTraits<DECIMAL64> >(int col_idx, int64_t* val) const;
+
+template
+Status KuduScanBatch::RowPtr::Get<TypeTraits<DECIMAL128> >(int col_idx, int128_t* val) const;
+
Status KuduScanBatch::RowPtr::GetUnscaledDecimal(int col_idx, int128_t* val) const {
const ColumnSchema& col = schema_->column(col_idx);
const DataType col_type = col.type_info()->type();
http://git-wip-us.apache.org/repos/asf/kudu/blob/b8595f8f/src/kudu/common/partial_row.cc
----------------------------------------------------------------------
diff --git a/src/kudu/common/partial_row.cc b/src/kudu/common/partial_row.cc
index de7d52a..b20ce33 100644
--- a/src/kudu/common/partial_row.cc
+++ b/src/kudu/common/partial_row.cc
@@ -499,6 +499,22 @@ Status KuduPartialRow::Set<TypeTraits<BOOL> >(int col_idx,
bool owned);
template
+Status KuduPartialRow::Set<TypeTraits<DECIMAL32> >(int col_idx,
+ const TypeTraits<DECIMAL32>::cpp_type& val,
+ bool owned);
+
+template
+Status KuduPartialRow::Set<TypeTraits<DECIMAL64> >(int col_idx,
+ const TypeTraits<DECIMAL64>::cpp_type& val,
+ bool owned);
+
+template
+Status KuduPartialRow::Set<TypeTraits<DECIMAL128> >(int col_idx,
+ const TypeTraits<DECIMAL128>::cpp_type& val,
+ bool owned);
+
+
+template
Status KuduPartialRow::Set<TypeTraits<INT8> >(const Slice& col_name,
const TypeTraits<INT8>::cpp_type& val,
bool owned);
@@ -554,6 +570,21 @@ Status KuduPartialRow::Set<TypeTraits<BINARY> >(const Slice& col_name,
const TypeTraits<BINARY>::cpp_type& val,
bool owned);
+template
+Status KuduPartialRow::Set<TypeTraits<DECIMAL32> >(const Slice& col_name,
+ const TypeTraits<DECIMAL32>::cpp_type& val,
+ bool owned);
+
+template
+Status KuduPartialRow::Set<TypeTraits<DECIMAL64> >(const Slice& col_name,
+ const TypeTraits<DECIMAL64>::cpp_type& val,
+ bool owned);
+
+template
+Status KuduPartialRow::Set<TypeTraits<DECIMAL128> >(const Slice& col_name,
+ const TypeTraits<DECIMAL128>::cpp_type& val,
+ bool owned);
+
//------------------------------------------------------------
// Getters
//------------------------------------------------------------