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





git-svn-id: svn://ttmath.org/publicrep/morm/branches/join_models@1195 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2019-06-17 10:59:39 +00:00
parent b6fbe29805
commit 2533b18cfd
6 changed files with 32 additions and 24 deletions

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2018, Tomasz Sowa
* Copyright (c) 2018-2019, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -49,6 +49,7 @@ DbConnector::DbConnector()
db_expression = nullptr;
expression_allocated = false;
log = nullptr;
log_queries = false;
}
DbConnector::DbConnector(const DbConnector &)
@@ -70,12 +71,18 @@ void DbConnector::set_logger(PT::Log * log)
this->log = log;
}
void DbConnector::set_logger(PT::Log & log)
{
this->log = &log;
}
void DbConnector::set_log_queries(bool log_queries)
{
this->log_queries = log_queries;
}
bool DbConnector::query(const PT::TextStream & stream, QueryResult & query_result)
{
@@ -173,7 +180,7 @@ void DbConnector::generate_insert_query(PT::TextStream & stream, Model & model)
if( db_expression )
{
db_expression->clear();
db_expression->allow_to_use_prefix(true);
db_expression->allow_to_use_prefix(false);
stream << "insert into ";
model.table_name(stream);
@@ -198,7 +205,7 @@ void DbConnector::generate_update_query(PT::TextStream & stream, Model & model)
if( db_expression )
{
db_expression->clear();
db_expression->allow_to_use_prefix(true);
db_expression->allow_to_use_prefix(false);
stream << "update ";
model.table_name(stream);
@@ -223,7 +230,7 @@ void DbConnector::generate_remove_query(PT::TextStream & stream, Model & model)
if( db_expression )
{
db_expression->clear();
db_expression->allow_to_use_prefix(true);
db_expression->allow_to_use_prefix(false);
stream << "delete from ";
model.table_name(stream);