MAPISTORE internal indexing functions. More...
#include <string.h>#include "mapistore.h"#include "mapistore_errors.h"#include "mapistore_private.h"#include <dlinklist.h>#include "libmapi/libmapi_private.h"#include <tdb.h>Functions | |
| _PUBLIC_ enum mapistore_error | mapistore_indexing_add (struct mapistore_context *mstore_ctx, const char *username, struct indexing_context_list **ictxp) |
| _PUBLIC_ enum mapistore_error | mapistore_indexing_record_add_fid (struct mapistore_context *mstore_ctx, uint32_t context_id, const char *username, uint64_t fid) |
| enum mapistore_error | mapistore_indexing_record_add_fmid (struct mapistore_context *mstore_ctx, uint32_t context_id, const char *username, uint64_t fmid) |
| _PUBLIC_ enum mapistore_error | mapistore_indexing_record_add_mid (struct mapistore_context *mstore_ctx, uint32_t context_id, const char *username, uint64_t mid) |
| _PUBLIC_ enum mapistore_error | mapistore_indexing_record_del_fid (struct mapistore_context *mstore_ctx, uint32_t context_id, const char *username, uint64_t fid, uint8_t flags) |
| enum mapistore_error | mapistore_indexing_record_del_fmid (struct mapistore_context *mstore_ctx, uint32_t context_id, const char *username, uint64_t fmid, uint8_t flags) |
| _PUBLIC_ enum mapistore_error | mapistore_indexing_record_del_mid (struct mapistore_context *mstore_ctx, uint32_t context_id, const char *username, uint64_t mid, uint8_t flags) |
| _PUBLIC_ enum mapistore_error | mapistore_indexing_record_get_uri (struct mapistore_context *mstore_ctx, const char *username, TALLOC_CTX *mem_ctx, uint64_t fmid, char **urip, bool *soft_deletedp) |
| struct indexing_context_list * | mapistore_indexing_search (struct mapistore_context *mstore_ctx, const char *username) |
| enum mapistore_error | mapistore_indexing_search_existing_fmid (struct indexing_context_list *ictx, uint64_t fmid, bool *IsSoftDeleted) |
MAPISTORE internal indexing functions.
This file contains functionality to map between folder / message identifiers and backend URI strings.
| _PUBLIC_ enum mapistore_error mapistore_indexing_add | ( | struct mapistore_context * | mstore_ctx, |
| const char * | username, | ||
| struct indexing_context_list ** | ictxp | ||
| ) |
Open connection to indexing database for a given user
| mstore_ctx | pointer to the mapistore context |
| username | name for which the indexing database has to be created |
References MAPISTORE_ERR_DATABASE_INIT, MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERROR, mapistore_indexing_search(), and MAPISTORE_SUCCESS.
Referenced by mapistore_add_context(), mapistore_indexing_record_add_fmid(), mapistore_indexing_record_del_fmid(), mapistore_indexing_record_get_uri(), mapistore_mgmt_register_message(), and mapistore_mgmt_registered_message().
| _PUBLIC_ enum mapistore_error mapistore_indexing_record_add_fid | ( | struct mapistore_context * | mstore_ctx, |
| uint32_t | context_id, | ||
| const char * | username, | ||
| uint64_t | fid | ||
| ) |
Add a fid record to the indexing database
| mstore_ctx | pointer to the mapistore context |
| context_id | the context identifier referencing the indexing database to update |
| fid | the fid to add |
References mapistore_indexing_record_add_fmid().
| enum mapistore_error mapistore_indexing_record_add_fmid | ( | struct mapistore_context * | mstore_ctx, |
| uint32_t | context_id, | ||
| const char * | username, | ||
| uint64_t | fmid | ||
| ) |
Add a folder or message record to the indexing database
| mstore_ctx | pointer to the mapistore context |
| context_id | the context identifier referencing the indexing database to update |
| fmid | the folder or message ID to add |
| type | MAPISTORE_FOLDER or MAPISTORE_MESSAGE |
References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERROR, mapistore_indexing_add(), and mapistore_indexing_search_existing_fmid().
Referenced by mapistore_indexing_record_add_fid(), and mapistore_indexing_record_add_mid().
| _PUBLIC_ enum mapistore_error mapistore_indexing_record_add_mid | ( | struct mapistore_context * | mstore_ctx, |
| uint32_t | context_id, | ||
| const char * | username, | ||
| uint64_t | mid | ||
| ) |
Add a mid record to the indexing database
| mstore_ctx | pointer to the mapistore context |
| context_id | the context identifier referencing the indexing database to update |
| mid | the mid to add |
References mapistore_indexing_record_add_fmid().
| _PUBLIC_ enum mapistore_error mapistore_indexing_record_del_fid | ( | struct mapistore_context * | mstore_ctx, |
| uint32_t | context_id, | ||
| const char * | username, | ||
| uint64_t | fid, | ||
| uint8_t | flags | ||
| ) |
Delete a fid record from the indexing database
| mstore_ctx | pointer to the mapistore context |
| context_id | the context identifier referencing the indexing database to update |
| fid | the fid to remove |
| flags | the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE |
References mapistore_indexing_record_del_fmid().
| enum mapistore_error mapistore_indexing_record_del_fmid | ( | struct mapistore_context * | mstore_ctx, |
| uint32_t | context_id, | ||
| const char * | username, | ||
| uint64_t | fmid, | ||
| uint8_t | flags | ||
| ) |
Remove a folder or message record from the indexing database
| mstore_ctx | pointer to the mapistore context |
| context_id | the context identifier referencing the indexing database to update |
| fmid | the folder or message ID to delete |
| flags | the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE |
References mapistore_backend_lookup(), MAPISTORE_ERR_DATABASE_OPS, MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERROR, mapistore_indexing_add(), mapistore_indexing_search_existing_fmid(), and MAPISTORE_SUCCESS.
Referenced by mapistore_indexing_record_del_fid(), and mapistore_indexing_record_del_mid().
| _PUBLIC_ enum mapistore_error mapistore_indexing_record_del_mid | ( | struct mapistore_context * | mstore_ctx, |
| uint32_t | context_id, | ||
| const char * | username, | ||
| uint64_t | mid, | ||
| uint8_t | flags | ||
| ) |
Delete a mid record from the indexing database
| mstore_ctx | pointer to the mapistore context |
| context_id | the context identifier referencing the indexing database to update |
| mid | the mid to remove |
| flags | the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE |
References mapistore_indexing_record_del_fmid().
| _PUBLIC_ enum mapistore_error mapistore_indexing_record_get_uri | ( | struct mapistore_context * | mstore_ctx, |
| const char * | username, | ||
| TALLOC_CTX * | mem_ctx, | ||
| uint64_t | fmid, | ||
| char ** | urip, | ||
| bool * | soft_deletedp | ||
| ) |
Returns record data
| mstore_ctx | pointer to the mapistore context |
| username | the name of the account where to look for the indexing database |
| mem_ctx | pointer to the memory context |
| fmid | the fmid/key to the record |
| urip | pointer to the uri pointer |
| soft_deletedp | pointer to the soft deleted pointer |
References MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERROR, mapistore_indexing_add(), and MAPISTORE_SUCCESS.
|
read |
Search the indexing record matching the username
| mstore_ctx | pointer to the mapistore context |
| username | the username to lookup |
Referenced by mapistore_indexing_add().
| enum mapistore_error mapistore_indexing_search_existing_fmid | ( | struct indexing_context_list * | ictx, |
| uint64_t | fmid, | ||
| bool * | IsSoftDeleted | ||
| ) |
Convenient function to check if the folder/message ID passed in parameter already exists in the database or not and whether it is soft deleted or not
| ictx | pointer to the indexing context |
| fmid | folder/message ID to lookup |
| IsSoftDeleted | pointer to boolean returned by the function which indicates whether the record is soft_deleted or not |
References MAPISTORE_ERR_EXIST, MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
Referenced by mapistore_indexing_record_add_fmid(), and mapistore_indexing_record_del_fmid().
|
|
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |