clickhouse-native 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. checksums.yaml +7 -0
  2. data/ext/clickhouse_native/client.cpp +847 -0
  3. data/ext/clickhouse_native/extconf.rb +101 -0
  4. data/ext/clickhouse_native/vendor/clickhouse-cpp/.clang-format +11 -0
  5. data/ext/clickhouse_native/vendor/clickhouse-cpp/.git +1 -0
  6. data/ext/clickhouse_native/vendor/clickhouse-cpp/.gitattributes +63 -0
  7. data/ext/clickhouse_native/vendor/clickhouse-cpp/.github/CODEOWNERS +1 -0
  8. data/ext/clickhouse_native/vendor/clickhouse-cpp/.github/workflows/linux.yml +139 -0
  9. data/ext/clickhouse_native/vendor/clickhouse-cpp/.github/workflows/macos.yml +87 -0
  10. data/ext/clickhouse_native/vendor/clickhouse-cpp/.github/workflows/windows_mingw.yml +102 -0
  11. data/ext/clickhouse_native/vendor/clickhouse-cpp/.github/workflows/windows_msvc.yml +74 -0
  12. data/ext/clickhouse_native/vendor/clickhouse-cpp/.gitignore +280 -0
  13. data/ext/clickhouse_native/vendor/clickhouse-cpp/.travis.yml +62 -0
  14. data/ext/clickhouse_native/vendor/clickhouse-cpp/CMakeLists.txt +157 -0
  15. data/ext/clickhouse_native/vendor/clickhouse-cpp/LICENSE +206 -0
  16. data/ext/clickhouse_native/vendor/clickhouse-cpp/README.md +260 -0
  17. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/CMakeLists.txt +246 -0
  18. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/buffer.h +10 -0
  19. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/compressed.cpp +258 -0
  20. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/compressed.h +48 -0
  21. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/endpoints_iterator.cpp +20 -0
  22. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/endpoints_iterator.h +34 -0
  23. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/input.cpp +96 -0
  24. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/input.h +103 -0
  25. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/open_telemetry.h +23 -0
  26. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/output.cpp +119 -0
  27. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/output.h +142 -0
  28. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/platform.cpp +1 -0
  29. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/platform.h +33 -0
  30. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/projected_iterator.h +55 -0
  31. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/singleton.h +11 -0
  32. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/socket.cpp +489 -0
  33. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/socket.h +177 -0
  34. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/sslsocket.cpp +307 -0
  35. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/sslsocket.h +111 -0
  36. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/string_utils.h +28 -0
  37. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/string_view.h +142 -0
  38. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/uuid.h +10 -0
  39. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/wire_format.cpp +177 -0
  40. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/base/wire_format.h +79 -0
  41. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/block.cpp +134 -0
  42. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/block.h +114 -0
  43. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/client.cpp +1269 -0
  44. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/client.h +320 -0
  45. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/array.cpp +175 -0
  46. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/array.h +321 -0
  47. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/column.cpp +24 -0
  48. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/column.h +107 -0
  49. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/date.cpp +365 -0
  50. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/date.h +245 -0
  51. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/decimal.cpp +255 -0
  52. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/decimal.h +50 -0
  53. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/enum.cpp +123 -0
  54. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/enum.h +65 -0
  55. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/factory.cpp +285 -0
  56. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/factory.h +14 -0
  57. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/geo.cpp +108 -0
  58. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/geo.h +79 -0
  59. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/ip4.cpp +117 -0
  60. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/ip4.h +71 -0
  61. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/ip6.cpp +108 -0
  62. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/ip6.h +66 -0
  63. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/itemview.cpp +101 -0
  64. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/itemview.h +86 -0
  65. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/lowcardinality.cpp +527 -0
  66. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/lowcardinality.h +221 -0
  67. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/lowcardinalityadaptor.h +63 -0
  68. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/map.cpp +87 -0
  69. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/map.h +257 -0
  70. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/nothing.h +87 -0
  71. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/nullable.cpp +109 -0
  72. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/nullable.h +153 -0
  73. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/numeric.cpp +126 -0
  74. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/numeric.h +88 -0
  75. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/string.cpp +333 -0
  76. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/string.h +145 -0
  77. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/time.cpp +155 -0
  78. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/time.h +118 -0
  79. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/tuple.cpp +106 -0
  80. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/tuple.h +178 -0
  81. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/utils.h +41 -0
  82. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/uuid.cpp +80 -0
  83. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/columns/uuid.h +58 -0
  84. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/error_codes.h +595 -0
  85. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/exceptions.h +66 -0
  86. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/protocol.h +54 -0
  87. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/query.cpp +25 -0
  88. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/query.h +246 -0
  89. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/server_exception.h +16 -0
  90. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/types/type_parser.cpp +314 -0
  91. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/types/type_parser.h +89 -0
  92. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/types/types.cpp +484 -0
  93. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/types/types.h +397 -0
  94. data/ext/clickhouse_native/vendor/clickhouse-cpp/clickhouse/version.h +14 -0
  95. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/Findcityhash.cmake +26 -0
  96. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/Findlz4.cmake +39 -0
  97. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/Findzstd.cmake +39 -0
  98. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/cpp17.cmake +8 -0
  99. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/openssl.cmake +8 -0
  100. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/subdirs.cmake +5 -0
  101. data/ext/clickhouse_native/vendor/clickhouse-cpp/cmake/version.cmake +87 -0
  102. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/CMakeLists.txt +9 -0
  103. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/attributes.h +682 -0
  104. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/config.h +714 -0
  105. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/internal/bits.h +219 -0
  106. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/macros.h +147 -0
  107. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/optimization.h +241 -0
  108. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/options.h +238 -0
  109. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/policy_checks.h +111 -0
  110. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/base/port.h +26 -0
  111. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/numeric/int128.cc +390 -0
  112. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/numeric/int128.h +1092 -0
  113. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/numeric/int128_have_intrinsic.inc +302 -0
  114. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/absl/absl/numeric/int128_no_intrinsic.inc +308 -0
  115. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/BUCK +13 -0
  116. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/CMakeLists.txt +7 -0
  117. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/COPYING +19 -0
  118. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/city.cc +469 -0
  119. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/city.h +90 -0
  120. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/citycrc.h +43 -0
  121. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/cityhash/cityhash/config.h +118 -0
  122. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/BUCK +14 -0
  123. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/CMakeLists.txt +4 -0
  124. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/LICENSE +28 -0
  125. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/README.md +1 -0
  126. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-death-test.h +346 -0
  127. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-matchers.h +930 -0
  128. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-message.h +219 -0
  129. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-param-test.h +507 -0
  130. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-printers.h +1029 -0
  131. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-spi.h +238 -0
  132. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-test-part.h +184 -0
  133. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest-typed-test.h +329 -0
  134. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest.h +2495 -0
  135. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest_pred_impl.h +359 -0
  136. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/gtest_prod.h +61 -0
  137. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/custom/README.md +56 -0
  138. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/custom/gtest-port.h +37 -0
  139. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/custom/gtest-printers.h +42 -0
  140. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/custom/gtest.h +37 -0
  141. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-death-test-internal.h +304 -0
  142. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-filepath.h +211 -0
  143. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-internal.h +1560 -0
  144. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-param-util.h +947 -0
  145. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-port-arch.h +114 -0
  146. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-port.h +2389 -0
  147. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-string.h +175 -0
  148. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/include/gtest/internal/gtest-type-util.h +183 -0
  149. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-all.cc +48 -0
  150. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-death-test.cc +1644 -0
  151. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-filepath.cc +369 -0
  152. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-internal-inl.h +1221 -0
  153. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-matchers.cc +97 -0
  154. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-port.cc +1433 -0
  155. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-printers.cc +533 -0
  156. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-test-part.cc +108 -0
  157. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest-typed-test.cc +107 -0
  158. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest.cc +6746 -0
  159. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/gtest/src/gtest_main.cc +54 -0
  160. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/BUCK +13 -0
  161. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/CMakeLists.txt +8 -0
  162. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/LICENSE +24 -0
  163. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/lz4.c +2402 -0
  164. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/lz4.h +764 -0
  165. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/lz4hc.c +1554 -0
  166. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/lz4/lz4/lz4hc.h +438 -0
  167. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/BUCK +232 -0
  168. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/CMakeLists.txt +115 -0
  169. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/LICENSE +30 -0
  170. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/allocations.h +55 -0
  171. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/bits.h +200 -0
  172. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/bitstream.h +437 -0
  173. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/compiler.h +358 -0
  174. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/cpu.h +213 -0
  175. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/debug.c +24 -0
  176. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/debug.h +107 -0
  177. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/entropy_common.c +340 -0
  178. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/error_private.c +63 -0
  179. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/error_private.h +159 -0
  180. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/fse.h +639 -0
  181. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/fse_decompress.c +311 -0
  182. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/huf.h +273 -0
  183. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/mem.h +435 -0
  184. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/pool.c +371 -0
  185. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/pool.h +90 -0
  186. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/portability_macros.h +156 -0
  187. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/threading.c +176 -0
  188. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/threading.h +150 -0
  189. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/xxhash.c +24 -0
  190. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/xxhash.h +5686 -0
  191. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/zstd_common.c +48 -0
  192. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/zstd_deps.h +111 -0
  193. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/zstd_internal.h +392 -0
  194. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/common/zstd_trace.h +163 -0
  195. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/clevels.h +134 -0
  196. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/fse_compress.c +624 -0
  197. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/hist.c +181 -0
  198. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/hist.h +75 -0
  199. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/huf_compress.c +1435 -0
  200. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress.c +7032 -0
  201. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_internal.h +1532 -0
  202. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_literals.c +235 -0
  203. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_literals.h +39 -0
  204. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_sequences.c +442 -0
  205. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_sequences.h +54 -0
  206. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_superblock.c +577 -0
  207. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_compress_superblock.h +32 -0
  208. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_cwksp.h +742 -0
  209. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_double_fast.c +758 -0
  210. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_double_fast.h +39 -0
  211. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_fast.c +960 -0
  212. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_fast.h +38 -0
  213. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_lazy.c +2157 -0
  214. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_lazy.h +127 -0
  215. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_ldm.c +724 -0
  216. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_ldm.h +117 -0
  217. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_ldm_geartab.h +106 -0
  218. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_opt.c +1472 -0
  219. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstd_opt.h +56 -0
  220. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstdmt_compress.c +1867 -0
  221. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/compress/zstdmt_compress.h +113 -0
  222. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/huf_decompress.c +1882 -0
  223. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/huf_decompress_amd64.S +576 -0
  224. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/zstd_ddict.c +244 -0
  225. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/zstd_ddict.h +44 -0
  226. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/zstd_decompress.c +2355 -0
  227. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/zstd_decompress_block.c +2192 -0
  228. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/zstd_decompress_block.h +73 -0
  229. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/decompress/zstd_decompress_internal.h +238 -0
  230. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/dictBuilder/cover.c +1257 -0
  231. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/dictBuilder/cover.h +158 -0
  232. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/dictBuilder/divsufsort.c +1913 -0
  233. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/dictBuilder/divsufsort.h +67 -0
  234. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/dictBuilder/fastcover.c +766 -0
  235. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/dictBuilder/zdict.c +1127 -0
  236. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_legacy.h +422 -0
  237. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v01.c +2125 -0
  238. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v01.h +94 -0
  239. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v02.c +3477 -0
  240. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v02.h +93 -0
  241. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v03.c +3117 -0
  242. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v03.h +93 -0
  243. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v04.c +3605 -0
  244. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v04.h +142 -0
  245. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v05.c +4004 -0
  246. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v05.h +162 -0
  247. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v06.c +4113 -0
  248. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v06.h +172 -0
  249. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v07.c +4498 -0
  250. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/legacy/zstd_v07.h +187 -0
  251. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/zdict.h +474 -0
  252. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/zstd.h +3020 -0
  253. data/ext/clickhouse_native/vendor/clickhouse-cpp/contrib/zstd/zstd/zstd_errors.h +114 -0
  254. data/lib/clickhouse_native/clickhouse_native.bundle +0 -0
  255. data/lib/clickhouse_native/client.rb +50 -0
  256. data/lib/clickhouse_native/errors.rb +23 -0
  257. data/lib/clickhouse_native/pool.rb +49 -0
  258. data/lib/clickhouse_native/version.rb +3 -0
  259. data/lib/clickhouse_native.rb +8 -0
  260. metadata +369 -0
@@ -0,0 +1,101 @@
1
+ require "mkmf"
2
+ require "fileutils"
3
+ require "etc"
4
+ require "shellwords"
5
+
6
+ EXT_DIR = __dir__
7
+ VENDOR = File.expand_path("vendor/clickhouse-cpp", EXT_DIR)
8
+ BUILD_DIR = File.expand_path("build", EXT_DIR)
9
+
10
+ def fatal(msg)
11
+ warn
12
+ warn "=== clickhouse-native build failed ==="
13
+ warn msg.chomp
14
+ warn "===================================="
15
+ warn
16
+ abort "clickhouse-native: cannot build extension"
17
+ end
18
+
19
+ unless File.exist?(File.join(VENDOR, "CMakeLists.txt"))
20
+ fatal <<~MSG
21
+ clickhouse-cpp submodule not found at:
22
+ #{VENDOR}
23
+
24
+ If you cloned this gem's repo, run:
25
+ git submodule update --init --recursive
26
+
27
+ If you see this during `gem install`, please report a bug — the
28
+ gemspec should have bundled the submodule tree.
29
+ MSG
30
+ end
31
+
32
+ unless find_executable("cmake")
33
+ fatal <<~MSG
34
+ CMake is required to build the vendored clickhouse-cpp library
35
+ but was not found on PATH.
36
+
37
+ macOS: brew install cmake
38
+ Ubuntu: sudo apt-get install -y cmake build-essential
39
+ Alpine: apk add --no-cache cmake build-base linux-headers
40
+
41
+ A precompiled gem for your platform may be available on rubygems;
42
+ if so, just `gem install clickhouse-native` (without a compiler
43
+ tool chain) should pull it. If you're seeing this message, no
44
+ precompiled gem matched your platform and we fell back to source.
45
+ MSG
46
+ end
47
+
48
+ cxx = ENV["CXX"] || RbConfig::CONFIG["CXX"] || "c++"
49
+ unless find_executable(cxx.split.first)
50
+ fatal <<~MSG
51
+ A C++17-capable compiler is required.
52
+ Tried: #{cxx}
53
+
54
+ macOS: xcode-select --install
55
+ Ubuntu: sudo apt-get install -y g++
56
+ Alpine: apk add --no-cache g++
57
+ MSG
58
+ end
59
+
60
+ FileUtils.mkdir_p(BUILD_DIR)
61
+
62
+ unless File.exist?(File.join(BUILD_DIR, "CMakeCache.txt"))
63
+ configure_args = [
64
+ "cmake",
65
+ "-S", VENDOR,
66
+ "-B", BUILD_DIR,
67
+ "-DBUILD_SHARED_LIBS=OFF",
68
+ "-DBUILD_BENCHMARK=OFF",
69
+ "-DBUILD_TESTS=OFF",
70
+ "-DWITH_OPENSSL=OFF",
71
+ "-DCMAKE_POSITION_INDEPENDENT_CODE=ON",
72
+ "-DCMAKE_BUILD_TYPE=Release",
73
+ ]
74
+ system(*configure_args) or fatal("cmake configure failed. See #{BUILD_DIR}/CMakeFiles/CMakeOutput.log")
75
+ end
76
+
77
+ jobs = ENV.fetch("MAKE_JOBS") { Etc.nprocessors.to_s }
78
+ system("cmake", "--build", BUILD_DIR, "--parallel", jobs) or fatal("cmake build failed")
79
+
80
+ inc_dirs = [
81
+ VENDOR,
82
+ File.join(VENDOR, "contrib"),
83
+ File.join(VENDOR, "contrib", "absl"),
84
+ ]
85
+
86
+ # Order matters: dependents before dependencies.
87
+ # clickhouse-cpp depends on cityhash, lz4, absl, zstd.
88
+ lib_files = Dir.glob(File.join(BUILD_DIR, "**", "*.a"))
89
+ main, contribs = lib_files.partition { |p| p.include?("libclickhouse-cpp") }
90
+ ordered_libs = main + contribs
91
+
92
+ $CXXFLAGS = "#{$CXXFLAGS} -std=c++17 #{inc_dirs.map { |d| "-I#{d}" }.join(' ')}"
93
+ $CPPFLAGS = "#{$CPPFLAGS} #{inc_dirs.map { |d| "-I#{d}" }.join(' ')}"
94
+ $LDFLAGS = "#{$LDFLAGS} #{ordered_libs.map(&:shellescape).join(' ')}"
95
+
96
+ have_library("c++") || have_library("stdc++")
97
+
98
+ $objs = ["client.o"]
99
+ $srcs = ["client.cpp"]
100
+
101
+ create_makefile("clickhouse_native/clickhouse_native")
@@ -0,0 +1,11 @@
1
+ Language: Cpp
2
+ BasedOnStyle: Google
3
+
4
+ AccessModifierOffset: -4
5
+ AlignConsecutiveAssignments: true
6
+ AllowShortFunctionsOnASingleLine: InlineOnly
7
+ ColumnLimit: 140
8
+ DerivePointerAlignment: false
9
+ FixNamespaceComments: true
10
+ IndentWidth: 4
11
+ PointerAlignment: Left
@@ -0,0 +1 @@
1
+ gitdir: ../../../../.git/modules/ext/clickhouse_native/vendor/clickhouse-cpp
@@ -0,0 +1,63 @@
1
+ ###############################################################################
2
+ # Set default behavior to automatically normalize line endings.
3
+ ###############################################################################
4
+ * text=auto
5
+
6
+ ###############################################################################
7
+ # Set default behavior for command prompt diff.
8
+ #
9
+ # This is need for earlier builds of msysgit that does not have it on by
10
+ # default for csharp files.
11
+ # Note: This is only used by command line
12
+ ###############################################################################
13
+ #*.cs diff=csharp
14
+
15
+ ###############################################################################
16
+ # Set the merge driver for project and solution files
17
+ #
18
+ # Merging from the command prompt will add diff markers to the files if there
19
+ # are conflicts (Merging from VS is not affected by the settings below, in VS
20
+ # the diff markers are never inserted). Diff markers may cause the following
21
+ # file extensions to fail to load in VS. An alternative would be to treat
22
+ # these files as binary and thus will always conflict and require user
23
+ # intervention with every merge. To do so, just uncomment the entries below
24
+ ###############################################################################
25
+ #*.sln merge=binary
26
+ #*.csproj merge=binary
27
+ #*.vbproj merge=binary
28
+ #*.vcxproj merge=binary
29
+ #*.vcproj merge=binary
30
+ #*.dbproj merge=binary
31
+ #*.fsproj merge=binary
32
+ #*.lsproj merge=binary
33
+ #*.wixproj merge=binary
34
+ #*.modelproj merge=binary
35
+ #*.sqlproj merge=binary
36
+ #*.wwaproj merge=binary
37
+
38
+ ###############################################################################
39
+ # behavior for image files
40
+ #
41
+ # image files are treated as binary by default.
42
+ ###############################################################################
43
+ #*.jpg binary
44
+ #*.png binary
45
+ #*.gif binary
46
+
47
+ ###############################################################################
48
+ # diff behavior for common document formats
49
+ #
50
+ # Convert binary document formats to text before diffing them. This feature
51
+ # is only available from the command line. Turn it on by uncommenting the
52
+ # entries below.
53
+ ###############################################################################
54
+ #*.doc diff=astextplain
55
+ #*.DOC diff=astextplain
56
+ #*.docx diff=astextplain
57
+ #*.DOCX diff=astextplain
58
+ #*.dot diff=astextplain
59
+ #*.DOT diff=astextplain
60
+ #*.pdf diff=astextplain
61
+ #*.PDF diff=astextplain
62
+ #*.rtf diff=astextplain
63
+ #*.RTF diff=astextplain
@@ -0,0 +1 @@
1
+ * @slabko @mzitnik
@@ -0,0 +1,139 @@
1
+ name: Linux
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 0 * * 1'
6
+ push:
7
+ branches: [ '*' ]
8
+ pull_request:
9
+ branches: [ master ]
10
+
11
+ release:
12
+ types:
13
+ - published
14
+ - prereleased
15
+
16
+ env:
17
+ BUILD_TYPE: Release
18
+ CLICKHOUSE_SERVER_IMAGE: "clickhouse/clickhouse-server:25.10"
19
+ CLICKHOUSE_SECURE_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT_PROD }}
20
+ CLICKHOUSE_SECURE_USER: default
21
+ CLICKHOUSE_SECURE_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT_PROD }}
22
+
23
+ jobs:
24
+ build:
25
+ strategy:
26
+ fail-fast: false
27
+ matrix:
28
+ compiler: [clang-11, clang-14, clang-18, gcc-9, gcc-12, gcc-14]
29
+ ssl: [ssl_ON, ssl_OFF]
30
+ dependencies: [dependencies_BUILT_IN]
31
+
32
+ include:
33
+ - compiler: clang-11
34
+ os: ubuntu-22.04
35
+ COMPILER_INSTALL: clang-11 libc++-11-dev
36
+ C_COMPILER: clang-11
37
+ CXX_COMPILER: clang++-11
38
+
39
+ - compiler: clang-14
40
+ os: ubuntu-24.04
41
+ COMPILER_INSTALL: clang-14 libc++-14-dev
42
+ C_COMPILER: clang-14
43
+ CXX_COMPILER: clang++-14
44
+
45
+ - compiler: clang-18
46
+ os: ubuntu-24.04
47
+ COMPILER_INSTALL: clang-18 libc++-18-dev
48
+ C_COMPILER: clang-18
49
+ CXX_COMPILER: clang++-18
50
+
51
+ - compiler: gcc-9
52
+ os: ubuntu-22.04
53
+ COMPILER_INSTALL: gcc-9 g++-9
54
+ C_COMPILER: gcc-9
55
+ CXX_COMPILER: g++-9
56
+
57
+ - compiler: gcc-12
58
+ os: ubuntu-24.04
59
+ COMPILER_INSTALL: gcc-12 g++-12
60
+ C_COMPILER: gcc-12
61
+ CXX_COMPILER: g++-12
62
+
63
+ - compiler: gcc-14
64
+ os: ubuntu-24.04
65
+ COMPILER_INSTALL: gcc-14 g++-14
66
+ C_COMPILER: gcc-14
67
+ CXX_COMPILER: g++-14
68
+
69
+ - ssl: ssl_ON
70
+ SSL_CMAKE_OPTION: -D WITH_OPENSSL=ON
71
+
72
+ - dependencies: dependencies_SYSTEM
73
+ compiler: compiler_SYSTEM
74
+ os: ubuntu-24.04
75
+ COMPILER_INSTALL: gcc g++
76
+ C_COMPILER: gcc
77
+ CXX_COMPILER: g++
78
+ DEPENDENCIES_INSTALL: libabsl-dev liblz4-dev
79
+ DEPENDENCIES_CMAKE_OPTIONS: >-
80
+ -D WITH_SYSTEM_LZ4=ON
81
+ -D WITH_SYSTEM_ABSEIL=ON
82
+
83
+ runs-on: ${{matrix.os}}
84
+
85
+ steps:
86
+ - uses: actions/checkout@v4
87
+ with:
88
+ fetch-depth: 100
89
+ fetch-tags: true
90
+
91
+ - name: Install dependencies
92
+ run: |
93
+ sudo apt-get update
94
+ sudo apt-get install -y \
95
+ cmake \
96
+ ${{matrix.COMPILER_INSTALL}} \
97
+ ${{matrix.DEPENDENCIES_INSTALL}}
98
+
99
+ - name: Install dependencies - Docker
100
+ run: |
101
+ sudo apt remove -y docker docker-engine docker.io containerd runc
102
+ sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
103
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
104
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
105
+ sudo apt update -q
106
+ sudo apt install docker-ce docker-ce-cli containerd.io
107
+ sudo docker run hello-world
108
+
109
+ - name: Configure project
110
+ run: |
111
+ cmake \
112
+ -D CMAKE_C_COMPILER=${{matrix.C_COMPILER}} \
113
+ -D CMAKE_CXX_COMPILER=${{matrix.CXX_COMPILER}} \
114
+ -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
115
+ -D BUILD_TESTS=ON \
116
+ ${{matrix.SSL_CMAKE_OPTION}} \
117
+ ${{matrix.DEPENDENCIES_CMAKE_OPTIONS}} \
118
+ -S ${{github.workspace}} \
119
+ -B ${{github.workspace}}/build
120
+
121
+ - name: Build project
122
+ run: |
123
+ cmake \
124
+ --build ${{github.workspace}}/build \
125
+ --config ${{env.BUILD_TYPE}} \
126
+ --target all
127
+
128
+ - name: Test - Start ClickHouse server in background
129
+ run: |
130
+ docker pull ${CLICKHOUSE_SERVER_IMAGE}
131
+ docker run -d --name clickhouse -p 9000:9000 -e CLICKHOUSE_SKIP_USER_SETUP=1 ${CLICKHOUSE_SERVER_IMAGE}
132
+ docker ps -a
133
+ docker stats -a --no-stream
134
+ ## Check and wait until CH is ready to accept connections
135
+ docker exec clickhouse bash -c 'for i in {1..10}; do echo checking if clickhouse server is started attempt \#$i; if ( grep -q "<Information> Application: Ready for connections." /var/log/clickhouse-server/clickhouse-server.log ); then echo seems like clickhouse server is started; exit 0; fi; sleep 1; done; exit -1'
136
+
137
+ - name: Test
138
+ working-directory: ${{github.workspace}}/build/ut
139
+ run: ./clickhouse-cpp-ut
@@ -0,0 +1,87 @@
1
+ name: macOS
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 0 * * 1'
6
+ push:
7
+ branches: [ '*' ]
8
+ pull_request:
9
+ branches: [ master ]
10
+ release:
11
+ types:
12
+ - published
13
+ - prereleased
14
+
15
+ env:
16
+ BUILD_TYPE: Release
17
+ CLICKHOUSE_USER: default
18
+ CLICKHOUSE_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT_PROD }}
19
+ CLICKHOUSE_SECURE_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT_PROD }}
20
+ CLICKHOUSE_SECURE_PORT: 9440
21
+ CLICKHOUSE_SECURE_USER: default
22
+ CLICKHOUSE_SECURE_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT_PROD }}
23
+ CLICKHOUSE_SECURE_DB: default
24
+
25
+ jobs:
26
+ build:
27
+ runs-on: macos-latest
28
+
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ build: [nossl, ssl]
33
+ include:
34
+ - build: nossl
35
+
36
+ - build: ssl
37
+ SSL_CMAKE_OPTION: >-
38
+ -D WITH_OPENSSL=ON
39
+ -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl/
40
+ SSL_INSTALL: openssl
41
+
42
+ steps:
43
+ - uses: actions/checkout@v4
44
+ with:
45
+ fetch-depth: 100
46
+ fetch-tags: true
47
+
48
+ - name: Install dependencies
49
+ run: brew install cmake ${{matrix.SSL_INSTALL}}
50
+
51
+ - name: Print OpenSSL paths
52
+ run: openssl version -d
53
+
54
+ - name: Configure CMake
55
+ run: |
56
+ cmake \
57
+ -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
58
+ -D BUILD_TESTS=ON \
59
+ ${{matrix.SSL_CMAKE_OPTION}} \
60
+ -S ${{github.workspace}} \
61
+ -B ${{github.workspace}}/build
62
+
63
+ - name: Build
64
+ run: |
65
+ cmake \
66
+ --build ${{github.workspace}}/build \
67
+ --config ${{env.BUILD_TYPE}} \
68
+ --target all
69
+
70
+ - name: Start tls offoader proxy
71
+ # that mimics non-secure clickhouse running on localhost
72
+ # by tunneling queries to remote tls server
73
+ # (needed because we can't start real clickhouse instance on macOS)
74
+ run: |
75
+ wget https://github.com/filimonov/go-tlsoffloader/releases/download/v0.1.2/go-tlsoffloader_0.1.2_Darwin_x86_64.tar.gz
76
+ tar -xvzf go-tlsoffloader_0.1.2_Darwin_x86_64.tar.gz
77
+ ./go-tlsoffloader -l localhost:9000 -b ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT_PROD }}:9440 &
78
+
79
+ - name: Test
80
+ working-directory: ${{github.workspace}}/build/ut
81
+ env:
82
+ # It is impossible to start CH server in docker on macOS due to github actions limitations,
83
+ # so we use remote server to execute tests, some do not allow some features for anonymoust/free users:
84
+ # - system.query_log used by 'Client/ClientCase.Query_ID' and 'Client/ClientCase.ClientName'
85
+ # - system.opentelemetry_span_log is used by 'Client/ClientCase.TracingContext'
86
+ GTEST_FILTER: "-Client/ClientCase.Query_ID*:Client/ClientCase.TracingContext/*:Client/ClientCase.ClientName/*"
87
+ run: ./clickhouse-cpp-ut ${GTEST_FILTER}
@@ -0,0 +1,102 @@
1
+ name: Windows mingw
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 0 * * 1'
6
+ push:
7
+ branches: [ '*' ]
8
+ pull_request:
9
+ branches: [ master ]
10
+
11
+ release:
12
+ types:
13
+ - published
14
+ - prereleased
15
+
16
+ env:
17
+ BUILD_TYPE: Release
18
+ CLICKHOUSE_USER: default
19
+ CLICKHOUSE_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT_PROD }}
20
+
21
+ #
22
+ # CLICKHOUSE_HOST: localhost
23
+ # CLICKHOUSE_PORT: 9000
24
+ # CLICKHOUSE_USER: default
25
+ # CLICKHOUSE_PASSWORD:
26
+ # CLICKHOUSE_DB: default
27
+ #
28
+ # CLICKHOUSE_SECURE_HOST: github.demo.trial.altinity.cloud
29
+ # CLICKHOUSE_SECURE_PORT: 9440
30
+ # CLICKHOUSE_SECURE_USER: demo
31
+ # CLICKHOUSE_SECURE_PASSWORD: demo
32
+ # CLICKHOUSE_SECURE_DB: default
33
+ #
34
+ # CLICKHOUSE_SECURE2_HOST: gh-api.clickhouse.tech
35
+ # CLICKHOUSE_SECURE2_PORT: 9440
36
+ # CLICKHOUSE_SECURE2_USER: explorer
37
+ # CLICKHOUSE_SECURE2_PASSWORD:
38
+ # CLICKHOUSE_SECURE2_DB: default
39
+
40
+ jobs:
41
+ build:
42
+ runs-on: windows-latest
43
+
44
+ strategy:
45
+ fail-fast: false
46
+ matrix:
47
+ include:
48
+ - { sys: mingw64, env: x86_64 }
49
+ - { sys: ucrt64, env: ucrt-x86_64 } # Experimental!
50
+ # - { sys: clang64, env: clang-x86_64 } # have issues with linking see comments in Clang-related section in clickhouse/CMakeLists.txt
51
+
52
+ defaults:
53
+ run:
54
+ shell: msys2 {0}
55
+
56
+ steps:
57
+ - uses: actions/checkout@v4
58
+ with:
59
+ fetch-depth: 100
60
+ fetch-tags: true
61
+ - uses: msys2/setup-msys2@v2
62
+ with:
63
+ msystem: ${{ matrix.sys }}
64
+ update: true
65
+ install: >-
66
+ mingw-w64-${{matrix.env}}-cmake
67
+ mingw-w64-${{matrix.env}}-make
68
+ mingw-w64-${{matrix.env}}-gcc
69
+ mingw-w64-${{matrix.env}}-openssl
70
+ mingw-w64-${{matrix.env}}-ninja
71
+ mingw-w64-${{matrix.env}}-wget
72
+ mingw-w64-${{matrix.env}}-ca-certificates
73
+ tar
74
+
75
+ - name: Configure CMake
76
+ run: cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_TESTS=ON -DCHECK_VERSION=OFF
77
+ # -DWITH_OPENSSL=ON was not able to make it work (some strange issues with CA paths, need debug)
78
+ # -DCHECK_VERSION=OFF since it requires git, which can't be found from within cmake for some reason.
79
+
80
+ - name: Build
81
+ run: cmake --build build --config ${{env.BUILD_TYPE}} --target all
82
+
83
+ - name: Start tls offoader proxy
84
+ # that mimics non-secure clickhouse running on localhost
85
+ # by tunneling queries to remote tls server
86
+ # (needed because we can't start real clickhouse instance on windows)
87
+ run: |
88
+ wget https://github.com/filimonov/go-tlsoffloader/releases/download/v0.1.2/go-tlsoffloader_0.1.2_Windows_x86_64.tar.gz
89
+ tar -xvzf go-tlsoffloader_0.1.2_Windows_x86_64.tar.gz
90
+ ./go-tlsoffloader.exe -l localhost:9000 -b ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT_PROD }}:9440 &
91
+
92
+ - name: Test
93
+ env:
94
+ # It is impossible to start CH server in docker on Windows due to github actions limitations,
95
+ # so we use remote server to execute tests, some do not allow some features for anonymoust/free users:
96
+ # - system.query_log used by 'Client/ClientCase.Query_ID' and 'Client/ClientCase.ClientName'
97
+ # - system.opentelemetry_span_log is used by 'Client/ClientCase.TracingContext'
98
+ GTEST_FILTER: "-Client/ClientCase.Query_ID*:Client/ClientCase.TracingContext/*:Client/ClientCase.ClientName/*"
99
+ run: ./build/ut/clickhouse-cpp-ut.exe ${GTEST_FILTER}
100
+
101
+ - name: Test (simple)
102
+ run: ./build/tests/simple/simple-test.exe
@@ -0,0 +1,74 @@
1
+ name: Windows
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 0 * * 1'
6
+ push:
7
+ branches: [ '*' ]
8
+ pull_request:
9
+ branches: [ master ]
10
+
11
+ release:
12
+ types:
13
+ - published
14
+ - prereleased
15
+
16
+ env:
17
+ BUILD_TYPE: Release
18
+ CLICKHOUSE_USER: default
19
+ CLICKHOUSE_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT_PROD }}
20
+ # CLICKHOUSE_HOST: localhost
21
+ # CLICKHOUSE_PORT: 9000
22
+ # CLICKHOUSE_USER: default
23
+ # CLICKHOUSE_PASSWORD:
24
+ # CLICKHOUSE_DB: default
25
+ #
26
+ # CLICKHOUSE_SECURE_HOST: github.demo.trial.altinity.cloud
27
+ # CLICKHOUSE_SECURE_PORT: 9440
28
+ # CLICKHOUSE_SECURE_USER: demo
29
+ # CLICKHOUSE_SECURE_PASSWORD: demo
30
+ # CLICKHOUSE_SECURE_DB: default
31
+ #
32
+ # CLICKHOUSE_SECURE2_HOST: gh-api.clickhouse.tech
33
+ # CLICKHOUSE_SECURE2_PORT: 9440
34
+ # CLICKHOUSE_SECURE2_USER: explorer
35
+ # CLICKHOUSE_SECURE2_PASSWORD:
36
+ # CLICKHOUSE_SECURE2_DB: default
37
+
38
+ jobs:
39
+ build:
40
+ runs-on: windows-latest
41
+
42
+ steps:
43
+ - uses: actions/checkout@v4
44
+ with:
45
+ fetch-depth: 100
46
+ fetch-tags: true
47
+ - uses: ilammy/msvc-dev-cmd@v1
48
+
49
+ - name: Configure CMake
50
+ run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_TESTS=ON
51
+
52
+ - name: Build
53
+ run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
54
+
55
+ - name: Start tls offoader proxy
56
+ shell: bash
57
+ # that mimics non-secure clickhouse running on localhost
58
+ # by tunneling queries to remote tls server
59
+ # (needed because we can't start real clickhouse instance on windows)
60
+ run: |
61
+ choco install wget
62
+ wget https://github.com/filimonov/go-tlsoffloader/releases/download/v0.1.2/go-tlsoffloader_0.1.2_Windows_x86_64.tar.gz
63
+ tar -xvzf go-tlsoffloader_0.1.2_Windows_x86_64.tar.gz
64
+ ./go-tlsoffloader.exe -l localhost:9000 -b ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT_PROD }}:9440 &
65
+
66
+ - name: Test
67
+ env:
68
+ # It is impossible to start CH server in docker on Windows due to github actions limitations,
69
+ # so we use remote server to execute tests, some do not allow some features for anonymoust/free users:
70
+ # - system.query_log used by 'Client/ClientCase.Query_ID' and 'Client/ClientCase.ClientName'
71
+ # - system.opentelemetry_span_log is used by 'Client/ClientCase.TracingContext'
72
+ GTEST_FILTER: "-Client/ClientCase.Query_ID*:Client/ClientCase.TracingContext/*:Client/ClientCase.ClientName/*"
73
+ working-directory: ${{github.workspace}}/build/ut
74
+ run: Release\clickhouse-cpp-ut.exe "${{env.GTEST_FILTER}}"