fixed: generating a correct table names with indices for JOIN statements and column prefixes
git-svn-id: svn://ttmath.org/publicrep/morm/branches/join_models@1188 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -62,12 +62,17 @@ public:
|
||||
|
||||
virtual void prepare_to_new_expression();
|
||||
virtual void set_column_prefix(const std::string & prefix);
|
||||
virtual void set_column_prefix(const std::string & prefix, int index);
|
||||
|
||||
virtual std::string get_column_prefix();
|
||||
virtual int get_column_prefix_index();
|
||||
|
||||
virtual void generate_from_model(PT::TextStream & stream, Model & model);
|
||||
|
||||
virtual PT::TextStream * get_current_stream();
|
||||
|
||||
// rename me
|
||||
virtual void allow_to_use_prefix(bool use_prefix);
|
||||
|
||||
// give me a better name
|
||||
virtual void put_field_doc(Model & model, const void * field_pointer, bool insertable, bool updatable, bool is_primary_key, ModelData * model_data);
|
||||
@@ -75,7 +80,7 @@ public:
|
||||
|
||||
|
||||
template<typename FieldValue>
|
||||
void field(int table_index, const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false, bool add_column_prefix = true, ModelData * model_data = nullptr)
|
||||
void field(const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false, bool add_column_prefix = true, ModelData * model_data = nullptr)
|
||||
{
|
||||
if( out_stream && can_field_be_generated(insertable, updatable, is_primary_key) )
|
||||
{
|
||||
@@ -83,7 +88,7 @@ public:
|
||||
|
||||
if( work_mode == MORM_WORK_MODE_MODEL_FIELDS )
|
||||
{
|
||||
put_field_name(table_index, field_name, add_column_prefix);
|
||||
put_field_name(field_name, add_column_prefix);
|
||||
}
|
||||
else
|
||||
if( work_mode == MORM_WORK_MODE_MODEL_SAVE_FIELDS )
|
||||
@@ -92,7 +97,7 @@ public:
|
||||
PT::TextStream * old_out_stream = out_stream;
|
||||
|
||||
out_stream = &str;
|
||||
put_field_name(-1, field_name, add_column_prefix);
|
||||
put_field_name(field_name, add_column_prefix);
|
||||
out_stream = old_out_stream;
|
||||
|
||||
if( model_data )
|
||||
@@ -110,7 +115,7 @@ public:
|
||||
else
|
||||
if( work_mode == MORM_WORK_MODE_MODEL_FIELDS_VALUES )
|
||||
{
|
||||
put_field_name(table_index, field_name);
|
||||
put_field_name(field_name);
|
||||
put_name_value_separator();
|
||||
put_field_value(field_value);
|
||||
}
|
||||
@@ -230,7 +235,7 @@ public:
|
||||
void field_to_stream(PT::TextStream & stream, const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false)
|
||||
{
|
||||
this->out_stream = &stream;
|
||||
field(-1, field_name, field_value, insertable, updatable, is_primary_key);
|
||||
field(field_name, field_value, insertable, updatable, is_primary_key);
|
||||
this->out_stream = nullptr;
|
||||
}
|
||||
|
||||
@@ -278,6 +283,8 @@ protected:
|
||||
|
||||
|
||||
std::string column_prefix;
|
||||
int column_prefix_index;
|
||||
bool use_prefix;
|
||||
|
||||
virtual void generate_from_model(Model & model);
|
||||
|
||||
@@ -289,7 +296,6 @@ protected:
|
||||
|
||||
//void field(const wchar_t * field_name, Model & field, bool insertable = true, bool updatable = true);
|
||||
|
||||
virtual void put_field_name(int table_index, const wchar_t * field_name, bool add_column_prefix = true);
|
||||
virtual void put_field_name(const wchar_t * field_name, bool add_column_prefix = true);
|
||||
|
||||
template<typename FieldValue>
|
||||
|
Reference in New Issue
Block a user