arangodb-driver 3.10.4 → 3.10.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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