70
69
table_name= orig_table_name;
71
70
field_name= orig_field_name;
76
74
bool Item_ident::remove_dependence_processor(unsigned char * arg)
78
76
if (depended_from == (Select_Lex *) arg)
83
81
const char *Item_ident::full_name() const
87
83
if (!table_name || !field_name)
88
84
return field_name ? field_name : name ? name : "tmp_field";
89
85
if (db_name && db_name[0])
91
tmp_len= strlen(db_name)+strlen(table_name)+strlen(field_name)+3;
92
tmp= (char*) memory::sql_alloc(tmp_len);
87
size_t tmp_len= strlen(db_name)+strlen(table_name)+strlen(field_name)+3;
88
char* tmp= (char*) memory::sql_alloc(tmp_len);
93
89
snprintf(tmp, tmp_len, "%s.%s.%s",db_name,table_name,field_name);
99
tmp_len=strlen(table_name)+strlen(field_name)+2;
100
tmp= (char*) memory::sql_alloc(tmp_len);
101
snprintf(tmp, tmp_len, "%s.%s", table_name, field_name);
104
tmp= (char*) field_name;
94
size_t tmp_len= strlen(table_name)+strlen(field_name)+2;
95
char* tmp= (char*) memory::sql_alloc(tmp_len);
96
snprintf(tmp, tmp_len, "%s.%s", table_name, field_name);
110
void Item_ident::print(String *str,
103
void Item_ident::print(String *str)
113
105
string d_name, t_name;
115
107
if (table_name && table_name[0])
117
t_name.assign(table_name);
118
std::transform(t_name.begin(), t_name.end(),
119
t_name.begin(), ::tolower);
110
boost::to_lower(t_name);
122
113
if (db_name && db_name[0])
124
d_name.assign(db_name);
125
// Keeping the std:: prefix here, since Item_ident has a transform
127
std::transform(d_name.begin(), d_name.end(),
128
d_name.begin(), ::tolower);
116
boost::to_lower(d_name);
131
119
if (!table_name || !field_name || !field_name[0])
133
const char *nm= (field_name && field_name[0]) ?
134
field_name : name ? name : "tmp_field";
135
str->append_identifier(nm, (uint32_t) strlen(nm));
121
str->append_identifier(str_ref((field_name && field_name[0]) ? field_name : name ? name : "tmp_field"));
139
124
if (db_name && db_name[0] && !alias_name_used)
142
str->append_identifier(d_name.c_str(), d_name.length());
145
str->append_identifier(t_name.c_str(), t_name.length());
147
str->append_identifier(field_name, (uint32_t)strlen(field_name));
126
str->append_identifier(d_name);
128
str->append_identifier(t_name);
130
str->append_identifier(str_ref(field_name));
151
134
if (table_name[0])
153
str->append_identifier(t_name.c_str(), t_name.length());
136
str->append_identifier(t_name);
154
137
str->append('.');
155
str->append_identifier(field_name, (uint32_t) strlen(field_name));
138
str->append_identifier(str_ref(field_name));
158
str->append_identifier(field_name, (uint32_t) strlen(field_name));
141
str->append_identifier(str_ref(field_name));