Commit Graph

  • 009955a0fd added support for hex strings and binary strings added FT::hexadecimal, FT::binary and FT::dont_use_utf8 Tomasz Sowa 2021-05-11 22:11:31 +0200
  • 2afe111c57 escape table names in Finder (select sql statement) Tomasz Sowa 2021-04-30 01:23:22 +0200
  • c87afb40d2 use prepare_table() only with a database and not for flat strings Tomasz Sowa 2021-04-14 17:46:19 +0200
  • 1c5d32551a fixed: a null was printed for id when serializing lists/vectors in BaseExpression::put_field_value_list(): has_primary_key_set flag was not copied to model_env Tomasz Sowa 2021-04-14 16:21:10 +0200
  • 9a4fd9b050 fixed: add_field_for_select from Model incorrectly escaped a field string (column name) fixed: Finder didn't use full table name (schema.table) in "from" clause Tomasz Sowa 2021-04-12 18:53:55 +0200
  • 79fd642ef7 make depend Tomasz Sowa 2021-04-09 17:50:23 +0200
  • c85165b442 updated to the new api of Space from pikotools Tomasz Sowa 2021-04-08 17:21:12 +0200
  • d78aa325d3 fixed: prepare_to_select() should initialize 'model' but it was initialized only in select() Tomasz Sowa 2021-04-08 17:19:52 +0200
  • 1e2cbad6a7 make depend Tomasz Sowa 2021-04-08 17:18:48 +0200
  • 7bef1d5ead added support for PT::Space as a field in a Model Tomasz Sowa 2021-03-11 18:40:32 +0100
  • f7490594ad changed the way how the table name is set in a Model - added prepare_table() method Tomasz Sowa 2021-03-11 12:22:37 +0100
  • fcf1d28b18 added FT class which is used in Model::field() methods Tomasz Sowa 2021-03-10 16:20:11 +0100
  • 133a45c84b Added flag has_primary_key_set to Model Tomasz Sowa 2021-03-09 18:10:34 +0100
  • ff551a64b8 in BaseExpression: changed the way how field names are escaped: methods removed: virtual void before_field_name(); virtual void after_field_name(); methods added: virtual void before_short_field_name(); virtual void after_short_field_name(); they are used for escaping column names in a case when using short form - just only column_name e.g.: [before_short_field_name]column_name[after_short_field_name] methods added: virtual void before_first_part_long_field_name(); virtual void after_first_part_long_field_name(); virtual void before_second_part_long_field_name(); virtual void after_second_part_long_field_name(); they are used for escaping column names in a case when using long form: table_name.column_name e.g.: [before_first_part_long_field_name]table_name[after_first_part_long_field_name].[before_second_part_long_field_name]column_name[after_second_part_long_field_name] methods added: virtual void esc(wchar_t val, PT::TextStream & stream); Tomasz Sowa 2021-02-24 01:15:17 +0100
  • 0843e384eb added get_connector() method to Model Tomasz Sowa 2021-02-23 16:58:45 +0100
  • b672b67e5c added get_vector() methods to Finder and Cursor bool get_vector(std::vector<ModelClass> & result, bool clear_list = true); std::vector<ModelClass> get_vector(); Tomasz Sowa 2021-02-23 16:55:28 +0100
  • c18bb48cc8 fixed: incorrect query was created when using neq() method with finder - there was no and or or conjunction Tomasz Sowa 2021-02-23 16:51:43 +0100
  • b0a277c0eb added 'using FlatExpression::esc' to JSONExpression in order to suppress clang warning: 'morm::JSONExpression::esc' hides overloaded virtual function [-Woverloaded-virtual] Tomasz Sowa 2021-02-17 18:01:37 +0100
  • 98536b3413 added .gitignore file Tomasz Sowa 2021-02-17 17:06:51 +0100
  • 7571535ff4 added comments to PostgreSQLQueryResult::get_value_from_result(): * in the future we can use single row mode: * https://www.postgresql.org/docs/10/libpq-single-row-mode.html * * or just cursors from database: * https://www.postgresql.org/docs/current/sql-fetch.html Tomasz Sowa 2019-11-22 13:40:30 +0000
  • d9dc49d699 added some comments (what to do) Tomasz Sowa 2019-09-25 17:21:12 +0000
  • ac67f0079a fixed: in Model::remove(ModelData & model_data, bool remove_whole_tree) we didn't use remove_whole_tree parameter fixed: compilation erorr when inserting/updating a Model object which has child lists without Model objects such as std::list<int> added: to Model: methods insert, update, remove and save with one argument: bool save_whole_tree Tomasz Sowa 2019-09-25 16:20:37 +0000
  • 334201fe15 fixed: a parent key was not properly set to simple childs (insert statements) fixed: a parent key was not set in list of childs (insert statements) Tomasz Sowa 2019-09-24 17:08:45 +0000
  • cff4c1518e added support for UPDATE, INSERT and REMOVE for lists childs (need some testing) Tomasz Sowa 2019-09-24 11:09:11 +0000
  • a5d5a81a57 removed: doc functionality (generating documentation from a model) we can use our own class (based on FlatConnector and FlatExpression) to generate documentation Tomasz Sowa 2019-09-18 15:55:42 +0000
  • bb3f69fe8d refactoring: ModelEnv::model_connector_mode renamed to model_work_mode ModelEnv::model_connector_submode renamed to model_work_submode and similarly macros MORM_MODEL_CONNECTOR_MODE.* -> MORM_MODEL_WORK_MODE_* MORM_MODEL_CONNECTOR_SUBMODE.* -> MORM_MODEL_WORK_SUBMODE_* Tomasz Sowa 2019-09-18 15:28:06 +0000
  • 3d73a64f23 rafactoring in Model class (in field_generic and field_model methods) added: ModelEnv::model_connector_submode (used in iterating through childs) Tomasz Sowa 2019-09-18 14:36:13 +0000
  • ba5f702257 fixed: in 'left join' statements there were not table indices used added: now we set flag save_mode = DO_NOTHING_ON_SAVE for objects for which all fields from a database result set are null Tomasz Sowa 2019-09-18 12:29:20 +0000
  • afce2234c3 fixed: get_value_by_field_name() is able to correctly take values when we do not use auto generated 'select' and when we are using prefixes for columns Tomasz Sowa 2019-09-17 17:55:39 +0000
  • 057d879b4c added: to Model::to_text() methods added dump_mode (bool) parameter an additional field (model_save_mode) is printed changed: if there is no an object the Cursor returns a Model with DO_NOTHING_ON_SAVE flag now (DO_INSERT_ON_SAVE was beforehand) fixed: when reading a result from db: for auto generated select there should be used get_value_by_field_index() method instead of get_value_by_field_name() changed: flat string (json) is generated only if a model has DO_INSERT_ON_SAVE or DO_UPDATE_ON_SAVE or is dump_mode turn on Tomasz Sowa 2019-09-13 18:17:02 +0000
  • c133e949ce changed: SetFieldValueHelper -> FieldValueHelper it's a much simpler structure now removed: FieldValueBase and FieldValueContainer Tomasz Sowa 2019-09-11 18:16:22 +0000
  • 0be9feda44 added support in Model for removing the whole tree (without lists/vectors at the moment yet) Tomasz Sowa 2019-09-05 16:32:35 +0000
  • d2f851faf9 now Model.update() and Model.insert() can update/insert the whole tree with child models (at the moment without lists/vectors only model childs) Tomasz Sowa 2019-09-04 16:02:18 +0000
  • 7ff05f493c added: to Model: virtual void set_parent_key_in_childs() for setting a parent key id in child models, it is called after after_insert() method added: SetFieldValueHelper class used for storing primary key values from a parent model Tomasz Sowa 2019-08-22 18:33:35 +0000
  • 52422d929e start adding support for inserting child models Tomasz Sowa 2019-08-21 17:42:50 +0000
  • 074be938ca added 'samples' directory for samples and tests Tomasz Sowa 2019-08-21 15:59:03 +0000
  • 265197ce47 fixed: update/insert for child models generated an incorrect query (blocked for a while) Tomasz Sowa 2019-08-21 12:15:55 +0000
  • f8d88d1459 fixed: in Model::generate_insert_query there was not ModelEnv set (was a null pointer) similarly in generate_update_query and generate_remove_query added: support std::vector<> in Model::field() methods added: serializing std::vector and std::list for non-model classes in BaseExpression Tomasz Sowa 2019-08-20 15:49:37 +0000
  • 0a324a38ce merge from branches/join_models (added possibility to fetch Model objects when they are used as a field in a Model class) Tomasz Sowa 2019-07-20 18:04:37 +0000
  • 2533b18cfd fixed: in cursor in add_models_to_list(): added_model.model_env should be set after added_model.clear() fixed: when generating: insert, update or remove statements we have used prefixes for columns but the table name was not set in ModelEnv (now we do not use prefixes in such statements) changed: log_queries field moved from PostgreSQLConnector to DbConnector Tomasz Sowa 2019-06-17 10:59:39 +0000
  • b6fbe29805 added BaseExpression::is_long_field_name() added BaseExpression::need_to_add_field_prefix() now the fields() methods don't take add_column_prefix parameter but the field_name (wchar_t*) is tested whether is it a long (with a period) or short name added BaseExpression::save_foreign_key() (code moved from field()) removed some default method arguments from BaseExpression added neq() method for Finder added DbExpression::prepare_short_table_name(const PT::TextStream & table_name, PT::TextStream & short_table_name) Tomasz Sowa 2019-05-31 18:28:09 +0000
  • a1d18735b0 - removed prefix() method from Finder (this was for a custom prefix) - removed column_prefix and column_prefix_index from BaseExpression now we have a pointer to ModelEnv passed in field() method - to ModelEnv: added table_name, table_name_simple and table_index Tomasz Sowa 2019-05-21 17:24:12 +0000
  • 958e89fb02 some work in branches/join_models - added FinderHelper class - used as a global object for the whole model tree in Finder (some fields moved from ModelData) - added CursorHelper class - used as a global object for the whole model tree in Cursor (some fields moved from ModelData) Tomasz Sowa 2019-05-21 15:51:13 +0000
  • b37a577713 some work in branches/join_models added: ModelEnv class - now Model has a pointer to ModelEnv and ModelEnv has a pointer to ModelData, model_connector_mode, table_index and doc_field_pointer Tomasz Sowa 2019-05-13 17:59:28 +0000
  • 34ddf11351 some work in branches/join_models Tomasz Sowa 2019-05-13 03:12:31 +0000
  • 6d9b9045fe fixed: generating a correct table names with indices for JOIN statements and column prefixes Tomasz Sowa 2019-03-31 20:21:12 +0000
  • ab54a3fc3e some work: we need a different way of naming tables for joins Tomasz Sowa 2019-03-26 20:35:05 +0000
  • 9c7a0f3d7e added: support for generating LEFT JOIN statement in Finder (the primary key should consist of only one column at the moment) Tomasz Sowa 2019-03-26 18:34:07 +0000
  • 440f56e376 creating branch branches/join_models Tomasz Sowa 2019-03-26 18:22:21 +0000
  • 79f9522708 used PT::Log::logsave in postgresqlconnector in some places Tomasz Sowa 2019-03-19 17:54:33 +0000
  • 48b04fb5de fixed in Finder: in select(ModelConnector & model_connector) there was not an out_stream set Tomasz Sowa 2019-03-08 18:32:58 +0000
  • cf0a0c96fe changed: ModelData moved outside Model added: using ModelData in BaseExpression so Model::to_text() functions can use a ModelData object now Tomasz Sowa 2019-03-07 18:02:29 +0000
  • 41684eb969 Makefile.dep Tomasz Sowa 2019-01-07 04:33:31 +0000
  • eb3703c323 updated to the new pikotools api (Logger -> Log) Tomasz Sowa 2018-11-23 17:13:50 +0000
  • 8c5eaacadb changed: testing result status in do_query() in PostgreSQLConnector renamed: some fields in QueryResult and PostgreSQLQueryResult Tomasz Sowa 2018-11-15 08:50:10 +0000
  • 1f9e4ee70a added Cursor class Tomasz Sowa 2018-11-14 17:14:26 +0000
  • 011d8f96e8 fixed: in Finder: we should set model_data to nullptr after fetching an object model_data points often to a local object (on the stack) so it would be incorrect to use it in the future Tomasz Sowa 2018-10-24 16:28:19 +0000
  • 346fe193f3 start working on generating documentation from a model Tomasz Sowa 2018-07-15 22:36:04 +0000
  • fdc44c56eb added: a new class Clearer with clear_value() methods moved from DbConnector Tomasz Sowa 2018-07-05 11:15:16 +0000
  • 38b85722b8 Model and BaseExpression: changed the template taking a container to std::list Tomasz Sowa 2018-07-05 09:51:26 +0000
  • d6e428d929 removed: set_connector_for_childs from ModelConnector changed: model connector is propagated to childs when needed (when update, insert, save, to_text is called or in finder) Tomasz Sowa 2018-07-04 13:52:40 +0000
  • 08cd621d41 changed: some methods from ModelConnector moved to Model Tomasz Sowa 2018-07-04 11:34:49 +0000
  • f85f03a889 some work in morm now in Model we have field() methods for other Model or std::list<Model> (code not tested) Tomasz Sowa 2018-07-03 16:55:06 +0000
  • 6fc4e23e44 changed: don't use column prefix in add_field_for_select() Tomasz Sowa 2018-05-02 12:55:00 +0000
  • e25b6d9a29 added: Finder::prefix() method code not thoroughly tested Tomasz Sowa 2018-05-01 23:22:32 +0000
  • 98206fdb7a added: field_model() method to Model Tomasz Sowa 2018-04-26 18:58:31 +0000
  • 3da8d1f411 fixed: finder.get() didn't check whether the resultset had exactly one item Tomasz Sowa 2018-04-23 19:02:38 +0000
  • cc2230001c added support for PT::Logger to DbConnector and PostgreSQLConnector Tomasz Sowa 2018-04-23 15:46:21 +0000
  • fd1cc7debe added: Model::ModelData base class to use with Finder, Model.update(), Model.insert() and Model.remove() added: Model.add_field_for_select() method Tomasz Sowa 2018-04-22 21:04:50 +0000
  • 4c0d203fc8 added: removing objects saving objects (either insert or update or remove) Tomasz Sowa 2018-04-22 01:26:46 +0000
  • 925017300b PT::Date is serializing in the form YYYY-MM-DDTHH:MM:SSZ (eg: 1990-02-12T13:05:39Z) to JSON Tomasz Sowa 2018-04-20 09:41:41 +0000
  • c7bd935a80 added: Model::get_connector_mode() method Tomasz Sowa 2018-04-19 15:21:51 +0000
  • 5bccb056d7 poprawka: get_value() z postgresqlconnector zamienione na get_value_from_result() w klasie bazowej mamy virtualne get_value() z innymi parametrami (ostrzeżenie kompilatora) Tomasz Sowa 2018-04-19 11:37:10 +0000
  • 476e5de292 added support for 'in()' statement in 'select' Tomasz Sowa 2018-04-18 17:52:09 +0000
  • ffb7ac85a6 added: QueryResult stack to PostgreSQLConnector this allowes us to call query() recursively (from after_select() callback) Tomasz Sowa 2018-04-18 10:22:01 +0000
  • 7bae5224e5 temporarily changed the way how PT::Date is escaped Tomasz Sowa 2018-04-17 16:01:14 +0000
  • 72b2622d08 some work in morm - support for fetching rows from db - support for inserting/updating rows Tomasz Sowa 2018-04-16 22:46:25 +0000
  • 09f31b2803 some work in morm (select statement) Tomasz Sowa 2018-04-15 23:00:17 +0000
  • b1af7b8d25 changed: esc() function for bool uses now 'true' and 'false' strings added: esc() for PT::Date Tomasz Sowa 2018-04-12 16:05:14 +0000
  • fceec43d07 some work for SELECT statement Tomasz Sowa 2018-03-30 19:34:45 +0000
  • d84ca900c3 reorganizing class hierarchy Tomasz Sowa 2018-03-23 19:26:57 +0000
  • de7fc912bb set svn:ignore to eclipse files Tomasz Sowa 2018-03-13 22:24:06 +0000
  • c7327750bd start creating a new project: Micro ORM Tomasz Sowa 2018-03-13 22:22:17 +0000