neo4j-ruby-driver 5.7.0.alpha.4 → 6.0.3.alpha.0-java

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 (279) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +440 -40
  3. data/jruby/neo4j/driver/ext/async_converter.rb +55 -0
  4. data/jruby/neo4j/driver/ext/auth_tokens.rb +20 -0
  5. data/jruby/neo4j/driver/ext/config_converter.rb +83 -0
  6. data/jruby/neo4j/driver/ext/exception_checkable.rb +34 -0
  7. data/jruby/neo4j/driver/ext/exception_mapper.rb +92 -0
  8. data/jruby/neo4j/driver/ext/graph_database.rb +33 -0
  9. data/jruby/neo4j/driver/ext/internal/abstract_query_runner.rb +18 -0
  10. data/jruby/neo4j/driver/ext/internal/async/internal_async_session.rb +23 -0
  11. data/jruby/neo4j/driver/ext/internal/cluster/routing_table_registry_impl.rb +15 -0
  12. data/jruby/neo4j/driver/ext/internal/cursor/disposable_async_result_cursor.rb +15 -0
  13. data/jruby/neo4j/driver/ext/internal/driver_factory.rb +24 -0
  14. data/jruby/neo4j/driver/ext/internal/eager_result_value.rb +17 -0
  15. data/jruby/neo4j/driver/ext/internal/metrics/internal_connection_pool_metrics.rb +17 -0
  16. data/jruby/neo4j/driver/ext/internal/summary/internal_notification.rb +27 -0
  17. data/jruby/neo4j/driver/ext/internal/summary/internal_plan.rb +26 -0
  18. data/jruby/neo4j/driver/ext/internal/summary/internal_result_summary.rb +34 -0
  19. data/jruby/neo4j/driver/ext/internal_driver.rb +52 -0
  20. data/jruby/neo4j/driver/ext/internal_entity.rb +21 -0
  21. data/jruby/neo4j/driver/ext/internal_keys.rb +15 -0
  22. data/jruby/neo4j/driver/ext/internal_node.rb +13 -0
  23. data/jruby/neo4j/driver/ext/internal_record.rb +29 -0
  24. data/jruby/neo4j/driver/ext/internal_relationship.rb +13 -0
  25. data/jruby/neo4j/driver/ext/internal_result.rb +27 -0
  26. data/jruby/neo4j/driver/ext/internal_session.rb +44 -0
  27. data/jruby/neo4j/driver/ext/internal_transaction.rb +19 -0
  28. data/jruby/neo4j/driver/ext/logger.rb +60 -0
  29. data/jruby/neo4j/driver/ext/map_converter.rb +14 -0
  30. data/jruby/neo4j/driver/ext/neo_converter.rb +59 -0
  31. data/jruby/neo4j/driver/ext/query.rb +13 -0
  32. data/jruby/neo4j/driver/ext/ruby_converter.rb +57 -0
  33. data/jruby/neo4j/driver/ext/run_override.rb +22 -0
  34. data/jruby/neo4j/driver/ext/start_end_naming.rb +17 -0
  35. data/{ruby → jruby}/neo4j/driver/version.rb +1 -1
  36. data/jruby/neo4j/driver.rb +62 -0
  37. data/lib/neo4j/driver/{auto_closable.rb → auto_closeable.rb} +6 -6
  38. data/lib/neo4j/driver/exceptions/neo4j_exception.rb +6 -6
  39. data/lib/neo4j/driver/internal/deprecator.rb +15 -0
  40. metadata +91 -277
  41. data/ruby/neo4j/driver/access_mode.rb +0 -10
  42. data/ruby/neo4j/driver/auth_tokens.rb +0 -34
  43. data/ruby/neo4j/driver/bookmark.rb +0 -21
  44. data/ruby/neo4j/driver/config.rb +0 -89
  45. data/ruby/neo4j/driver/graph_database.rb +0 -78
  46. data/ruby/neo4j/driver/internal/async/connection/bolt_protocol_util.rb +0 -51
  47. data/ruby/neo4j/driver/internal/async/connection/bootstrap_factory.rb +0 -22
  48. data/ruby/neo4j/driver/internal/async/connection/channel_attributes.rb +0 -31
  49. data/ruby/neo4j/driver/internal/async/connection/channel_connected_listener.rb +0 -32
  50. data/ruby/neo4j/driver/internal/async/connection/channel_connector_impl.rb +0 -83
  51. data/ruby/neo4j/driver/internal/async/connection/channel_pipeline_builder_impl.rb +0 -22
  52. data/ruby/neo4j/driver/internal/async/connection/direct_connection.rb +0 -30
  53. data/ruby/neo4j/driver/internal/async/connection/event_loop_group_factory.rb +0 -83
  54. data/ruby/neo4j/driver/internal/async/connection/handshake_completed_listener.rb +0 -27
  55. data/ruby/neo4j/driver/internal/async/connection/handshake_handler.rb +0 -113
  56. data/ruby/neo4j/driver/internal/async/connection/netty_channel_initializer.rb +0 -57
  57. data/ruby/neo4j/driver/internal/async/connection/netty_domain_name_resolver.rb +0 -26
  58. data/ruby/neo4j/driver/internal/async/connection/netty_domain_name_resolver_group.rb +0 -19
  59. data/ruby/neo4j/driver/internal/async/connection/routing_connection.rb +0 -36
  60. data/ruby/neo4j/driver/internal/async/connection/stream.rb +0 -12
  61. data/ruby/neo4j/driver/internal/async/connection/stream_reader.rb +0 -16
  62. data/ruby/neo4j/driver/internal/async/connection_context.rb +0 -10
  63. data/ruby/neo4j/driver/internal/async/immutable_connection_context.rb +0 -24
  64. data/ruby/neo4j/driver/internal/async/inbound/byte_buf_input.rb +0 -30
  65. data/ruby/neo4j/driver/internal/async/inbound/channel_error_handler.rb +0 -77
  66. data/ruby/neo4j/driver/internal/async/inbound/chunk_decoder.rb +0 -41
  67. data/ruby/neo4j/driver/internal/async/inbound/connect_timeout_handler.rb +0 -32
  68. data/ruby/neo4j/driver/internal/async/inbound/connection_read_timeout_handler.rb +0 -17
  69. data/ruby/neo4j/driver/internal/async/inbound/inbound_message_dispatcher.rb +0 -171
  70. data/ruby/neo4j/driver/internal/async/inbound/inbound_message_handler.rb +0 -42
  71. data/ruby/neo4j/driver/internal/async/inbound/message_decoder.rb +0 -51
  72. data/ruby/neo4j/driver/internal/async/internal_async_session.rb +0 -98
  73. data/ruby/neo4j/driver/internal/async/internal_async_transaction.rb +0 -13
  74. data/ruby/neo4j/driver/internal/async/leak_logging_network_session.rb +0 -34
  75. data/ruby/neo4j/driver/internal/async/network_connection.rb +0 -194
  76. data/ruby/neo4j/driver/internal/async/network_session.rb +0 -150
  77. data/ruby/neo4j/driver/internal/async/outbound/chunk_aware_byte_buf_output.rb +0 -110
  78. data/ruby/neo4j/driver/internal/async/outbound/outbound_message_handler.rb +0 -39
  79. data/ruby/neo4j/driver/internal/async/pool/channel.rb +0 -66
  80. data/ruby/neo4j/driver/internal/async/pool/channel_pool.rb +0 -31
  81. data/ruby/neo4j/driver/internal/async/pool/channel_tracker.rb +0 -135
  82. data/ruby/neo4j/driver/internal/async/pool/connection_pool_impl.rb +0 -156
  83. data/ruby/neo4j/driver/internal/async/pool/netty_channel_health_checker.rb +0 -87
  84. data/ruby/neo4j/driver/internal/async/pool/netty_channel_pool.rb +0 -52
  85. data/ruby/neo4j/driver/internal/async/pool/network_connection_factory.rb +0 -21
  86. data/ruby/neo4j/driver/internal/async/pool/pool_settings.rb +0 -34
  87. data/ruby/neo4j/driver/internal/async/pool/timed_stack.rb +0 -15
  88. data/ruby/neo4j/driver/internal/async/result_cursors_holder.rb +0 -17
  89. data/ruby/neo4j/driver/internal/async/unmanaged_transaction.rb +0 -212
  90. data/ruby/neo4j/driver/internal/bookmark_holder.rb +0 -9
  91. data/ruby/neo4j/driver/internal/cluster/cluster_composition.rb +0 -48
  92. data/ruby/neo4j/driver/internal/cluster/cluster_composition_lookup_result.rb +0 -14
  93. data/ruby/neo4j/driver/internal/cluster/cluster_routing_table.rb +0 -122
  94. data/ruby/neo4j/driver/internal/cluster/identity_resolver.rb +0 -10
  95. data/ruby/neo4j/driver/internal/cluster/loadbalancing/least_connected_load_balancing_strategy.rb +0 -68
  96. data/ruby/neo4j/driver/internal/cluster/loadbalancing/load_balancer.rb +0 -125
  97. data/ruby/neo4j/driver/internal/cluster/loadbalancing/round_robin_array_index.rb +0 -13
  98. data/ruby/neo4j/driver/internal/cluster/multi_databases_routing_procedure_runner.rb +0 -31
  99. data/ruby/neo4j/driver/internal/cluster/rediscovery_impl.rb +0 -147
  100. data/ruby/neo4j/driver/internal/cluster/route_message_routing_procedure_runner.rb +0 -43
  101. data/ruby/neo4j/driver/internal/cluster/routing_context.rb +0 -77
  102. data/ruby/neo4j/driver/internal/cluster/routing_procedure_cluster_composition_provider.rb +0 -60
  103. data/ruby/neo4j/driver/internal/cluster/routing_procedure_response.rb +0 -35
  104. data/ruby/neo4j/driver/internal/cluster/routing_settings.rb +0 -24
  105. data/ruby/neo4j/driver/internal/cluster/routing_table_handler_impl.rb +0 -95
  106. data/ruby/neo4j/driver/internal/cluster/routing_table_registry_impl.rb +0 -121
  107. data/ruby/neo4j/driver/internal/cluster/single_database_routing_procedure_runner.rb +0 -73
  108. data/ruby/neo4j/driver/internal/connection_settings.rb +0 -16
  109. data/ruby/neo4j/driver/internal/cursor/async_result_cursor_impl.rb +0 -55
  110. data/ruby/neo4j/driver/internal/cursor/async_result_cursor_only_factory.rb +0 -24
  111. data/ruby/neo4j/driver/internal/cursor/disposable_async_result_cursor.rb +0 -61
  112. data/ruby/neo4j/driver/internal/cursor/result_cursor_factory_impl.rb +0 -24
  113. data/ruby/neo4j/driver/internal/cursor/rx_result_cursor_impl.rb +0 -110
  114. data/ruby/neo4j/driver/internal/database_name_util.rb +0 -37
  115. data/ruby/neo4j/driver/internal/default_bookmark_holder.rb +0 -9
  116. data/ruby/neo4j/driver/internal/default_domain_name_resolver.rb +0 -11
  117. data/ruby/neo4j/driver/internal/direct_connection_provider.rb +0 -40
  118. data/ruby/neo4j/driver/internal/driver_factory.rb +0 -126
  119. data/ruby/neo4j/driver/internal/handlers/begin_tx_response_handler.rb +0 -20
  120. data/ruby/neo4j/driver/internal/handlers/channel_releasing_reset_response_handler.rb +0 -30
  121. data/ruby/neo4j/driver/internal/handlers/commit_tx_response_handler.rb +0 -25
  122. data/ruby/neo4j/driver/internal/handlers/hello_response_handler.rb +0 -65
  123. data/ruby/neo4j/driver/internal/handlers/init_response_handler.rb +0 -34
  124. data/ruby/neo4j/driver/internal/handlers/legacy_pull_all_response_handler.rb +0 -199
  125. data/ruby/neo4j/driver/internal/handlers/no_op_response_handler.rb +0 -16
  126. data/ruby/neo4j/driver/internal/handlers/ping_response_handler.rb +0 -29
  127. data/ruby/neo4j/driver/internal/handlers/pull_handlers.rb +0 -32
  128. data/ruby/neo4j/driver/internal/handlers/pulln/auto_pull_response_handler.rb +0 -168
  129. data/ruby/neo4j/driver/internal/handlers/pulln/basic_pull_response_handler.rb +0 -298
  130. data/ruby/neo4j/driver/internal/handlers/pulln/fetch_size_util.rb +0 -20
  131. data/ruby/neo4j/driver/internal/handlers/reset_response_handler.rb +0 -34
  132. data/ruby/neo4j/driver/internal/handlers/rollback_tx_response_handler.rb +0 -25
  133. data/ruby/neo4j/driver/internal/handlers/route_message_response_handler.rb +0 -21
  134. data/ruby/neo4j/driver/internal/handlers/routing_response_handler.rb +0 -70
  135. data/ruby/neo4j/driver/internal/handlers/run_response_handler.rb +0 -38
  136. data/ruby/neo4j/driver/internal/handlers/session_pull_response_completion_listener.rb +0 -34
  137. data/ruby/neo4j/driver/internal/handlers/transaction_pull_response_completion_listener.rb +0 -20
  138. data/ruby/neo4j/driver/internal/impersonation_util.rb +0 -22
  139. data/ruby/neo4j/driver/internal/internal_bookmark.rb +0 -36
  140. data/ruby/neo4j/driver/internal/internal_database_name.rb +0 -9
  141. data/ruby/neo4j/driver/internal/internal_driver.rb +0 -74
  142. data/ruby/neo4j/driver/internal/internal_entity.rb +0 -21
  143. data/ruby/neo4j/driver/internal/internal_node.rb +0 -21
  144. data/ruby/neo4j/driver/internal/internal_pair.rb +0 -9
  145. data/ruby/neo4j/driver/internal/internal_path.rb +0 -35
  146. data/ruby/neo4j/driver/internal/internal_point2_d.rb +0 -9
  147. data/ruby/neo4j/driver/internal/internal_point3_d.rb +0 -6
  148. data/ruby/neo4j/driver/internal/internal_record.rb +0 -27
  149. data/ruby/neo4j/driver/internal/internal_relationship.rb +0 -27
  150. data/ruby/neo4j/driver/internal/internal_result.rb +0 -49
  151. data/ruby/neo4j/driver/internal/internal_session.rb +0 -81
  152. data/ruby/neo4j/driver/internal/internal_transaction.rb +0 -48
  153. data/ruby/neo4j/driver/internal/logging/channel_activity_logger.rb +0 -29
  154. data/ruby/neo4j/driver/internal/logging/channel_error_logger.rb +0 -17
  155. data/ruby/neo4j/driver/internal/logging/prefixed_logger.rb +0 -19
  156. data/ruby/neo4j/driver/internal/logging/reformatted_logger.rb +0 -17
  157. data/ruby/neo4j/driver/internal/messaging/abstract_message_writer.rb +0 -23
  158. data/ruby/neo4j/driver/internal/messaging/bolt_protocol.rb +0 -32
  159. data/ruby/neo4j/driver/internal/messaging/bolt_protocol_version.rb +0 -48
  160. data/ruby/neo4j/driver/internal/messaging/common/common_message_reader.rb +0 -51
  161. data/ruby/neo4j/driver/internal/messaging/common/common_value.rb +0 -33
  162. data/ruby/neo4j/driver/internal/messaging/common/common_value_packer.rb +0 -104
  163. data/ruby/neo4j/driver/internal/messaging/common/common_value_unpacker.rb +0 -256
  164. data/ruby/neo4j/driver/internal/messaging/encode/begin_message_encoder.rb +0 -15
  165. data/ruby/neo4j/driver/internal/messaging/encode/commit_message_encoder.rb +0 -14
  166. data/ruby/neo4j/driver/internal/messaging/encode/discard_all_message_encoder.rb +0 -14
  167. data/ruby/neo4j/driver/internal/messaging/encode/discard_message_encoder.rb +0 -15
  168. data/ruby/neo4j/driver/internal/messaging/encode/goodbye_message_encoder.rb +0 -14
  169. data/ruby/neo4j/driver/internal/messaging/encode/hello_message_encoder.rb +0 -15
  170. data/ruby/neo4j/driver/internal/messaging/encode/init_message_encoder.rb +0 -16
  171. data/ruby/neo4j/driver/internal/messaging/encode/logoff_message_encoder.rb +0 -14
  172. data/ruby/neo4j/driver/internal/messaging/encode/logon_message_encoder.rb +0 -15
  173. data/ruby/neo4j/driver/internal/messaging/encode/pull_all_message_encoder.rb +0 -14
  174. data/ruby/neo4j/driver/internal/messaging/encode/pull_message_encoder.rb +0 -15
  175. data/ruby/neo4j/driver/internal/messaging/encode/reset_message_encoder.rb +0 -14
  176. data/ruby/neo4j/driver/internal/messaging/encode/rollback_message_encoder.rb +0 -14
  177. data/ruby/neo4j/driver/internal/messaging/encode/route_message_encoder.rb +0 -24
  178. data/ruby/neo4j/driver/internal/messaging/encode/route_v44_message_encoder.rb +0 -22
  179. data/ruby/neo4j/driver/internal/messaging/encode/run_message_encoder.rb +0 -16
  180. data/ruby/neo4j/driver/internal/messaging/encode/run_with_metadata_message_encoder.rb +0 -17
  181. data/ruby/neo4j/driver/internal/messaging/request/abstract_streaming_message.rb +0 -25
  182. data/ruby/neo4j/driver/internal/messaging/request/begin_message.rb +0 -25
  183. data/ruby/neo4j/driver/internal/messaging/request/commit_message.rb +0 -20
  184. data/ruby/neo4j/driver/internal/messaging/request/discard_all_message.rb +0 -20
  185. data/ruby/neo4j/driver/internal/messaging/request/discard_message.rb +0 -23
  186. data/ruby/neo4j/driver/internal/messaging/request/goodbye_message.rb +0 -20
  187. data/ruby/neo4j/driver/internal/messaging/request/hello_message.rb +0 -30
  188. data/ruby/neo4j/driver/internal/messaging/request/init_message.rb +0 -19
  189. data/ruby/neo4j/driver/internal/messaging/request/logoff_message.rb +0 -13
  190. data/ruby/neo4j/driver/internal/messaging/request/logon_message.rb +0 -13
  191. data/ruby/neo4j/driver/internal/messaging/request/message_with_metadata.rb +0 -17
  192. data/ruby/neo4j/driver/internal/messaging/request/multi_database_util.rb +0 -26
  193. data/ruby/neo4j/driver/internal/messaging/request/pull_all_message.rb +0 -23
  194. data/ruby/neo4j/driver/internal/messaging/request/pull_message.rb +0 -22
  195. data/ruby/neo4j/driver/internal/messaging/request/reset_message.rb +0 -32
  196. data/ruby/neo4j/driver/internal/messaging/request/rollback_message.rb +0 -20
  197. data/ruby/neo4j/driver/internal/messaging/request/route_message.rb +0 -28
  198. data/ruby/neo4j/driver/internal/messaging/request/run_message.rb +0 -23
  199. data/ruby/neo4j/driver/internal/messaging/request/run_with_metadata_message.rb +0 -49
  200. data/ruby/neo4j/driver/internal/messaging/request/transaction_metadata_builder.rb +0 -24
  201. data/ruby/neo4j/driver/internal/messaging/response/failure_message.rb +0 -40
  202. data/ruby/neo4j/driver/internal/messaging/response/ignored_message.rb +0 -29
  203. data/ruby/neo4j/driver/internal/messaging/response/record_message.rb +0 -33
  204. data/ruby/neo4j/driver/internal/messaging/response/success_message.rb +0 -34
  205. data/ruby/neo4j/driver/internal/messaging/v3/bolt_protocol_v3.rb +0 -82
  206. data/ruby/neo4j/driver/internal/messaging/v3/message_format_v3.rb +0 -17
  207. data/ruby/neo4j/driver/internal/messaging/v3/message_writer_v3.rb +0 -27
  208. data/ruby/neo4j/driver/internal/messaging/v4/bolt_protocol_v4.rb +0 -29
  209. data/ruby/neo4j/driver/internal/messaging/v4/message_format_v4.rb +0 -13
  210. data/ruby/neo4j/driver/internal/messaging/v4/message_writer_v4.rb +0 -17
  211. data/ruby/neo4j/driver/internal/messaging/v41/bolt_protocol_v41.rb +0 -25
  212. data/ruby/neo4j/driver/internal/messaging/v42/bolt_protocol_v42.rb +0 -13
  213. data/ruby/neo4j/driver/internal/messaging/v43/bolt_protocol_v43.rb +0 -19
  214. data/ruby/neo4j/driver/internal/messaging/v43/message_format_v43.rb +0 -14
  215. data/ruby/neo4j/driver/internal/messaging/v43/message_writer_v43.rb +0 -20
  216. data/ruby/neo4j/driver/internal/messaging/v44/bolt_protocol_v44.rb +0 -17
  217. data/ruby/neo4j/driver/internal/messaging/v44/message_format_v44.rb +0 -14
  218. data/ruby/neo4j/driver/internal/messaging/v44/message_writer_v44.rb +0 -15
  219. data/ruby/neo4j/driver/internal/messaging/v5/bolt_protocol_v5.rb +0 -21
  220. data/ruby/neo4j/driver/internal/messaging/v5/message_format_v5.rb +0 -18
  221. data/ruby/neo4j/driver/internal/messaging/v5/value_unpacker_v5.rb +0 -17
  222. data/ruby/neo4j/driver/internal/messaging/v51/bolt_protocol_v51.rb +0 -40
  223. data/ruby/neo4j/driver/internal/messaging/v51/message_format_v51.rb +0 -14
  224. data/ruby/neo4j/driver/internal/messaging/v51/message_writer_v51.rb +0 -17
  225. data/ruby/neo4j/driver/internal/metrics/connection_pool_metrics_listener.rb +0 -34
  226. data/ruby/neo4j/driver/internal/metrics/internal_abstract_metrics.rb +0 -46
  227. data/ruby/neo4j/driver/internal/metrics/internal_connection_pool_metrics.rb +0 -105
  228. data/ruby/neo4j/driver/internal/metrics/internal_metrics.rb +0 -82
  229. data/ruby/neo4j/driver/internal/metrics/internal_metrics_provider.rb +0 -18
  230. data/ruby/neo4j/driver/internal/metrics/listener_event.rb +0 -17
  231. data/ruby/neo4j/driver/internal/metrics/metrics_provider.rb +0 -24
  232. data/ruby/neo4j/driver/internal/metrics/time_recorder_listener_event.rb +0 -15
  233. data/ruby/neo4j/driver/internal/packstream/byte_array_incompatible_packer.rb +0 -12
  234. data/ruby/neo4j/driver/internal/packstream/pack_input.rb +0 -47
  235. data/ruby/neo4j/driver/internal/packstream/pack_output.rb +0 -39
  236. data/ruby/neo4j/driver/internal/packstream/pack_stream.rb +0 -326
  237. data/ruby/neo4j/driver/internal/packstream/pack_type.rb +0 -17
  238. data/ruby/neo4j/driver/internal/read_only_bookmark_holder.rb +0 -13
  239. data/ruby/neo4j/driver/internal/resolved_bolt_server_address.rb +0 -35
  240. data/ruby/neo4j/driver/internal/retry/exponential_backoff_retry_logic.rb +0 -151
  241. data/ruby/neo4j/driver/internal/revocation_strategy.rb +0 -19
  242. data/ruby/neo4j/driver/internal/scheme.rb +0 -32
  243. data/ruby/neo4j/driver/internal/security/internal_auth_token.rb +0 -15
  244. data/ruby/neo4j/driver/internal/security/security_plan_impl.rb +0 -48
  245. data/ruby/neo4j/driver/internal/security_setting.rb +0 -66
  246. data/ruby/neo4j/driver/internal/session_factory_impl.rb +0 -32
  247. data/ruby/neo4j/driver/internal/spi/connection.rb +0 -19
  248. data/ruby/neo4j/driver/internal/spi/connection_pool.rb +0 -9
  249. data/ruby/neo4j/driver/internal/spi/response_handler.rb +0 -23
  250. data/ruby/neo4j/driver/internal/summary/internal_database_info.rb +0 -7
  251. data/ruby/neo4j/driver/internal/summary/internal_input_position.rb +0 -11
  252. data/ruby/neo4j/driver/internal/summary/internal_notification.rb +0 -16
  253. data/ruby/neo4j/driver/internal/summary/internal_plan.rb +0 -41
  254. data/ruby/neo4j/driver/internal/summary/internal_profiled_plan.rb +0 -32
  255. data/ruby/neo4j/driver/internal/summary/internal_result_summary.rb +0 -33
  256. data/ruby/neo4j/driver/internal/summary/internal_server_info.rb +0 -6
  257. data/ruby/neo4j/driver/internal/summary/internal_summary_counters.rb +0 -18
  258. data/ruby/neo4j/driver/internal/svm/netty_substitutions.rb +0 -196
  259. data/ruby/neo4j/driver/internal/svm/z_lib_substitutions.rb +0 -21
  260. data/ruby/neo4j/driver/internal/util/certificate_tool.rb +0 -65
  261. data/ruby/neo4j/driver/internal/util/clock.rb +0 -29
  262. data/ruby/neo4j/driver/internal/util/error_util.rb +0 -104
  263. data/ruby/neo4j/driver/internal/util/extract.rb +0 -123
  264. data/ruby/neo4j/driver/internal/util/format.rb +0 -39
  265. data/ruby/neo4j/driver/internal/util/futures.rb +0 -99
  266. data/ruby/neo4j/driver/internal/util/iterables.rb +0 -35
  267. data/ruby/neo4j/driver/internal/util/lock_util.rb +0 -23
  268. data/ruby/neo4j/driver/internal/util/metadata_extractor.rb +0 -107
  269. data/ruby/neo4j/driver/internal/util/mutex.rb +0 -9
  270. data/ruby/neo4j/driver/internal/util/preconditions.rb +0 -16
  271. data/ruby/neo4j/driver/internal/util/result_holder.rb +0 -72
  272. data/ruby/neo4j/driver/internal/util/server_version.rb +0 -60
  273. data/ruby/neo4j/driver/logging1.rb +0 -51
  274. data/ruby/neo4j/driver/net/server_address.rb +0 -9
  275. data/ruby/neo4j/driver/query.rb +0 -48
  276. data/ruby/neo4j/driver/records.rb +0 -13
  277. data/ruby/neo4j/driver/transaction_config.rb +0 -50
  278. data/ruby/neo4j/driver/values.rb +0 -26
  279. data/ruby/neo4j/driver.rb +0 -28
@@ -1,35 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Util
4
- class Iterables
5
- EMPTY_QUEUE = Queue.new
6
-
7
- class << self
8
- def single(it)
9
- if it.empty?
10
- raise ArgumentError, 'Given iterable is empty'
11
- end
12
-
13
- result = it.first
14
-
15
- if it.size > 1
16
- raise ArgumentError, "Given iterable contains more than one element: #{it}"
17
- end
18
-
19
- result
20
- end
21
-
22
- def map(alternating_key_value)
23
- out = {}
24
-
25
- (0...alternating_key_value.length).step(2) do |i|
26
- out[i] = out[i+1]
27
- end
28
-
29
- out
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,23 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Util
4
- class LockUtil
5
- class << self
6
- def execute_with_lock(lock)
7
- lock.lock
8
- begin
9
- yield
10
- ensure
11
- lock.unlock
12
- end
13
- end
14
-
15
- def execute_with_lock_async(lock)
16
- lock.lock
17
- Concurrent::Promises.fulfilled_future(lock).then_flat { yield }.on_fulfillment! { lock.unlock }
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,107 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Util
4
- class MetadataExtractor
5
- def initialize(result_available_after_metadata_key, result_consumed_after_metadata_key)
6
- @result_available_after_metadata_key = result_available_after_metadata_key
7
- @result_consumed_after_metadata_key = result_consumed_after_metadata_key
8
- end
9
-
10
- def extract_query_keys(metadata)
11
- metadata[:fields]&.map(&:to_sym) || []
12
- end
13
-
14
- def extract_query_id(metadata)
15
- metadata[:qid]
16
- end
17
-
18
- def extract_result_available_after(metadata)
19
- metadata[@result_available_after_metadata_key]
20
- end
21
-
22
- def extract_summary(query, connection, result_available_after, metadata)
23
- server_info = Summary::InternalServerInfo.new(connection.server_agent, connection.server_address.to_s, connection.server_version, connection.protocol.version)
24
- db_info = self.class.extract_database_info(metadata)
25
- Summary::InternalResultSummary.new(
26
- query, server_info, db_info, self.class.extract_query_type(metadata), self.class.extract_counters(metadata),
27
- self.class.extract_plan(metadata), self.class.extract_profiled_plan(metadata),
28
- self.class.extract_notifications(metadata), result_available_after,
29
- self.class.extract_result_consumed_after(metadata, @result_consumed_after_metadata_key))
30
- end
31
-
32
- class << self
33
- def extract_database_info(metadata)
34
- metadata[:db]&.then(&Summary::InternalDatabaseInfo.method(:new)) ||
35
- Summary::InternalDatabaseInfo::DEFAULT_DATABASE_INFO
36
- end
37
-
38
- def extract_bookmarks(metadata)
39
- bookmark_value = metadata[:bookmark]
40
-
41
- return InternalBookmark.parse(bookmark_value) if bookmark_value&.is_a? String
42
-
43
- InternalBookmark.empty
44
- end
45
-
46
- def extract_neo4j_server_version(metadata)
47
- server_value = extract_server(metadata)
48
- server = Util::ServerVersion.version(server_value)
49
- return server if Util::ServerVersion::NEO4J_PRODUCT.casecmp?(server.product)
50
- raise Neo4j::Driver::Exceptions::UntrustedServerException, "Server does not identify as a genuine Neo4j instance: #{server.product}"
51
- end
52
-
53
- def extract_server(metadata)
54
- metadata[:server].tap do |version_value|
55
- unless version_value
56
- raise Neo4j::Driver::Exceptions::UntrustedServerException, 'Server provides no product identifier'
57
- end
58
- end
59
- end
60
-
61
- def extract_query_type(metadata)
62
- metadata[:type]
63
- end
64
-
65
- def extract_counters(metadata)
66
- counters_value = metadata[:stats]
67
- counters_value &&
68
- Summary::InternalSummaryCounters.new(
69
- *%i[
70
- nodes-created
71
- nodes-deleted
72
- relationships-created
73
- relationships-deleted
74
- properties-set
75
- labels-added
76
- labels-removed
77
- indexes-added
78
- indexes-removed
79
- constraints-added
80
- constraints-removed
81
- system-updates
82
- ].map { |key| counters_value[key].to_i }
83
- )
84
- end
85
-
86
- def extract_plan(metadata)
87
- metadata[:plan]&.then(&Summary::InternalPlan::EXPLAIN_PLAN_FROM_VALUE)
88
- end
89
-
90
- def extract_profiled_plan(metadata)
91
- metadata[:profile]&.then(&Summary::InternalProfiledPlan::PROFILED_PLAN_FROM_VALUE)
92
- end
93
-
94
- def extract_notifications(metadata)
95
- metadata[:notifications]&.then do |notifications|
96
- notifications.map(&Summary::InternalNotification::VALUE_TO_NOTIFICATION)
97
- end
98
- end
99
-
100
- def extract_result_consumed_after(metadata, key)
101
- metadata[key]&.to_i
102
- end
103
- end
104
- end
105
- end
106
- end
107
- end
@@ -1,9 +0,0 @@
1
- module Neo4j::Driver::Internal
2
- module Util
3
- class Mutex < Mutex
4
- def synchronize
5
- owned? ? yield : super
6
- end
7
- end
8
- end
9
- end
@@ -1,16 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Util
4
- class Preconditions
5
- # Assert that given expression is true.
6
-
7
- # @param expression the value to check.
8
- # @param message the message.
9
- # @throws IllegalArgumentException if given value is {@code false}.
10
- def self.check_argument(expression, message)
11
- raise ArgumentError, message unless expression
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,72 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Util
4
- class ResultHolder
5
- attr :error
6
-
7
- def self.successful(result = nil)
8
- new.tap { |holder| holder.succeed(result) }
9
- end
10
-
11
- def self.failed(error)
12
- new.tap { |holder| holder.fail(error) }
13
- end
14
-
15
- def succeed(result = nil)
16
- if @completed
17
- false
18
- else
19
- @result = result
20
- true
21
- end
22
- ensure
23
- @completed = true
24
- end
25
-
26
- def fail(error)
27
- if @completed
28
- false
29
- else
30
- @error = error
31
- true
32
- end
33
- ensure
34
- @completed = true
35
- end
36
-
37
- def result!
38
- raise @error if @error
39
- @result
40
- end
41
-
42
- def then
43
- @error ? self : ResultHolder.successful(yield(@result))
44
- end
45
-
46
- # &block returns a ResultHolder
47
- def compose
48
- @error ? self : yield(@result)
49
- end
50
-
51
- def chain
52
- ResultHolder.successful(yield(@result, @error))
53
- rescue => error
54
- ResultHolder.failed(error)
55
- end
56
-
57
- def side
58
- yield(@result, @error)
59
- self
60
- end
61
-
62
- def copy_to(result_holder)
63
- if @error
64
- result_holder.fail(@error)
65
- else
66
- result_holder.succeed(@result)
67
- end
68
- end
69
- end
70
- end
71
- end
72
- end
@@ -1,60 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Util
4
- class ServerVersion < Struct.new(:product, :major, :minor, :patch)
5
- include Comparable
6
- NEO4J_PRODUCT = 'Neo4j'
7
- V4_4_0 = new(NEO4J_PRODUCT, 4, 4, 0)
8
- V4_3_0 = new(NEO4J_PRODUCT, 4, 3, 0)
9
- V4_2_0 = new(NEO4J_PRODUCT, 4, 2, 0)
10
- V4_1_0 = new(NEO4J_PRODUCT, 4, 1, 0)
11
- V4_0_0 = new(NEO4J_PRODUCT, 4, 0, 0)
12
- V3_5_0 = new(NEO4J_PRODUCT, 3, 5, 0)
13
- V3_4_0 = new(NEO4J_PRODUCT, 3, 4, 0)
14
- V_IN_DEV = new(NEO4J_PRODUCT)
15
- NEO4J_IN_DEV_VERSION_STRING = "#{NEO4J_PRODUCT}/dev"
16
- PATTERN = Regexp.new '([^/]+)/(\\d+)\\.(\\d+)(?:\\.)?(\\d*)(\\.|-|\\+)?([0-9A-Za-z\-.]*)?'
17
-
18
- def <=>(other)
19
- unless product == other.product
20
- raise ArgumentError, "Comparing different products #{product} with #{other.product}"
21
- end
22
- values <=> other.values
23
- end
24
-
25
- def to_s
26
- major || minor || patch ? "#{product}/#{major}.#{minor}.#{patch}" : NEO4J_IN_DEV_VERSION_STRING
27
- end
28
-
29
- def self.version(server)
30
- PATTERN.match(server) do |matchdata|
31
- product = matchdata[1]
32
- major = matchdata[2].to_i
33
- minor = matchdata[3].to_i
34
- patch = matchdata[4].to_i
35
- return new(product, major, minor, patch)
36
- end
37
- return V_IN_DEV if server.casecmp?(NEO4J_IN_DEV_VERSION_STRING)
38
- raise ArgumentError, "Cannot parse #{server}"
39
- end
40
-
41
- def self.from_bolt_protocol_version(protocol_version)
42
- case protocol_version
43
- when Messaging::V4::BoltProtocolV4::VERSION
44
- V4_0_0
45
- when Messaging::V41::BoltProtocolV41::VERSION
46
- V4_1_0
47
- when Messaging::V42::BoltProtocolV42::VERSION
48
- V4_2_0
49
- when Messaging::V43::BoltProtocolV43::VERSION
50
- V4_3_0
51
- when Messaging::V44::BoltProtocolV44::VERSION
52
- V4_4_0
53
- else
54
- V_IN_DEV
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,51 +0,0 @@
1
- module Neo4j
2
- module Driver
3
- module Logging1
4
- # Obtain a {@link Logger} instance by class, its name will be the fully qualified name of the class.
5
-
6
- # @param clazz class whose name should be used as the {@link Logger} name.
7
- # @return {@link Logger} instance
8
- private
9
-
10
- def log(clazz)
11
- canonical_name = clazz.canonical_name
12
- log(canonical_name.nil? ? clazz.name : canonical_name)
13
- end
14
-
15
- # Create logging implementation that uses SLF4J.
16
-
17
- # @return new logging implementation.
18
- # @throws IllegalStateException if SLF4J is not available.
19
- def slf4j
20
- unavailability_error = Internal::Logging::Slf4jLogging.check_availability
21
-
22
- raise unavailability_error unless unavailability_error.nil?
23
-
24
- Slf4jLogging.new
25
- end
26
-
27
- # Create logging implementation that uses {@link java.util.logging}.
28
-
29
- # @param level the log level.
30
- # @return new logging implementation.
31
- def java_util_logging(level)
32
- Internal::Logging::JULogging.new(level)
33
- end
34
-
35
- # Create logging implementation that uses {@link java.util.logging} to log to {@code System.err}.
36
-
37
- # @param level the log level.
38
- # @return new logging implementation.
39
- def console(level)
40
- Internal::Logging::ConsoleLogging.new(level)
41
- end
42
-
43
- # Create logging implementation that discards all messages and logs nothing.
44
-
45
- # @return new logging implementation.
46
- def none
47
- Internal::Logging::DevNullLogging::DEV_NULL_LOGGING
48
- end
49
- end
50
- end
51
- end
@@ -1,9 +0,0 @@
1
- module Neo4j::Driver
2
- module Net
3
- module ServerAddress
4
- def self.of(host, port)
5
- Internal::BoltServerAddress.new(host: host, port: port)
6
- end
7
- end
8
- end
9
- end
@@ -1,48 +0,0 @@
1
- module Neo4j
2
- module Driver
3
- # The components of a Cypher query, containing the query text and parameter map.
4
-
5
- # @see Session
6
- # @see Transaction
7
- # @see Result
8
- # @see Result#consume()
9
- # @see ResultSummary
10
- # @since 1.0
11
- class Query < Struct.new(:text, :parameters)
12
- def initialize(text, **parameters)
13
- super(self.class.validated_query_text(text), Values.value(parameters))
14
- end
15
-
16
- # @param newText the new query text
17
- # @return a new Query object with updated text
18
- def with_text(new_text)
19
- new(new_text, parameters)
20
- end
21
-
22
- def with_parameters(new_parameters)
23
- new(text, new_parameters)
24
- end
25
-
26
- # Create a new query with new parameters derived by updating this'
27
- # query's parameters using the given updates.
28
-
29
- # Every update key that points to a null value will be removed from
30
- # the new query's parameters. All other entries will just replace
31
- # any existing parameter in the new query.
32
-
33
- # @param updates describing how to update the parameters
34
- # @return a new query with updated parameters
35
- def with_updated_parameters(**updates)
36
- with_parameters(parameters.merge(updates))
37
- end
38
-
39
- private
40
-
41
- def self.validated_query_text(query)
42
- Internal::Util::Preconditions.check_argument(query, 'Cypher query text should not be nil')
43
- Internal::Util::Preconditions.check_argument(query.present?, 'Cypher query text should not be an empty string')
44
- query
45
- end
46
- end
47
- end
48
- end
@@ -1,13 +0,0 @@
1
- module Neo4j
2
- module Driver
3
- # Static utility methods for retaining records
4
-
5
- # @see Result#list()
6
- # @since 1.0
7
- class Records
8
- def self.column(index, map_function)
9
- java.util.function.Function.new.apply{ |record| map_function.apply(record[index]) }
10
- end
11
- end
12
- end
13
- end
@@ -1,50 +0,0 @@
1
- module Neo4j
2
- module Driver
3
- # Configuration object containing settings for transactions.
4
- # Instances are immutable and can be reused for multiple transactions.
5
- # <p>
6
- # Configuration is supported for:
7
- # <ul>
8
- # <li>queries executed in auto-commit transactions - using various overloads of {@link Session#run(String, TransactionConfig)} and
9
- # {@link AsyncSession#runAsync(String, TransactionConfig)}</li>
10
- # <li>transactions started by transaction functions - using {@link Session#readTransaction(TransactionWork, TransactionConfig)},
11
- # {@link Session#writeTransaction(TransactionWork, TransactionConfig)}, {@link AsyncSession#readTransactionAsync(AsyncTransactionWork, TransactionConfig)} and
12
- # {@link AsyncSession#writeTransactionAsync(AsyncTransactionWork, TransactionConfig)}</li>
13
- # <li>unmanaged transactions - using {@link Session#beginTransaction(TransactionConfig)} and {@link AsyncSession#beginTransactionAsync(TransactionConfig)}</li>
14
- # </ul>
15
- # <p>
16
- # Creation of configuration objects can be done using the builder API:
17
- # <pre>
18
- # {@code
19
- # Map<String, Object> metadata = new HashMap<>();
20
- # metadata.put("type", "update user");
21
- # metadata.put("application", "my application");
22
- # TransactionConfig config = TransactionConfig.builder()
23
- # .withTimeout(Duration.ofSeconds(4))
24
- # .withMetadata(metadata)
25
- # .build();
26
- # }
27
- # </pre>
28
- # @see Session
29
- class TransactionConfig < Hash
30
- EMPTY = new
31
-
32
- def initialize(timeout: nil, metadata: {})
33
- Internal::Util::Preconditions.check_argument(timeout.nil? || timeout.positive?, 'Transaction timeout should be positive')
34
- Internal::Validator.require_non_nil!(metadata)
35
- merge!(timeout: timeout, metadata: metadata)
36
- end
37
-
38
- def self.empty
39
- EMPTY
40
- end
41
-
42
- # Check if this configuration object contains any values.
43
-
44
- # @return {@code true} when no values are configured, {@code false otherwise}.
45
- def empty?
46
- fetch(:timeout).nil? && fetch(:metadata).blank?
47
- end
48
- end
49
- end
50
- end
@@ -1,26 +0,0 @@
1
- module Neo4j
2
- module Driver
3
- module Values
4
- def self.value(value)
5
- this_method = method(:value)
6
- case value
7
- when nil, TrueClass, FalseClass, Integer, Float, String, Symbol, Bookmark, ActiveSupport::Duration,
8
- Types::Point, Types::Time, Time, Date
9
- value
10
- when Hash
11
- value.transform_keys(&this_method).transform_values(&this_method)
12
- when Internal::InternalPath
13
- nonconvertible(value)
14
- when Enumerable
15
- value.map(&this_method)
16
- else
17
- nonconvertible(value)
18
- end
19
- end
20
-
21
- def self.nonconvertible(value)
22
- raise Exceptions::ClientException, "Unable to convert #{value.class.name} to Neo4j Value."
23
- end
24
- end
25
- end
26
- end
data/ruby/neo4j/driver.rb DELETED
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/array/grouping'
4
- require 'active_support/core_ext/hash/keys'
5
- require 'active_support/logger'
6
- require 'async/io'
7
- require 'async/io/stream'
8
- require 'async/queue'
9
- require 'bigdecimal'
10
- require 'connection_pool'
11
- require 'neo4j-ruby-driver_loader'
12
-
13
- module Neo4j
14
- module Driver
15
- Loader.load
16
-
17
- Record = Neo4j::Driver::Internal::InternalRecord
18
- Result = Neo4j::Driver::Internal::InternalResult
19
- Transaction = Neo4j::Driver::Internal::InternalTransaction
20
-
21
- module Types
22
- Entity = Neo4j::Driver::Internal::InternalEntity
23
- Node = Neo4j::Driver::Internal::InternalNode
24
- Path = Neo4j::Driver::Internal::InternalPath
25
- Relationship = Neo4j::Driver::Internal::InternalRelationship
26
- end
27
- end
28
- end