rafactoring in Model class (in field_generic and field_model methods)

added: ModelEnv::model_connector_submode (used in iterating through childs)




git-svn-id: svn://ttmath.org/publicrep/morm/trunk@1211 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2019-09-18 14:36:13 +00:00
parent ba5f702257
commit 3d73a64f23
4 changed files with 298 additions and 241 deletions

View File

@@ -262,7 +262,8 @@ bool Model::insert_tree(bool insert_whole_tree)
if( insert_whole_tree )
{
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY_AND_INSERT;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_INSERT;
map_fields();
}
@@ -296,7 +297,8 @@ bool Model::insert_tree(bool insert_whole_tree)
if( insert_whole_tree )
{
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY_AND_INSERT;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_INSERT;
map_fields();
}
@@ -355,7 +357,8 @@ bool Model::update_tree(bool update_whole_tree)
if( update_whole_tree )
{
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY_AND_UPDATE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_UPDATE;
map_fields();
}
@@ -382,7 +385,8 @@ bool Model::update_tree(bool update_whole_tree)
if( update_whole_tree )
{
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY_AND_UPDATE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_UPDATE;
map_fields();
}
@@ -441,7 +445,8 @@ bool Model::remove_tree(bool remove_whole_tree)
if( remove_whole_tree )
{
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY_AND_REMOVE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_REMOVE;
map_fields();
}
@@ -473,7 +478,8 @@ bool Model::remove_tree(bool remove_whole_tree)
if( remove_whole_tree )
{
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY_AND_REMOVE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_REMOVE;
map_fields();
}
@@ -511,10 +517,11 @@ bool Model::save_tree(bool save_whole_tree)
if( save_whole_tree )
{
if( save_mode == DO_DELETE_ON_SAVE )
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY_AND_SAVE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY;
else
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY_AND_SAVE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_SAVE;
map_fields();
}
@@ -544,10 +551,11 @@ bool Model::save_tree(bool save_whole_tree)
if( save_whole_tree )
{
if( save_mode == DO_DELETE_ON_SAVE )
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY_AND_SAVE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY;
else
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY_AND_SAVE;
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY;
model_env->model_connector_submode = MORM_MODEL_CONNECTOR_SUBMODE_SAVE;
map_fields();
}