arangodb-driver 3.10.4 → 3.10.4.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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +9 -11
- data/lib/arango/aql.rb +75 -9
- data/lib/arango/cursor.rb +6 -1
- data/lib/arango/database/analyzer.rb +3 -0
- data/lib/arango/database/aql_functions.rb +2 -0
- data/lib/arango/database/aql_queries.rb +2 -0
- data/lib/arango/database/aql_query_cache.rb +2 -0
- data/lib/arango/database/collections.rb +2 -0
- data/lib/arango/database/document_collections.rb +4 -2
- data/lib/arango/database/edge_collections.rb +2 -0
- data/lib/arango/database/foxx_services.rb +3 -0
- data/lib/arango/database/graphs.rb +2 -0
- data/lib/arango/database/http_route.rb +4 -1
- data/lib/arango/database/replication.rb +3 -1
- data/lib/arango/database/stream_transactions.rb +3 -0
- data/lib/arango/database/system_collections.rb +2 -0
- data/lib/arango/database/tasks.rb +2 -0
- data/lib/arango/database/transactions.rb +4 -1
- data/lib/arango/database/user.rb +2 -0
- data/lib/arango/database/view_access.rb +2 -0
- data/lib/arango/database.rb +4 -2
- data/lib/arango/document/base.rb +2 -0
- data/lib/arango/document/class_methods.rb +2 -0
- data/lib/arango/document/instance_methods.rb +2 -0
- data/lib/arango/document/mixin.rb +2 -0
- data/lib/arango/document.rb +3 -0
- data/lib/arango/document_collection/base.rb +2 -0
- data/lib/arango/document_collection/class_methods.rb +2 -0
- data/lib/arango/document_collection/documents.rb +2 -0
- data/lib/arango/document_collection/importing.rb +2 -0
- data/lib/arango/document_collection/indexes.rb +2 -0
- data/lib/arango/document_collection/instance_methods.rb +2 -0
- data/lib/arango/document_collection/mixin.rb +2 -0
- data/lib/arango/document_collection/replication.rb +2 -0
- data/lib/arango/document_collection/user.rb +2 -0
- data/lib/arango/driver/typhoeus.rb +2 -0
- data/lib/arango/edge/base.rb +2 -0
- data/lib/arango/edge/class_methods.rb +2 -0
- data/lib/arango/edge/instance_methods.rb +2 -0
- data/lib/arango/edge/mixin.rb +2 -0
- data/lib/arango/edge_collection/base.rb +2 -0
- data/lib/arango/edge_collection/class_methods.rb +2 -0
- data/lib/arango/edge_collection/edge_acces_2.rb +20 -20
- data/lib/arango/edge_collection/edges.rb +2 -0
- data/lib/arango/edge_collection/instance_methods.rb +2 -0
- data/lib/arango/edge_collection/mixin.rb +2 -0
- data/lib/arango/error.rb +5 -1
- data/lib/arango/error_db.rb +9 -0
- data/lib/arango/foxx.rb +3 -2
- data/lib/arango/graph/base.rb +2 -0
- data/lib/arango/graph/class_methods.rb +5 -2
- data/lib/arango/graph/definition.rb +2 -0
- data/lib/arango/graph/instance_methods.rb +7 -3
- data/lib/arango/graph/mixin.rb +2 -0
- data/lib/arango/helper/database_assignment.rb +2 -0
- data/lib/arango/helper/satisfaction.rb +2 -0
- data/lib/arango/helper/server_assignment.rb +2 -0
- data/lib/arango/index.rb +20 -3
- data/lib/arango/replication.rb +3 -2
- data/lib/arango/request.rb +67 -0
- data/lib/arango/requests/administration/availability.rb +3 -0
- data/lib/arango/requests/administration/cluster_endpoints.rb +3 -0
- data/lib/arango/requests/administration/create_task.rb +3 -0
- data/lib/arango/requests/administration/create_task_id.rb +3 -0
- data/lib/arango/requests/administration/delete_task.rb +3 -0
- data/lib/arango/requests/administration/echo.rb +3 -0
- data/lib/arango/requests/administration/endpoints.rb +3 -0
- data/lib/arango/requests/administration/engine.rb +3 -0
- data/lib/arango/requests/administration/execute.rb +3 -0
- data/lib/arango/requests/administration/get_log_level.rb +3 -0
- data/lib/arango/requests/administration/get_mode.rb +3 -0
- data/lib/arango/requests/administration/get_task.rb +3 -0
- data/lib/arango/requests/administration/list_tasks.rb +2 -0
- data/lib/arango/requests/administration/log.rb +2 -0
- data/lib/arango/requests/administration/metrics.rb +2 -0
- data/lib/arango/requests/administration/reload_routing.rb +2 -0
- data/lib/arango/requests/administration/role.rb +2 -0
- data/lib/arango/requests/administration/server_id.rb +2 -0
- data/lib/arango/requests/administration/set_log_level.rb +2 -0
- data/lib/arango/requests/administration/set_mode.rb +2 -0
- data/lib/arango/requests/administration/statistics.rb +2 -0
- data/lib/arango/requests/administration/statistics_description.rb +2 -0
- data/lib/arango/requests/administration/status.rb +2 -0
- data/lib/arango/requests/administration/target_version.rb +2 -0
- data/lib/arango/requests/administration/time.rb +2 -0
- data/lib/arango/requests/administration/version.rb +2 -0
- data/lib/arango/requests/analyzer/create.rb +3 -0
- data/lib/arango/requests/analyzer/delete.rb +3 -0
- data/lib/arango/requests/analyzer/get.rb +3 -0
- data/lib/arango/requests/analyzer/list.rb +3 -0
- data/lib/arango/requests/aql/clear_query_result_cache.rb +3 -0
- data/lib/arango/requests/aql/create_function.rb +3 -0
- data/lib/arango/requests/aql/current_queries.rb +3 -0
- data/lib/arango/requests/aql/delete_function.rb +4 -0
- data/lib/arango/requests/aql/delete_slow_query_list.rb +3 -0
- data/lib/arango/requests/aql/explain.rb +3 -0
- data/lib/arango/requests/aql/get_query_result_cache_properties.rb +3 -0
- data/lib/arango/requests/aql/get_query_tracking_properties.rb +3 -0
- data/lib/arango/requests/aql/get_slow_query_list.rb +3 -0
- data/lib/arango/requests/aql/kill_query.rb +4 -0
- data/lib/arango/requests/aql/list_functions.rb +2 -0
- data/lib/arango/requests/aql/parse.rb +2 -0
- data/lib/arango/requests/aql/query_result_cache_entries.rb +2 -0
- data/lib/arango/requests/aql/set_query_result_cache_properties.rb +2 -0
- data/lib/arango/requests/aql/set_query_tracking_properties.rb +2 -0
- data/lib/arango/requests/backup/create.rb +3 -0
- data/lib/arango/requests/backup/delete.rb +3 -0
- data/lib/arango/requests/backup/download.rb +3 -0
- data/lib/arango/requests/backup/list.rb +3 -0
- data/lib/arango/requests/backup/restore.rb +2 -0
- data/lib/arango/requests/backup/upload.rb +2 -0
- data/lib/arango/requests/bulk/execute.rb +3 -0
- data/lib/arango/requests/bulk/export.rb +3 -0
- data/lib/arango/requests/bulk/import_document.rb +3 -0
- data/lib/arango/requests/bulk/import_json.rb +3 -0
- data/lib/arango/requests/cluster/health.rb +3 -0
- data/lib/arango/requests/cluster/maintenance.rb +2 -0
- data/lib/arango/requests/cluster/statistics.rb +3 -1
- data/lib/arango/requests/collection/checksum.rb +3 -0
- data/lib/arango/requests/collection/count.rb +3 -0
- data/lib/arango/requests/collection/create.rb +3 -0
- data/lib/arango/requests/collection/delete.rb +3 -0
- data/lib/arango/requests/collection/get.rb +3 -0
- data/lib/arango/requests/collection/get_properties.rb +3 -0
- data/lib/arango/requests/collection/list_all.rb +3 -0
- data/lib/arango/requests/collection/load.rb +2 -0
- data/lib/arango/requests/collection/load_indexes_into_memory.rb +2 -0
- data/lib/arango/requests/collection/recalculate_count.rb +2 -0
- data/lib/arango/requests/collection/rename.rb +2 -0
- data/lib/arango/requests/collection/responsible_shard.rb +2 -0
- data/lib/arango/requests/collection/revision.rb +2 -0
- data/lib/arango/requests/collection/rotate_journal.rb +2 -0
- data/lib/arango/requests/collection/set_properties.rb +2 -0
- data/lib/arango/requests/collection/shards.rb +2 -0
- data/lib/arango/requests/collection/statistics.rb +2 -0
- data/lib/arango/requests/collection/truncate.rb +2 -0
- data/lib/arango/requests/collection/unload.rb +3 -1
- data/lib/arango/requests/cursor/create.rb +3 -0
- data/lib/arango/requests/cursor/delete.rb +3 -0
- data/lib/arango/requests/cursor/next_batch.rb +2 -0
- data/lib/arango/requests/database/create.rb +3 -0
- data/lib/arango/requests/database/delete.rb +3 -0
- data/lib/arango/requests/database/get_information.rb +3 -0
- data/lib/arango/requests/database/list_accessible.rb +3 -0
- data/lib/arango/requests/database/list_all.rb +3 -0
- data/lib/arango/requests/document/create.rb +3 -0
- data/lib/arango/requests/document/create_multiple.rb +3 -0
- data/lib/arango/requests/document/delete.rb +3 -0
- data/lib/arango/requests/document/delete_multiple.rb +3 -0
- data/lib/arango/requests/document/get.rb +3 -0
- data/lib/arango/requests/document/get_multiple.rb +3 -0
- data/lib/arango/requests/document/head.rb +3 -0
- data/lib/arango/requests/document/replace.rb +2 -0
- data/lib/arango/requests/document/replace_multiple.rb +2 -0
- data/lib/arango/requests/document/update.rb +2 -0
- data/lib/arango/requests/document/update_multiple.rb +2 -0
- data/lib/arango/requests/foxx/commit.rb +3 -0
- data/lib/arango/requests/foxx/description.rb +3 -0
- data/lib/arango/requests/foxx/disable_development_mode.rb +3 -0
- data/lib/arango/requests/foxx/download_bundle.rb +3 -0
- data/lib/arango/requests/foxx/enable_development_mode.rb +3 -0
- data/lib/arango/requests/foxx/get_configuration.rb +3 -0
- data/lib/arango/requests/foxx/get_dependencies.rb +3 -0
- data/lib/arango/requests/foxx/install.rb +3 -0
- data/lib/arango/requests/foxx/list_all.rb +3 -0
- data/lib/arango/requests/foxx/list_scripts.rb +2 -0
- data/lib/arango/requests/foxx/readme.rb +2 -0
- data/lib/arango/requests/foxx/replace.rb +2 -0
- data/lib/arango/requests/foxx/replace_configuration.rb +2 -0
- data/lib/arango/requests/foxx/replace_dependencies.rb +2 -0
- data/lib/arango/requests/foxx/run_script.rb +2 -0
- data/lib/arango/requests/foxx/run_tests.rb +2 -0
- data/lib/arango/requests/foxx/swagger.rb +2 -0
- data/lib/arango/requests/foxx/uninstall.rb +2 -0
- data/lib/arango/requests/foxx/update_configuration.rb +2 -0
- data/lib/arango/requests/foxx/update_dependencies.rb +2 -0
- data/lib/arango/requests/foxx/upgrade.rb +3 -1
- data/lib/arango/requests/graph/add_edge_definition.rb +2 -0
- data/lib/arango/requests/graph/add_vertex_collection.rb +2 -0
- data/lib/arango/requests/graph/create.rb +3 -0
- data/lib/arango/requests/graph/create_edge.rb +3 -0
- data/lib/arango/requests/graph/create_vertex.rb +3 -0
- data/lib/arango/requests/graph/delete.rb +3 -0
- data/lib/arango/requests/graph/delete_edge.rb +3 -0
- data/lib/arango/requests/graph/delete_vertex.rb +3 -0
- data/lib/arango/requests/graph/get.rb +3 -0
- data/lib/arango/requests/graph/get_edge.rb +3 -0
- data/lib/arango/requests/graph/get_vertex.rb +3 -0
- data/lib/arango/requests/graph/list_all.rb +3 -0
- data/lib/arango/requests/graph/list_edge_definitions.rb +2 -0
- data/lib/arango/requests/graph/list_vertex_collections.rb +2 -0
- data/lib/arango/requests/graph/remove_edge_definition.rb +2 -0
- data/lib/arango/requests/graph/remove_vertex_collection.rb +2 -0
- data/lib/arango/requests/graph/replace_edge.rb +2 -0
- data/lib/arango/requests/graph/replace_edge_definition.rb +2 -0
- data/lib/arango/requests/graph/replace_vertex.rb +2 -0
- data/lib/arango/requests/graph/update_edge.rb +2 -0
- data/lib/arango/requests/graph/update_vertex.rb +2 -0
- data/lib/arango/requests/graph_edges/read.rb +2 -0
- data/lib/arango/requests/graph_traversal/execute.rb +3 -0
- data/lib/arango/requests/index/create.rb +3 -0
- data/lib/arango/requests/index/delete.rb +3 -0
- data/lib/arango/requests/index/get.rb +3 -0
- data/lib/arango/requests/index/list_all.rb +3 -0
- data/lib/arango/requests/job/cancel.rb +3 -0
- data/lib/arango/requests/job/delete.rb +3 -0
- data/lib/arango/requests/job/get.rb +3 -0
- data/lib/arango/requests/job/list.rb +3 -0
- data/lib/arango/requests/job/result.rb +2 -0
- data/lib/arango/requests/replication/create_dump_batch.rb +3 -0
- data/lib/arango/requests/replication/delete_dump_batch.rb +3 -0
- data/lib/arango/requests/replication/get_applier_config.rb +3 -0
- data/lib/arango/requests/replication/get_applier_state.rb +3 -0
- data/lib/arango/requests/replication/get_cluster_inventory.rb +3 -0
- data/lib/arango/requests/replication/get_dump.rb +3 -0
- data/lib/arango/requests/replication/get_inventory.rb +3 -0
- data/lib/arango/requests/replication/get_last_tick.rb +3 -0
- data/lib/arango/requests/replication/get_log_first_tick.rb +3 -0
- data/lib/arango/requests/replication/get_log_follow.rb +3 -0
- data/lib/arango/requests/replication/get_logger_state.rb +3 -0
- data/lib/arango/requests/replication/get_logger_tick_ranges.rb +3 -0
- data/lib/arango/requests/replication/get_server_id.rb +3 -0
- data/lib/arango/requests/replication/get_tail.rb +3 -0
- data/lib/arango/requests/replication/get_tick_ranges.rb +3 -0
- data/lib/arango/requests/replication/make_slave.rb +2 -0
- data/lib/arango/requests/replication/prolong_dump_batch.rb +2 -0
- data/lib/arango/requests/replication/set_applier_config.rb +2 -0
- data/lib/arango/requests/replication/start_applier.rb +2 -0
- data/lib/arango/requests/replication/stop_applier.rb +2 -0
- data/lib/arango/requests/replication/synchronize.rb +2 -0
- data/lib/arango/requests/task/all.rb +2 -0
- data/lib/arango/requests/task/create.rb +3 -0
- data/lib/arango/requests/task/create_with_id.rb +3 -0
- data/lib/arango/requests/task/delete.rb +3 -0
- data/lib/arango/requests/task/get.rb +3 -0
- data/lib/arango/requests/transaction/begin.rb +3 -0
- data/lib/arango/requests/transaction/commit.rb +3 -0
- data/lib/arango/requests/transaction/delete.rb +3 -0
- data/lib/arango/requests/transaction/execute.rb +3 -0
- data/lib/arango/requests/transaction/list_running.rb +2 -0
- data/lib/arango/requests/transaction/status.rb +2 -0
- data/lib/arango/requests/user/clear_collection_access_level.rb +3 -0
- data/lib/arango/requests/user/clear_database_access_level.rb +3 -0
- data/lib/arango/requests/user/create.rb +3 -0
- data/lib/arango/requests/user/delete.rb +3 -0
- data/lib/arango/requests/user/get.rb +3 -0
- data/lib/arango/requests/user/get_collection_access_level.rb +3 -0
- data/lib/arango/requests/user/get_database_access_level.rb +3 -0
- data/lib/arango/requests/user/list_all.rb +3 -1
- data/lib/arango/requests/user/list_databases.rb +2 -0
- data/lib/arango/requests/user/replace.rb +2 -0
- data/lib/arango/requests/user/set_collection_access_level.rb +2 -0
- data/lib/arango/requests/user/set_database_access_level.rb +2 -0
- data/lib/arango/requests/user/update.rb +2 -0
- data/lib/arango/requests/view/create_search_view.rb +3 -0
- data/lib/arango/requests/view/delete.rb +4 -1
- data/lib/arango/requests/view/get.rb +3 -0
- data/lib/arango/requests/view/get_properties.rb +3 -0
- data/lib/arango/requests/view/list_all.rb +2 -0
- data/lib/arango/requests/view/rename.rb +2 -0
- data/lib/arango/requests/view/set_search_view_properties.rb +3 -1
- data/lib/arango/requests/view/update_search_view_properties.rb +2 -0
- data/lib/arango/requests/wal/flush.rb +3 -0
- data/lib/arango/requests/wal/get_properties.rb +4 -0
- data/lib/arango/requests/wal/set_properties.rb +2 -0
- data/lib/arango/requests/wal/transactions.rb +2 -0
- data/lib/arango/result.rb +4 -0
- data/lib/arango/search_view.rb +5 -1
- data/lib/arango/server/administration.rb +5 -1
- data/lib/arango/server/agency.rb +2 -0
- data/lib/arango/server/async.rb +3 -1
- data/lib/arango/server/databases.rb +2 -0
- data/lib/arango/server/monitoring.rb +2 -0
- data/lib/arango/server/opal_support.rb +2 -0
- data/lib/arango/server/tasks.rb +2 -0
- data/lib/arango/server/user.rb +2 -0
- data/lib/arango/server.rb +3 -2
- data/lib/arango/task.rb +3 -2
- data/lib/arango/transaction.rb +3 -2
- data/lib/arango/user.rb +78 -39
- data/lib/arango/version.rb +2 -1
- data/lib/arango/view/basics.rb +6 -0
- data/lib/arango/view.rb +3 -2
- data/lib/arango.rb +42 -0
- data/lib/arangodb-driver.rb +2 -7
- metadata +2 -46
- data/arango_opal.js +0 -25855
- data/lib/arango/document_collection/vertices.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6b0e45b676274654db012747ff27323c0f2b9e0e6ef02d7eed84e042dd5c68bb
|
|
4
|
+
data.tar.gz: 9c9e8b171d889b19d4b433c5e2f25b096abf8eec372f5dc8001d8ab150bd1f18
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 656efbd84747f9b0beeadaac4d81e47da2418b46ddcf9d56eccdc34c74aa32613b5479e0d04ce854b3fdd7676e0e6d955c67e058fabe5eb037f058773434d36f
|
|
7
|
+
data.tar.gz: 42c306840713aec3f08e287ec09419c97b8995ae7e86a8c3f7bb5450ca39dc7fe4a9e8ac41464c66fa581c29bda44d8b4527527441025b9bf42a45fd075788dd
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2016 StefanoMartin, 2019 Jan Biedermann
|
|
3
|
+
Copyright (c) 2016 StefanoMartin, 2019 Jan Biedermann, 2023 Klaus Kämpf
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
arangodb-driver
|
|
3
3
|
<br/>
|
|
4
4
|
<br/>
|
|
5
|
-
<img src="https://raw.githubusercontent.com/
|
|
5
|
+
<img src="https://raw.githubusercontent.com/kkaempf/arangodb-driver/master/docs/arangodb-driver.png" align="center"/>
|
|
6
6
|
</h1>
|
|
7
7
|
|
|
8
8
|
arangodb-driver is a drop-in replacement for the (archived) [arango-driver](https://github.com/janbiedermann/arango-driver).
|
|
@@ -21,14 +21,12 @@ The history of arangodb-driver is long and twisted.
|
|
|
21
21
|
It started with [ArangoRB](https://github.com/StefanoMartin/ArangoRB), converted to [arango-driver](https://github.com/janbiedermann/arango-driver)
|
|
22
22
|
and converted again to [arangodb-driver](https://github.com/kkaempf/arangodb-driver).
|
|
23
23
|
|
|
24
|
-
The main purpose of the last rename was to get it published at [rubygems.org](https://rubygems.org)
|
|
24
|
+
The main purpose of the last rename was to get it published at [rubygems.org](https://rubygems.org/gems/arangodb-driver)
|
|
25
25
|
|
|
26
26
|
## Installation
|
|
27
27
|
|
|
28
|
-
This doesnt work yet, gem not published yet:
|
|
29
28
|
To install arangodb-driver: `gem install arangodb-driver`
|
|
30
29
|
To use it in your application: `require "arangodb-driver"`
|
|
31
|
-
Please install from the repo instead.
|
|
32
30
|
|
|
33
31
|
## Community and Support
|
|
34
32
|
|
|
@@ -90,7 +88,7 @@ Password is a mandatory field.
|
|
|
90
88
|
|
|
91
89
|
### Returning results
|
|
92
90
|
|
|
93
|
-
arangodb-driver
|
|
91
|
+
arangodb-driver tries always to store the information obtained from ArangoDB in an instance.
|
|
94
92
|
If you need to receive the output, you can return it with:
|
|
95
93
|
|
|
96
94
|
``` ruby
|
|
@@ -440,11 +438,11 @@ It means that we skip the first three Documents, we can retrieve the next 100 Do
|
|
|
440
438
|
To retrieve specific Document you can use:
|
|
441
439
|
|
|
442
440
|
``` ruby
|
|
443
|
-
myCollection.documentsMatch match: {value:
|
|
444
|
-
myCollection.documentMatch match: {value:
|
|
445
|
-
myCollection.documentByKeys keys: ["4546", "4646"]
|
|
441
|
+
myCollection.documentsMatch match: {value: 4} # All Documents of the Collection with value equal to 4
|
|
442
|
+
myCollection.documentMatch match: {value: 4} # The first Document of the Collection with value equal to 4
|
|
443
|
+
myCollection.documentByKeys keys: ["4546", "4646"] # Documents of the Collection with the keys in the Array
|
|
446
444
|
myCollection.documentByName names: ["4546", "4646"] # Documents of the Collection with the name in the Array
|
|
447
|
-
myCollection.random
|
|
445
|
+
myCollection.random # A random Document of the Collection
|
|
448
446
|
```
|
|
449
447
|
|
|
450
448
|
#### Modifying multiple documents
|
|
@@ -476,7 +474,7 @@ One-to-more with one Edge class (and More-to-one with one Edge class)
|
|
|
476
474
|
* [myDocA] --(myEdge)--> [myDocB]
|
|
477
475
|
* [myDocA] --(myEdge)--> [myDocC]
|
|
478
476
|
|
|
479
|
-
|
|
477
|
+
``` ruby
|
|
480
478
|
myEdgeCollection.createEdges document: myEdge, from: myDocA, to: [myDocB, myDocC]
|
|
481
479
|
```
|
|
482
480
|
|
|
@@ -487,7 +485,7 @@ More-to-More with one Edge class
|
|
|
487
485
|
* [myDocA] --(myEdge)--> [myDocD]
|
|
488
486
|
* [myDocB] --(myEdge)--> [myDocD]
|
|
489
487
|
|
|
490
|
-
|
|
488
|
+
``` ruby
|
|
491
489
|
myEdgeCollection.createEdges document: myEdge, from: [myDocA, myDocB], to: [myDocC, myDocD]
|
|
492
490
|
```
|
|
493
491
|
|
data/lib/arango/aql.rb
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
# === AQL ===
|
|
2
|
-
|
|
3
1
|
module Arango
|
|
2
|
+
#
|
|
3
|
+
# Arango Query Language
|
|
4
|
+
#
|
|
4
5
|
class AQL
|
|
5
6
|
include Arango::Helper::Satisfaction
|
|
6
7
|
|
|
7
8
|
class << self
|
|
8
9
|
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
#
|
|
10
|
+
# @param query_hash [Hash]
|
|
11
|
+
# * id: the query's id
|
|
12
|
+
# * query: the query string (potentially truncated)
|
|
13
|
+
# * bindVars: the bind parameter values used by the query
|
|
14
|
+
# * started: the date and time when the query was started
|
|
15
|
+
# * runTime: the query's run time up to the point the list of queries was queried
|
|
16
|
+
# * state: the query's current execution state (as a string)
|
|
17
|
+
# * stream: whether or not the query uses a streaming cursor
|
|
18
|
+
# @return [Arango::AQL]
|
|
16
19
|
def from_result_hash(query_hash)
|
|
17
20
|
new_query_hash = query_hash.transform_keys { |k| k.to_s.underscore.to_sym }
|
|
18
21
|
new_query_hash[:query_id] = query_hash.delete(:id)
|
|
@@ -20,6 +23,33 @@ module Arango
|
|
|
20
23
|
end
|
|
21
24
|
end
|
|
22
25
|
|
|
26
|
+
# Create a new AQL query
|
|
27
|
+
# @param query
|
|
28
|
+
# @param database
|
|
29
|
+
# @param batch_size
|
|
30
|
+
# @param bind_vars
|
|
31
|
+
# @param cache
|
|
32
|
+
# @param count
|
|
33
|
+
# @param fail_on_warning
|
|
34
|
+
# @param full_count
|
|
35
|
+
# @param intermediate_commit_count
|
|
36
|
+
# @param intermediate_commit_size
|
|
37
|
+
# @param max_plans
|
|
38
|
+
# @param max_transaction_size
|
|
39
|
+
# @param max_warning_count
|
|
40
|
+
# @param memory_limit
|
|
41
|
+
# @param optimizer_rules
|
|
42
|
+
# @param profile
|
|
43
|
+
# @param satellite_sync_wait
|
|
44
|
+
# @param skip_inaccessible_collections
|
|
45
|
+
# @param ttl
|
|
46
|
+
# @param query_id
|
|
47
|
+
# @param run_time
|
|
48
|
+
# @param started
|
|
49
|
+
# @param state
|
|
50
|
+
# @param stream
|
|
51
|
+
# @param block
|
|
52
|
+
# @param &ruby_block
|
|
23
53
|
def initialize(query:, database:, batch_size: nil, bind_vars: nil, cache: nil, count: nil, fail_on_warning: nil, full_count: nil,
|
|
24
54
|
intermediate_commit_count: nil, intermediate_commit_size: nil, max_plans: nil, max_transaction_size: nil,
|
|
25
55
|
max_warning_count: nil, memory_limit: nil, optimizer_rules: nil, profile: nil, satellite_sync_wait: nil,
|
|
@@ -65,6 +95,8 @@ module Arango
|
|
|
65
95
|
send(:optimizer_rules=, optimizer_rules) if optimizer_rules
|
|
66
96
|
end
|
|
67
97
|
|
|
98
|
+
# set optimizer rules
|
|
99
|
+
# @param attrs [Hash]
|
|
68
100
|
def optimizer_rules=(attrs)
|
|
69
101
|
@optimizer_rules = attrs
|
|
70
102
|
if attrs.nil?
|
|
@@ -74,6 +106,26 @@ module Arango
|
|
|
74
106
|
end
|
|
75
107
|
end
|
|
76
108
|
|
|
109
|
+
# @!attribute [r] failOnWarning
|
|
110
|
+
# @return [Boolean] fail on warning
|
|
111
|
+
# @!attribute [r] fullCount
|
|
112
|
+
# @return [Integer] full count
|
|
113
|
+
# @!attribute [r] intermediateCommitCount
|
|
114
|
+
# @return [Integer] intermediate commit count
|
|
115
|
+
# @!attribute [r] intermediateCommitSize
|
|
116
|
+
# @return [Integer] intermediate commit size
|
|
117
|
+
# @!attribute [r] maxPlans
|
|
118
|
+
# @return [Integer] max plans
|
|
119
|
+
# @!attribute [r] maxTransactionSize
|
|
120
|
+
# @return [Integer] max transaction size
|
|
121
|
+
# @!attribute [r] maxWarningCount
|
|
122
|
+
# @return [Integer] max warning count
|
|
123
|
+
# @!attribute [r] profile
|
|
124
|
+
# @return [Hash] profile
|
|
125
|
+
# @!attribute [r] satelliteSyncWait
|
|
126
|
+
# @return [Boolean] satellite sync wait
|
|
127
|
+
# @!attribute [r] skipInaccessibleCollections
|
|
128
|
+
# @return [Boolean] skip inaccessible collections
|
|
77
129
|
%w[failOnWarning fullCount intermediateCommitCount intermediateCommitSize maxPlans maxTransactionSize maxWarningCount
|
|
78
130
|
profile satelliteSyncWait skipInaccessibleCollections].each do |param_name|
|
|
79
131
|
var_name = param_name.underscore.to_sym
|
|
@@ -88,10 +140,14 @@ module Arango
|
|
|
88
140
|
attr_reader :server, :cached, :database, :extra, :id, :id_cache, :optimizer_rules, :result
|
|
89
141
|
attr_reader :run_time, :started, :state, :stream
|
|
90
142
|
|
|
143
|
+
# check if more results are pending
|
|
144
|
+
# @return [Boolean]
|
|
91
145
|
def has_more?
|
|
92
146
|
@has_more
|
|
93
147
|
end
|
|
94
148
|
|
|
149
|
+
# return Hash representation
|
|
150
|
+
# @return [Hash]
|
|
95
151
|
def to_h
|
|
96
152
|
{
|
|
97
153
|
batchSize: @batch_size,
|
|
@@ -108,6 +164,9 @@ module Arango
|
|
|
108
164
|
}.delete_if{|_,v| v.nil?}
|
|
109
165
|
end
|
|
110
166
|
|
|
167
|
+
# run an AQL request
|
|
168
|
+
# @param &block
|
|
169
|
+
# @return [Arango::AQL] (if no block passed)
|
|
111
170
|
def request
|
|
112
171
|
body = {
|
|
113
172
|
batchSize: @batch_size,
|
|
@@ -125,10 +184,13 @@ module Arango
|
|
|
125
184
|
@block ? @block.call(self, result) : self
|
|
126
185
|
end
|
|
127
186
|
|
|
187
|
+
# see {request}
|
|
128
188
|
def execute
|
|
129
189
|
request
|
|
130
190
|
end
|
|
131
191
|
|
|
192
|
+
# get next result of query
|
|
193
|
+
# @return [Arango::AQL]
|
|
132
194
|
def next
|
|
133
195
|
if @has_more
|
|
134
196
|
result = Arango::Requests::Cursor::NextBatch.execute(server: @server, args: { id: @id })
|
|
@@ -139,11 +201,13 @@ module Arango
|
|
|
139
201
|
end
|
|
140
202
|
end
|
|
141
203
|
|
|
204
|
+
# delete current query
|
|
142
205
|
def delete
|
|
143
206
|
Arango::Requests::Cursor::Delete.execute(server: @server, args: { id: @id })
|
|
144
207
|
true
|
|
145
208
|
end
|
|
146
209
|
|
|
210
|
+
# kill current query
|
|
147
211
|
def kill
|
|
148
212
|
Arango::Requests::AQL::KillQuery.execute(server: @server, args: { id: @query_id })
|
|
149
213
|
true
|
|
@@ -151,6 +215,7 @@ module Arango
|
|
|
151
215
|
|
|
152
216
|
# === PROPERTY QUERY ===
|
|
153
217
|
|
|
218
|
+
# explain current query
|
|
154
219
|
def explain
|
|
155
220
|
body = {
|
|
156
221
|
query: @query,
|
|
@@ -160,6 +225,7 @@ module Arango
|
|
|
160
225
|
Arango::Requests::AQL::Explain.execute(server: @server, body: body)
|
|
161
226
|
end
|
|
162
227
|
|
|
228
|
+
# parse current query
|
|
163
229
|
def parse
|
|
164
230
|
Arango::Requests::AQL::Parse.execute(server: @server, body: { query: @query })
|
|
165
231
|
end
|
data/lib/arango/cursor.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
module Arango
|
|
2
|
+
# Arango Database
|
|
2
3
|
class Database
|
|
4
|
+
# Arango Database AQLQueries
|
|
3
5
|
module AQLQueries
|
|
4
6
|
def new_aql(query:, batch_size: nil, bind_vars: nil, cache: nil, count: nil, fail_on_warning: nil, full_count: nil,
|
|
5
7
|
intermediate_commit_count: nil, intermediate_commit_size: nil, max_plans: nil, max_transaction_size: nil,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
module Arango
|
|
2
|
+
# Arango Database
|
|
2
3
|
class Database
|
|
4
|
+
# Arango Database DocumentCollections
|
|
3
5
|
module DocumentCollections
|
|
4
6
|
# Retrieves all document collections from the database.
|
|
5
7
|
# @param exclude_system [Boolean] Optional, default true, exclude system collections.
|
|
@@ -13,9 +15,9 @@ module Arango
|
|
|
13
15
|
|
|
14
16
|
# Creates a new document collection.
|
|
15
17
|
# @param name [String] The name of the collection.
|
|
16
|
-
# @param
|
|
18
|
+
# @param is_system [Boolean] set true to create a system collection, defaults to false
|
|
17
19
|
# @return [Arango::DocumentCollection::Base] The instance of the collection created.
|
|
18
|
-
def create_document_collection(name:, is_system: false)
|
|
20
|
+
def create_document_collection(name:, type: :document, is_system: false)
|
|
19
21
|
Arango::DocumentCollection::Base.new(name: name, database: self, is_system: is_system).create
|
|
20
22
|
end
|
|
21
23
|
def batch_create_document_collection(name:, is_system: false)
|
data/lib/arango/database/user.rb
CHANGED
data/lib/arango/database.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
# === DATABASE ===
|
|
2
|
-
|
|
3
1
|
module Arango
|
|
2
|
+
#
|
|
3
|
+
# Arango Database
|
|
4
|
+
#
|
|
4
5
|
class Database
|
|
5
6
|
include Arango::Helper::Satisfaction
|
|
6
7
|
|
|
@@ -34,6 +35,7 @@ module Arango
|
|
|
34
35
|
list_user_databases(server: server).map{ |db| Arango::Database.new(name: db, server: server).reload }
|
|
35
36
|
end
|
|
36
37
|
|
|
38
|
+
# Create a new instance of self
|
|
37
39
|
def create()
|
|
38
40
|
self.new.create
|
|
39
41
|
end
|
data/lib/arango/document/base.rb
CHANGED
data/lib/arango/document.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
module Arango
|
|
2
|
+
# Arango DocumentCollection
|
|
2
3
|
module DocumentCollection
|
|
4
|
+
# Arango DocumentCollection ClassMethods
|
|
3
5
|
module ClassMethods
|
|
4
6
|
def new(database: Arango.current_database, graph: nil,
|
|
5
7
|
name:, id: nil, globally_unique_id: nil, is_system: false, status: nil, type: :document,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
module Arango
|
|
2
|
+
# Arango DocumentCollection
|
|
2
3
|
module DocumentCollection
|
|
4
|
+
# Arango DocumentCollection Documents
|
|
3
5
|
module Documents
|
|
4
6
|
def new_document(key: nil, attributes: {}, wait_for_sync: nil)
|
|
5
7
|
Arango::Document::Base.new(key: key, attributes: attributes, collection: self, wait_for_sync: wait_for_sync)
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
module Arango
|
|
2
|
+
# Arango DocumentCollection
|
|
2
3
|
module DocumentCollection
|
|
3
4
|
STATES = %i[unknown new_born unloaded loaded being_unloaded deleted loading] # do not sort, index is used
|
|
4
5
|
TYPES = %i[unknown unknown document edge] # do not sort, index is used
|
|
5
6
|
|
|
7
|
+
# Arango DocumentCollection Mixin
|
|
6
8
|
module Mixin
|
|
7
9
|
#@!visibility private
|
|
8
10
|
def self.included(base)
|
data/lib/arango/edge/base.rb
CHANGED
data/lib/arango/edge/mixin.rb
CHANGED