/
VirusVK
/
ServerIT
Обзор
Документация
Войти
/
VirusVK
/
ServerIT
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
armdb/include/query.h
47 строк
1 KB
VirusVK
upload files
13 дек 2025, 14:28
13 дек 2025, 14:28
a626524
Код
Авторство
О чём код?
#ifndef QUERY_H #define QUERY_H #include "models.h" /* Тип фильтра */ typedef enum { FILTER_EQUALS, FILTER_NOT_EQUALS, FILTER_CONTAINS, FILTER_GREATER, FILTER_LESS, FILTER_BETWEEN } FilterType; /* Структура фильтра */ typedef struct { char field_name[64]; FilterType type; void *value1; void *value2; } Filter; /* Структура запроса */ typedef struct { ObjectType object_type; Filter *filters; int filter_count; char sort_field[64]; bool sort_ascending; int limit; int offset; } Query; /* Функции для работы с запросами */ Query *create_query(ObjectType type); void free_query(Query *query); void add_filter(Query *query, const char *field, FilterType type, void *value1, void *value2); void set_sorting(Query *query, const char *field, bool ascending); void set_pagination(Query *query, int limit, int offset); /* Выполнение запросов */ int execute_arm_query(Database *db, Query *query, ArmRecord **results, int *count); int execute_user_query(Database *db, Query *query, UserRecord **results, int *count); int execute_department_query(Database *db, Query *query, DepartmentRecord **results, int *count); #endif