b9990e3b8cuse MORM_MODEL_WORK_MODE_PUT_FIELD_RAW_VALUE_TO_STREAM instead of MORM_MODEL_WORK_MODE_GET_MODEL_WRAPPER when iterating through models containersTomasz Sowa2021-11-08 00:43:01 +0100
318d9d447fMerge branch 'ezc_types' of ssh://gitea.ttmath.org:2299/tomasz.sowa/morm into ezc_typesTomasz Sowa2021-11-05 09:44:14 +0100
4ba0f7133bremove field(...) methods with void (ClassName::*method)(morm::Wrapper &) arguments use new variables: ezc_var_space_local and ezc_var_date from ModelEnvTomasz Sowa2021-11-05 09:40:16 +0100
df1bb0e56dModel::get_raw_value(...) method do not get pt::Stream& now, only Ezc::Env<>&Tomasz Sowa2021-10-20 08:29:38 +0200
c25a5d2215- code from JSONExpression::esc(char val, ...) moved to Pikotools (convert/misc.h) - added ModelContainerWrapper::set_iterator_at_first_model() methodTomasz Sowa2021-10-12 19:59:19 +0200
0fff26bf2fstart working on types for ezc library (types branch): Ezc::FunInfo<> renamed to Ezc::Env<>Tomasz Sowa2021-09-08 15:34:40 +0200
e682e057adadded to SpaceWrapper class: void invalidate_iterators(size_t space_index_start)Tomasz Sowa2021-08-13 21:43:02 +0200
f94a9e27dbadded flags FT::json and FT::space for pt::Space class - serializing/parsing to/from json/spaceTomasz Sowa2021-08-12 21:56:32 +0200
d162ca13bbfixed: in Model::add_field_for_select(...) there was a table name addedTomasz Sowa2021-07-07 01:06:01 +0200
f4d92bec5dadded clearing of existing objects in Wrapper::operator=(...)Tomasz Sowa2021-07-01 23:22:49 +0200
dc6c70499cadded: Wrapper class as a wrapper for: a model, model container (list/vector), Space or Date added BaseObjectWrapper as base class for: SpaceWrapper and ModelContainerWrapper removed: ModelWrapperModel, now one Model doesn't need a wrapper renamed: ModelWrapperSpace -> SpaceWrapper, now as a base class it has BaseObjectWrapper renamed: Model::get_model_wrapper() -> Model::get_wrapper() - now it returns Wrapper object removed logging from Model::get_model() and Model::get_wrapper() field() methods don't take ModelWrapper** but Wrapper& nowTomasz Sowa2021-07-01 22:55:56 +0200
84fd351bfcfixed: in BaseExpression::put_field_value_list_model() model_env_local.model pointer was not set to the child objectTomasz Sowa2021-07-01 22:39:50 +0200
89148de66dupdated samples - pikotools is in src subdirectory now - map_fields() -> fields() - prepare_table() -> table() - instead of pt::MainSpaceParser we have pt::MainOptionsParser nowTomasz Sowa2021-06-24 21:14:29 +0200
86bf9cf688added ModelWrapperSpace for wrapping the pt::Space classTomasz Sowa2021-06-22 17:59:44 +0200
e74575db42fixed: in ModelWrapper::clear_childs() childs_map.clear() was called in the loop, should be at the endTomasz Sowa2021-06-22 11:59:11 +0200
a8fe798279fixed: getters method (Model::*getter_method)(pt::Stream &) produced boolean value when serializing to flat string - changed in Model::field_list_generic(...): message "you should set FT::is_foreign_key or FT::is_foreign_key_in_child flag" print only for work mode MORM_MODEL_WORK_MODE_SET_PARENT_ID or MORM_MODEL_WORK_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY - pt::TextStream::to_string(...) is now pt::TextStream::to_str(...) - in Model::get_raw_value() for ezc 'pt::TextStream & stream' changed to 'pt::Stream & stream' (a base class of pt::TextStream) similar in field(...) methods which take getters: void (Model::*getter_method)(pt::TextStream &) -> void (Model::*getter_method)(pt::Stream &)Tomasz Sowa2021-06-20 17:49:54 +0200
aba454a4bfmethods Model::get_raw_value(...) now returns boolean - true if a field was foundTomasz Sowa2021-06-19 20:25:38 +0200
9a142548d0fixed in Model::field_generic_put_raw_value_to_stream() - a boolean status for ezc was not set added to Model: - method field() which can take a pointer to a member which returns bool: void field(const wchar_t * field_name, bool (ClassName::*method)(), const morm::FT & field_type = morm::FT::default_type) - method field() which can take a pointer to a member which can set morm::ModelWrapper object void field(const wchar_t * field_name, void (ClassName::*method)(morm::ModelWrapper **), const morm::FT & field_type = morm::FT::default_type) - methods: bool Model::convert_to_bool(...) - they are used for creating a result for ezc from local fieldsTomasz Sowa2021-06-18 19:05:50 +0200
5cf55ecce3added basic support for containers with pointers to modelsTomasz Sowa2021-06-17 21:31:58 +0200
dc1c601eacin Model: added a test whether Model is a base class of ContainerItemType (list/vector) when doing MORM_MODEL_WORK_MODE_GET_MODEL_WRAPPERTomasz Sowa2021-06-16 22:23:30 +0200
aeb02f82b1changed the way how we get a specific field value - now we do not use expressions (BaseExpression), to get the raw value we don't need an expression object: - removed MORM_WORK_MODE_GET_SPECIFIC_FIELD_VALUE from expression work mode - removed: void BaseExpression::field(const wchar_t * field_name, void (Model::*getter_method)(pt::TextStream &), const FT & field_type, ModelEnv * model_env) - removed from BaseExpression: template<typename FunInfoStreamType> void field(const wchar_t * field_name, void (Model::*fun)(Ezc::FunInfo<FunInfoStreamType> &), const FT & field_type, ModelEnv * model_env) - removed: void FlatConnector::to_text(const wchar_t * flat_field_name, pt::TextStream & stream, Model & model) - renamed/changed: Model::put_field_value(...) -> Model::get_raw_value()Tomasz Sowa2021-06-16 14:01:07 +0200
dd01fafa40- added support for calling member functions (setters/getters) from Models those functions can be used with databases and flat files - removed support for calling static function - if MORM_HAS_EZC_LIBRARY macro is defined then we can call a function which has a first argument Ezc::FunInfo<>& object (only for generating flat files)Tomasz Sowa2021-06-01 19:34:34 +0200
515e806a50start adding support for Ezc library - Ezc::Generator is able to get variable value and call a static functionTomasz Sowa2021-05-31 18:40:28 +0200
284cbc5c66Merge pull request 'winix_fullmorm' (#4) from winix_fullmorm into masterTomasz Sowa2021-05-27 10:49:46 +0200
2f72bd29ecfixed: has_primary_key_set was always set to false in Model::insert() and this prevented to insert a model which had a primary key set by handTomasz Sowa2021-05-21 22:36:04 +0200
e0e3465673fixed: such field types: no_insertable, no_updatable were not taken into account on Model child objects added: field type: no_removable - it is used only with child Models objectsTomasz Sowa2021-05-21 22:12:10 +0200
fcd2c4775bupdated to the new pikotools api: snake_case names of methods from SpaceParserTomasz Sowa2021-05-21 04:51:12 +0200
9598cc4defupdated to the new pikotools api: SpaceParser::SetSpace(...) methods have been removedTomasz Sowa2021-05-21 01:35:16 +0200
0ff900f626updated to the new pikotools api: changed utf8 functions PascalCase to snake_caseTomasz Sowa2021-05-21 00:32:29 +0200
b12037a7e5added basic support for making migrationsTomasz Sowa2021-05-14 03:24:53 +0200
de4abeb91cadded to Finder: methods eq() and similar with table_name as an argument Finder<ModelClass> & eq(const wchar_t * table_name, const wchar_t * field_name, const FieldValue & field_value) Finder<ModelClass> & eq(const wchar_t * table_name, int table_index, const wchar_t * field_name, const FieldValue & field_value) and similar for neq(), lt(), gt(), le(), ge() and in()Tomasz Sowa2021-05-13 19:32:31 +0200
6eaa9088e5renamed in Model: map_fields() to fields(), prepare_table() to table()Tomasz Sowa2021-05-13 03:27:21 +0200
2ad6c8c258changed the way how to quote schemas, tables and field names, added escaping table names in insert/update/removeTomasz Sowa2021-05-13 02:32:03 +0200
a1537cf8d5BaseExpression: removed methods: put_long_field_name() and put_short_field_name() now method put_field_name() is not making a test whether field_name is in long format and only puts the field name (without table name), this allows us to have a dot in the column name (field_name)Tomasz Sowa2021-05-13 00:19:22 +0200
179be2864fchange FT field_type in PostgreSQLConnectorTomasz Sowa2021-05-12 05:39:31 +0200
aadc5be350FT field_type changed to const FT & field_type in functions argumentsTomasz Sowa2021-05-12 04:53:23 +0200
c7797ff2f1fixed#2: escape tables/columns names in Finder left join queries some methods moved from model.h to model.cpp and from baseexpression.h to baseexpression.cppTomasz Sowa2021-05-12 00:27:35 +0200