Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions
afw_adaptor_impl_index.c File Reference

Helpers for afw_adaptor implementation index development. More...

#include "afw_internal.h"
#include "afw_adaptor_impl_index.h"

Go to the source code of this file.

Macros

#define AFW_QUERY_CRITERIA_CONTINUE(x)    (x != AFW_QUERY_CRITERIA_FALSE && x != AFW_QUERY_CRITERIA_TRUE)
 

Functions

afw_boolean_t afw_adaptor_impl_index_object_type_applicable (const afw_object_t *indexDefinition, const afw_utf8_t *object_type_id, afw_xctx_t *xctx)
 
afw_boolean_t afw_adaptor_impl_index_filter_applicable (const afw_object_t *object, const afw_object_t *indexDefinition, afw_xctx_t *xctx)
 
afw_boolean_t afw_adaptor_impl_index_option_case_insensitive (const afw_object_t *indexDefinition, afw_xctx_t *xctx)
 
afw_boolean_t afw_adaptor_impl_index_option_unique (const afw_object_t *indexDefinition, afw_xctx_t *xctx)
 
void afw_adaptor_impl_index_apply (const afw_adaptor_impl_index_t *instance, const afw_object_t *indexDefinition, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *object, const afw_utf8_t *key, const afw_value_t *value, const int operation, afw_xctx_t *xctx)
 
afw_boolean_t afw_adaptor_impl_index_try (const afw_adaptor_impl_index_t *instance, const afw_utf8_t *key, const afw_object_t *object, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *indexDefinition, afw_adaptor_impl_index_mode_t operation, afw_xctx_t *xctx)
 
void afw_adaptor_impl_index_open_definition (const afw_adaptor_impl_index_t *indexer, const afw_utf8_t *key, const afw_object_t *indexDefinition, const afw_pool_t *pool, afw_xctx_t *xctx)
 
 AFW_DEFINE (void)
 
afw_boolean_t afw_adaptor_impl_index_cb (const afw_object_t *object, void *context, afw_xctx_t *xctx)
 
 AFW_DEFINE (const afw_object_t *)
 
afw_boolean_t afw_adaptor_impl_index_is_property_indexed (const afw_adaptor_impl_index_t *instance, const afw_utf8_t *object_type_id, const afw_utf8_t *property_name, afw_xctx_t *xctx)
 
const afw_object_tafw_adaptor_impl_index_get_index_definition (const afw_adaptor_impl_index_t *instance, const afw_utf8_t *object_type_id, const afw_utf8_t *property_name, afw_xctx_t *xctx)
 
 AFW_DEFINE (afw_boolean_t)
 
afw_boolean_t afw_adaptor_impl_index_cursor_list_cardinality (const afw_adaptor_impl_index_t *instance, apr_array_header_t *cursor_list, size_t *cardinality, afw_xctx_t *xctx)
 
apr_array_header_t * afw_adaptor_impl_index_cursor_list_join (const afw_adaptor_impl_index_t *instance, apr_array_header_t *this_list, apr_array_header_t *that_list, afw_xctx_t *xctx)
 
apr_array_header_t * afw_adaptor_impl_index_cursor_list_merge (const afw_adaptor_impl_index_t *instance, apr_array_header_t *this_list, apr_array_header_t *that_list, afw_xctx_t *xctx)
 
apr_array_header_t * afw_adaptor_impl_index_cursor_list (const afw_adaptor_impl_index_t *instance, const afw_utf8_t *object_type_id, const afw_query_criteria_filter_entry_t *entry, afw_xctx_t *xctx)
 

Detailed Description

Helpers for afw_adaptor implementation index development.

Definition in file afw_adaptor_impl_index.c.

Function Documentation

◆ afw_adaptor_impl_index_cursor_list()

apr_array_header_t* afw_adaptor_impl_index_cursor_list ( const afw_adaptor_impl_index_t instance,
const afw_utf8_t object_type_id,
const afw_query_criteria_filter_entry_t entry,
afw_xctx_t xctx 
)
Todo:
FIXME: this may not help us with date or integer comparisons
Todo:
FIXME: we need to register open cursors to be released, because we may not know exactly when to discard them

Definition at line 1276 of file afw_adaptor_impl_index.c.

◆ afw_adaptor_impl_index_filter_applicable()

afw_boolean_t afw_adaptor_impl_index_filter_applicable ( const afw_object_t object,
const afw_object_t indexDefinition,
afw_xctx_t xctx 
)
Todo:
FIXME: throw/log error here?

Definition at line 109 of file afw_adaptor_impl_index.c.

◆ AFW_DEFINE()

AFW_DEFINE ( const afw_object_t )
Todo:
FIXME: xctx->p, session->p, or pool?
Todo:
FIXME: is pool correct?
Todo:
FIXME: already indexed, rebuild?
Todo:
FIXME: should this be session->p, pool, or xctx->p?

Definition at line 567 of file afw_adaptor_impl_index.c.