update: add version support to database find, better depend checking for resolve
This commit is contained in:
@ -98,6 +98,6 @@ lm_pool_t *lm_ctx_pool_by_url(lm_ctx_t *ctx, char *host, char *path); // find p
|
||||
######################## */
|
||||
bool lm_ctx_database_init(lm_ctx_t *ctx); // init ctx database (if not already present)
|
||||
bool lm_ctx_database_is_installed(lm_ctx_t *ctx, lm_pkg_t *pkg, bool check_version); // check if a package is installed
|
||||
bool lm_ctx_database_find(lm_ctx_t *ctx, lm_pkg_t *pkg, char *name); // find a package by name
|
||||
bool lm_ctx_database_find(lm_ctx_t *ctx, lm_pkg_t *pkg, char *name, char *version); // find a package by name
|
||||
bool lm_ctx_database_foreach(
|
||||
lm_ctx_t *ctx, lm_ctx_database_callback_t callback, void *data); // loop for each package in the database
|
||||
|
@ -5,18 +5,19 @@
|
||||
#define HASH_LEN 32
|
||||
|
||||
enum lm_query_index {
|
||||
QUERY_CREATE_PACKAGE_TABLE = 0,
|
||||
QUERY_INSERT_PACKAGE_SINGLE = 1,
|
||||
QUERY_SELECT_PACKAGE_SINGLE = 2,
|
||||
QUERY_DELETE_PACKAGE_SINGLE = 3,
|
||||
QUERY_SELECT_PACKAGE_ALL = 4,
|
||||
QUERY_CREATE_FILE_TABLE = 5,
|
||||
QUERY_INSERT_FILE_SINGLE = 6,
|
||||
QUERY_DELETE_FILE_ALL = 7,
|
||||
QUERY_SELECT_FILE_SINGLE = 8,
|
||||
QUERY_SELECT_FILE_ALL = 9,
|
||||
QUERY_UPDATE_FILE_1 = 10,
|
||||
QUERY_UPDATE_FILE_2 = 11,
|
||||
QUERY_CREATE_PACKAGE_TABLE = 0,
|
||||
QUERY_INSERT_PACKAGE_SINGLE = 1,
|
||||
QUERY_SELECT_PACKAGE_SINGLE_1 = 2,
|
||||
QUERY_SELECT_PACKAGE_SINGLE_2 = 3,
|
||||
QUERY_DELETE_PACKAGE_SINGLE = 4,
|
||||
QUERY_SELECT_PACKAGE_ALL = 5,
|
||||
QUERY_CREATE_FILE_TABLE = 6,
|
||||
QUERY_INSERT_FILE_SINGLE = 7,
|
||||
QUERY_DELETE_FILE_ALL = 8,
|
||||
QUERY_SELECT_FILE_SINGLE = 9,
|
||||
QUERY_SELECT_FILE_ALL = 10,
|
||||
QUERY_UPDATE_FILE_1 = 11,
|
||||
QUERY_UPDATE_FILE_2 = 12,
|
||||
};
|
||||
|
||||
enum lm_columns {
|
||||
@ -26,8 +27,8 @@ enum lm_columns {
|
||||
FILES_COLUMN_PACKAGE = 4,
|
||||
|
||||
PACKAGES_COLUMN_NAME = 1,
|
||||
PACKAGES_COLUMN_DESC = 2,
|
||||
PACKAGES_COLUMN_VERSION = 3,
|
||||
PACKAGES_COLUMN_VERSION = 2,
|
||||
PACKAGES_COLUMN_DESC = 3,
|
||||
PACKAGES_COLUMN_SIZE = 4,
|
||||
PACKAGES_COLUMN_DEPENDS = 5,
|
||||
};
|
||||
@ -50,10 +51,10 @@ void lm_database_free(lm_database_t *db);
|
||||
bool lm_database_step_all(sqlite3_stmt *st);
|
||||
|
||||
bool lm_database_package_find(
|
||||
lm_database_t *db, lm_pkg_t *pkg, char *name); // finds a package by its name, package stored in *pkg
|
||||
bool lm_database_package_next(lm_database_t *db, lm_pkg_t *pkg); // gets the next package in the database
|
||||
bool lm_database_package_add(lm_database_t *db, lm_pkg_t *pkg); // adds a package to the database
|
||||
bool lm_database_package_del(lm_database_t *db, lm_pkg_t *pkg); // delete a package from the database
|
||||
lm_database_t *db, lm_pkg_t *pkg, char *name, char *version); // finds a package by its name, package stored in *pkg
|
||||
bool lm_database_package_next(lm_database_t *db, lm_pkg_t *pkg); // gets the next package in the database
|
||||
bool lm_database_package_add(lm_database_t *db, lm_pkg_t *pkg); // adds a package to the database
|
||||
bool lm_database_package_del(lm_database_t *db, lm_pkg_t *pkg); // delete a package from the database
|
||||
void lm_database_package_next_free(
|
||||
lm_database_t *db, lm_pkg_t *pkg); // frees resources used for lm_database_package_next
|
||||
|
||||
|
@ -126,6 +126,12 @@ typedef enum lm_error {
|
||||
LM_ERR_PkgDatabaseDelFail = 119,
|
||||
LM_ERR_PkgFilesDelFail = 119,
|
||||
LM_ERR_PkgChangesDelFail = 120,
|
||||
LM_ERR_InstallCwdFail = 121,
|
||||
LM_ERR_InstallRootChdirFail = 122,
|
||||
LM_ERR_InstallSpawnFail = 123,
|
||||
LM_ERR_InstallBackChdirFail = 124,
|
||||
LM_ERR_InstallStatusFail = 125,
|
||||
LM_ERR_InstallScriptFail = 126,
|
||||
} lm_error_t;
|
||||
|
||||
typedef struct lm_error_desc {
|
||||
|
Reference in New Issue
Block a user