use pt::Stream instead of pt::TextStream as the output stream

This commit is contained in:
2024-05-30 00:01:59 +02:00
parent e026af9994
commit 9a3f6a6e36
33 changed files with 615 additions and 636 deletions

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2018-2023, Tomasz Sowa
* Copyright (c) 2018-2024, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,6 +33,7 @@
*/
#include "model.h"
#include "convert/text.h"
#include "utf8/utf8.h"
@@ -193,7 +194,7 @@ bool Model::found()
}
void Model::get_table_name(pt::WTextStream & stream, bool with_schema_name, ModelData * model_data, bool clear_stream)
void Model::get_table_name(pt::Stream & stream, bool with_schema_name, ModelData * model_data, bool clear_stream)
{
if( clear_stream )
{
@@ -347,7 +348,7 @@ bool Model::get_raw_value(const wchar_t * db_field_name, const wchar_t * flat_fi
void Model::to_text(pt::TextStream & stream, ModelData * model_data, Export exp)
void Model::to_text(pt::Stream & stream, ModelData * model_data, Export exp)
{
if( !exp.is_no_clear_stream() )
{
@@ -385,19 +386,19 @@ void Model::to_text(pt::TextStream & stream, ModelData * model_data, Export exp)
}
void Model::to_text(pt::TextStream & stream, ModelData & model_data, Export exp)
void Model::to_text(pt::Stream & stream, ModelData & model_data, Export exp)
{
to_text(stream, &model_data, exp);
}
void Model::to_text(pt::TextStream & stream, Export exp)
void Model::to_text(pt::Stream & stream, Export exp)
{
to_text(stream, nullptr, exp);
}
void Model::to_text(pt::TextStream & stream, ModelData * model_data, bool clear_stream, bool dump_mode)
void Model::to_text(pt::Stream & stream, ModelData * model_data, bool clear_stream, bool dump_mode)
{
Export exp = Export::default_type;
@@ -411,13 +412,13 @@ void Model::to_text(pt::TextStream & stream, ModelData * model_data, bool clear_
}
void Model::to_text(pt::TextStream & stream, ModelData & model_data, bool clear_stream, bool dump_mode)
void Model::to_text(pt::Stream & stream, ModelData & model_data, bool clear_stream, bool dump_mode)
{
to_text(stream, &model_data, clear_stream, dump_mode);
}
void Model::to_text(pt::TextStream & stream, bool clear_stream, bool dump_mode)
void Model::to_text(pt::Stream & stream, bool clear_stream, bool dump_mode)
{
to_text(stream, nullptr, clear_stream, dump_mode);
}
@@ -429,8 +430,8 @@ void Model::to_text(std::string & str, ModelData * model_data, bool clear_string
{
if( model_connector )
{
// CHECK ME what if the stream is being used by something other?
pt::TextStream * out_stream = model_connector->get_stream();
// CHECK ME what if the stream is being used by someone else?
pt::Stream * out_stream = model_connector->get_stream();
if( out_stream )
{
@@ -470,7 +471,7 @@ std::string Model::to_string()
void Model::generate_insert_query(pt::TextStream & stream, ModelData * model_data)
void Model::generate_insert_query(pt::Stream & stream, ModelData * model_data)
{
ModelEnv model_env_local;
model_env = &model_env_local;
@@ -554,7 +555,7 @@ void Model::insert_tree(bool insert_whole_tree)
DbConnector * db_connector = model_connector->get_db_connector();
// CHECK ME what if the stream is being used by someone else?
pt::TextStream * out_stream = model_connector->get_stream();
pt::Stream * out_stream = model_connector->get_stream();
if( db_connector && out_stream )
{
@@ -606,7 +607,7 @@ void Model::insert_tree(bool insert_whole_tree)
void Model::generate_update_query(pt::TextStream & stream, ModelData * model_data)
void Model::generate_update_query(pt::Stream & stream, ModelData * model_data)
{
ModelEnv model_env_local;
model_env = &model_env_local;
@@ -689,7 +690,7 @@ void Model::update_tree(bool update_whole_tree)
DbConnector * db_connector = model_connector->get_db_connector();
// CHECK ME what if the stream is being used by something other?
pt::TextStream * out_stream = model_connector->get_stream();
pt::Stream * out_stream = model_connector->get_stream();
if( db_connector && out_stream )
{
@@ -721,7 +722,7 @@ void Model::update_tree(bool update_whole_tree)
}
void Model::generate_remove_query(pt::TextStream & stream, ModelData * model_data)
void Model::generate_remove_query(pt::Stream & stream, ModelData * model_data)
{
ModelEnv model_env_local;
model_env = &model_env_local;
@@ -805,7 +806,7 @@ void Model::remove_tree(bool remove_whole_tree)
DbConnector * db_connector = model_connector->get_db_connector();
// CHECK ME what if the stream is being used by someone else?
pt::TextStream * out_stream = model_connector->get_stream();
pt::Stream * out_stream = model_connector->get_stream();
if( db_connector && out_stream )
{
@@ -935,7 +936,7 @@ void Model::save_tree(bool save_whole_tree)
}
void Model::generate_select_columns(pt::TextStream & stream)
void Model::generate_select_columns(pt::Stream & stream)
{
if( model_connector && model_env )
{
@@ -1254,7 +1255,7 @@ void Model::field_model_left_join(const wchar_t * db_field_name, Model & field_m
join_tables_str << "LEFT JOIN ";
pt::TextStream * db_expression_stream = db_expression->get_text_stream();
pt::Stream * db_expression_stream = db_expression->get_text_stream();
int expr_work_mode = db_expression->get_work_mode();
int expr_output_type = db_expression->get_output_type();
bool expr_allow_prefix = db_expression->get_allow_to_use_prefix();
@@ -1756,7 +1757,7 @@ bool Model::db_query(const std::string & raw_sql)
}
bool Model::db_query(const pt::TextStream & raw_sql)
bool Model::db_query(const pt::Stream & raw_sql)
{
bool status = false;
@@ -2076,38 +2077,34 @@ bool Model::convert_to_bool(unsigned long long v)
bool Model::convert_to_bool(float v)
{
return v != 0;
return v != 0.0F;
}
bool Model::convert_to_bool(double v)
{
return v != 0;
return v != 0.0;
}
bool Model::convert_to_bool(long double v)
{
return v != 0;
return v != 0.0L;
}
bool Model::convert_to_bool(const pt::Date & date)
{
// may return true if the date is not the Unix epoch?
return false;
}
bool Model::convert_to_bool(const pt::TextStream & val)
bool Model::convert_to_bool(const pt::Stream & val)
{
return false;
}
bool Model::convert_to_bool(const pt::WTextStream & val)
{
return false;
return !val.empty();
}
bool Model::convert_to_bool(const pt::Space & space)
{
return false;
return space.to_bool();
}