Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1

into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
This commit is contained in:
bell@sanja.is.com.ua 2003-11-20 14:42:40 +02:00
commit da73d77f6f

View File

@ -44,7 +44,7 @@
#include <locale.h> #include <locale.h>
#endif #endif
const char *VER= "14.2"; const char *VER= "14.3";
/* Don't try to make a nice table if the data is too big */ /* Don't try to make a nice table if the data is too big */
#define MAX_COLUMN_LENGTH 1024 #define MAX_COLUMN_LENGTH 1024
@ -1665,79 +1665,82 @@ com_go(String *buffer,char *line __attribute__((unused)))
buffer->length(0); // Remove query on error buffer->length(0); // Remove query on error
return error; return error;
} }
error=0; error=0;
buffer->length(0); buffer->length(0);
if (quick) do
{ {
if (!(result=mysql_use_result(&mysql)) && mysql_field_count(&mysql)) if (quick)
return put_error(&mysql);
}
else
{
error= mysql_store_result_for_lazy(&result);
if (error)
return error;
}
if (verbose >= 3 || !opt_silent)
mysql_end_timer(timer,time_buff);
else
time_buff[0]=0;
if (result)
{
if (!mysql_num_rows(result) && ! quick)
{ {
strmov(buff, "Empty set"); if (!(result=mysql_use_result(&mysql)) && mysql_field_count(&mysql))
return put_error(&mysql);
} }
else else
{ {
init_pager(); error= mysql_store_result_for_lazy(&result);
if (opt_html) if (error)
print_table_data_html(result); return error;
else if (opt_xml)
print_table_data_xml(result);
else if (vertical)
print_table_data_vertically(result);
else if (opt_silent && verbose <= 2 && !output_tables)
print_tab_data(result);
else
print_table_data(result);
sprintf(buff,"%ld %s in set",
(long) mysql_num_rows(result),
(long) mysql_num_rows(result) == 1 ? "row" : "rows");
end_pager();
} }
}
else if (mysql_affected_rows(&mysql) == ~(ulonglong) 0)
strmov(buff,"Query OK");
else
sprintf(buff,"Query OK, %ld %s affected",
(long) mysql_affected_rows(&mysql),
(long) mysql_affected_rows(&mysql) == 1 ? "row" : "rows");
pos=strend(buff); if (verbose >= 3 || !opt_silent)
if ((warnings= mysql_warning_count(&mysql))) mysql_end_timer(timer,time_buff);
{ else
*pos++= ','; time_buff[0]=0;
*pos++= ' '; if (result)
pos=int2str(warnings, pos, 10); {
pos=strmov(pos, " warning"); if (!mysql_num_rows(result) && ! quick)
if (warnings != 1) {
*pos++= 's'; strmov(buff, "Empty set");
} }
strmov(pos, time_buff); else
put_info(buff,INFO_RESULT); {
if (mysql_info(&mysql)) init_pager();
put_info(mysql_info(&mysql),INFO_RESULT); if (opt_html)
put_info("",INFO_RESULT); // Empty row print_table_data_html(result);
else if (opt_xml)
print_table_data_xml(result);
else if (vertical)
print_table_data_vertically(result);
else if (opt_silent && verbose <= 2 && !output_tables)
print_tab_data(result);
else
print_table_data(result);
sprintf(buff,"%ld %s in set",
(long) mysql_num_rows(result),
(long) mysql_num_rows(result) == 1 ? "row" : "rows");
end_pager();
}
}
else if (mysql_affected_rows(&mysql) == ~(ulonglong) 0)
strmov(buff,"Query OK");
else
sprintf(buff,"Query OK, %ld %s affected",
(long) mysql_affected_rows(&mysql),
(long) mysql_affected_rows(&mysql) == 1 ? "row" : "rows");
pos=strend(buff);
if ((warnings= mysql_warning_count(&mysql)))
{
*pos++= ',';
*pos++= ' ';
pos=int2str(warnings, pos, 10);
pos=strmov(pos, " warning");
if (warnings != 1)
*pos++= 's';
}
strmov(pos, time_buff);
put_info(buff,INFO_RESULT);
if (mysql_info(&mysql))
put_info(mysql_info(&mysql),INFO_RESULT);
put_info("",INFO_RESULT); // Empty row
if (result && !mysql_eof(result)) /* Something wrong when using quick */
error= put_error(&mysql);
else if (unbuffered)
fflush(stdout);
mysql_free_result(result);
} while (!mysql_next_result(&mysql));
if (result && !mysql_eof(result)) /* Something wrong when using quick */
error= put_error(&mysql);
else if (unbuffered)
fflush(stdout);
mysql_free_result(result);
return error; /* New command follows */ return error; /* New command follows */
} }
@ -2416,6 +2419,7 @@ com_delimiter(String *buffer __attribute__((unused)), char *line)
} }
strmake(delimiter, tmp, sizeof(delimiter) - 1); strmake(delimiter, tmp, sizeof(delimiter) - 1);
delimiter_length= strlen(delimiter); delimiter_length= strlen(delimiter);
delimiter_str= delimiter;
return 0; return 0;
} }