Re: cmake error

2017-11-08 Thread Om Jadhav
Hi Jianqiao,

Please find the make error below:

[  7%] Completed 'libtcmalloc_ext'
[  7%] Built target libtcmalloc_ext
[  7%] Building CXX object 
third_party/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[  7%] Linking CXX static library libgtest.a
[  7%] Built target gtest
[  7%] Building CXX object 
third_party/gflags/CMakeFiles/gflags_nothreads-static.dir/src/gflags.cc.o
/home/omjadhav/quickstep/third_party/src/gflags/src/gflags.cc:443:5: error: 
‘int google::{anonymous}::FlagValue::ValueSize() const’ defined but not used 
[-Werror=unused-function]
 int FlagValue::ValueSize() const {
 ^
cc1plus: error: unrecognized command line option ‘-Wno-return-type-c-linkage’ 
[-Werror]
cc1plus: all warnings being treated as errors
third_party/gflags/CMakeFiles/gflags_nothreads-static.dir/build.make:62: recipe 
for target 
'third_party/gflags/CMakeFiles/gflags_nothreads-static.dir/src/gflags.cc.o' 
failed
make[2]: *** 
[third_party/gflags/CMakeFiles/gflags_nothreads-static.dir/src/gflags.cc.o] 
Error 1
CMakeFiles/Makefile2:939: recipe for target 
'third_party/gflags/CMakeFiles/gflags_nothreads-static.dir/all' failed
make[1]: *** [third_party/gflags/CMakeFiles/gflags_nothreads-static.dir/all] 
Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2


Thanks
Om

On 06/11/17, 3:45 PM, "Jianqiao"  wrote:

Hi Om,

It seems that your "cmake" output is okay. Can you also provide the "make"
error message?

Best,
Jianqiao

2017-11-06 11:34 GMT-06:00 Harshad Deshmukh :

> Hi Om,
>
> What's your build setup? Did you download the prerequisites and
> initialized the git submodules?
>
> Get Outlook for Android
>
> 
> From: Om Jadhav 
> Sent: Friday, November 3, 2017 3:42:05 PM
> To: dev@quickstep.incubator.apache.org
> Subject: cmake error
>
> Hello,
>
> I am trying to cmake, and I am getting most of the things failed for the
> first time. And also the build is failing after this cmake.
>
> o/p:
>
> Vector copy elision level set to: single-relation selection
> -- git Version: v0.0.0
> -- Version: 0.0.0
> -- Performing Test HAVE_STD_REGEX
> -- Performing Test HAVE_STD_REGEX -- success
> -- Performing Test HAVE_GNU_POSIX_REGEX
> -- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
> -- Performing Test HAVE_POSIX_REGEX
> -- Performing Test HAVE_POSIX_REGEX -- success
> -- Performing Test HAVE_STEADY_CLOCK
> -- Performing Test HAVE_STEADY_CLOCK -- success
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.gregs[REG_EIP]
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.gregs[REG_RIP]
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member: 
uc_mcontext.sc_ip
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.uc_regs->gregs[PT_NIP]
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.gregs[R15]
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.arm_pc
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.mc_eip
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.mc_rip
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.__gregs[_REG_EIP]
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext.__gregs[_REG_RIP]
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext->ss.eip
> -- Performing Test PC_FROM_UCONTEXT_COMPILES
> -- Performing Test PC_FROM_UCONTEXT_COMPILES - Failed
> -- Checking program counter fetch from ucontext_t member:
> uc_mcontext->__ss.__eip

[GitHub] incubator-quickstep pull request #322: Generalized Hash Join - DO NOT MERGE

2017-11-08 Thread zuyu
Github user zuyu commented on a diff in the pull request:

https://github.com/apache/incubator-quickstep/pull/322#discussion_r149791914
  
--- Diff: query_optimizer/ExecutionGenerator.cpp ---
@@ -1102,6 +1121,320 @@ void ExecutionGenerator::convertHashJoin(const 
P::HashJoinPtr &physical_plan) {
   }
 }
 
+void ExecutionGenerator::convertGeneralizedHashJoin(const 
P::GeneralizedHashJoinPtr &physical_plan) {
+  // HashJoin is converted to three operators:
+  // BuildHash, HashJoin, DestroyHash. The second is the primary 
operator.
+
+  P::PhysicalPtr probe_physical = physical_plan->left();
+  P::PhysicalPtr build_physical = physical_plan->right();
+  P::PhysicalPtr second_build_physical = physical_plan->middle();
+
+  std::vector probe_attribute_ids;
+  std::vector build_attribute_ids;
+  std::vector second_probe_attribute_ids;
+  std::vector second_build_attribute_ids;
+
+  std::size_t build_cardinality =
+  cost_model_for_hash_join_->estimateCardinality(build_physical);
+
+  std::size_t second_build_cardinality =
+  
cost_model_for_hash_join_->estimateCardinality(second_build_physical);
+
+  bool any_probe_attributes_nullable = false;
+  bool any_build_attributes_nullable = false;
+  bool any_second_probe_attributes_nullable = false;
+  bool any_second_build_attributes_nullable = false;
+
+  const std::vector &left_join_attributes =
+  physical_plan->left_join_attributes();
+  for (const E::AttributeReferencePtr &left_join_attribute : 
left_join_attributes) {
--- End diff --

We could create functions in the anonymous namespace to set these values.


---