All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
as_query_validate.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008-2022 Aerospike, Inc.
3  *
4  * Portions may be licensed to Aerospike, Inc. under one or more contributor
5  * license agreements.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
8  * use this file except in compliance with the License. You may obtain a copy of
9  * the License at http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14  * License for the specific language governing permissions and limitations under
15  * the License.
16  */
17 #pragma once
18 
19 #include <aerospike/as_key.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 /******************************************************************************
26  * TYPES
27  *****************************************************************************/
28 
29 struct as_node_s;
30 struct as_event_executor;
31 struct as_event_command;
32 struct as_event_loop;
33 
34 /******************************************************************************
35  * FUNCTIONS
36  *****************************************************************************/
37 
38 /**
39  * @private
40  * Verify migrations are not occurring and obtain cluster key.
41  */
44  as_error* err, struct as_node_s* node, const char* ns, uint32_t timeout,
45  uint64_t* cluster_key
46  );
47 
48 /**
49  * @private
50  * Verify migrations are not occurring and expected cluster key has not changed.
51  */
54  as_error* err, struct as_node_s* node, const char* ns, uint32_t timeout,
55  uint64_t expected_key
56  );
57 
58 /**
59  * @private
60  * Verify migrations are not occurring and obtain cluster key in async mode.
61  */
64  struct as_event_executor* executor, const char* ns, as_error* err
65  );
66 
67 /**
68  * @private
69  * Verify migrations are not occurring and expected cluster key has not changed in async mode.
70  * Then execute query.
71  */
73 as_query_validate_next_async(struct as_event_executor* executor, uint32_t index);
74 
75 /**
76  * @private
77  * Verify migrations are not occurring and expected cluster key has not changed in async mode.
78  * Then complete query.
79  */
80 void
82  struct as_event_executor* executor, struct as_node_s* node, struct as_event_loop* event_loop
83  );
84 
85 #ifdef __cplusplus
86 } // end extern "C"
87 #endif
as_status as_query_validate_begin(as_error *err, struct as_node_s *node, const char *ns, uint32_t timeout, uint64_t *cluster_key)
as_namespace ns
Definition: as_scan.h:267
as_status as_query_validate(as_error *err, struct as_node_s *node, const char *ns, uint32_t timeout, uint64_t expected_key)
as_status
Definition: as_status.h:30
as_status as_query_validate_begin_async(struct as_event_executor *executor, const char *ns, as_error *err)
as_status as_query_validate_next_async(struct as_event_executor *executor, uint32_t index)
void as_query_validate_end_async(struct as_event_executor *executor, struct as_node_s *node, struct as_event_loop *event_loop)
uint32_t index
Definition: as_event.h:129