mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into zippy.(none):/home/cmiller/work/mysql/mysql-5.0.19-tbr
This commit is contained in:
commit
a2a5925d60
4 changed files with 68 additions and 9 deletions
|
@ -185,6 +185,7 @@ void tee_fprintf(FILE *file, const char *fmt, ...);
|
|||
void tee_fputs(const char *s, FILE *file);
|
||||
void tee_puts(const char *s, FILE *file);
|
||||
void tee_putc(int c, FILE *file);
|
||||
static void tee_print_sized_data(const char *data, unsigned int length, unsigned int width);
|
||||
/* The names of functions that actually do the manipulation. */
|
||||
static int get_options(int argc,char **argv);
|
||||
static int com_quit(String *str,char*),
|
||||
|
@ -2308,20 +2309,29 @@ print_table_data(MYSQL_RES *result)
|
|||
for (uint off= 0; off < mysql_num_fields(result); off++)
|
||||
{
|
||||
const char *str= cur[off] ? cur[off] : "NULL";
|
||||
uint currlength;
|
||||
uint maxlength;
|
||||
uint numcells;
|
||||
|
||||
field= mysql_fetch_field(result);
|
||||
uint maxlength= field->max_length;
|
||||
maxlength= field->max_length;
|
||||
currlength= (uint) lengths[off];
|
||||
numcells= charset_info->cset->numcells(charset_info,
|
||||
str, str + currlength);
|
||||
if (maxlength > MAX_COLUMN_LENGTH)
|
||||
{
|
||||
tee_fputs(str, PAGER);
|
||||
tee_fputs(" |", PAGER);
|
||||
tee_print_sized_data(str, currlength, maxlength);
|
||||
tee_fputs(" |", PAGER);
|
||||
}
|
||||
else
|
||||
{
|
||||
uint currlength= (uint) lengths[off];
|
||||
uint numcells= charset_info->cset->numcells(charset_info,
|
||||
str, str + currlength);
|
||||
tee_fprintf(PAGER, num_flag[off] ? "%*s |" : " %-*s|",
|
||||
maxlength + currlength - numcells, str);
|
||||
if (num_flag[off] != 0)
|
||||
tee_fprintf(PAGER, " %-*s|", maxlength + currlength - numcells, str);
|
||||
else
|
||||
{
|
||||
tee_print_sized_data(str, currlength, maxlength);
|
||||
tee_fputs(" |", PAGER);
|
||||
}
|
||||
}
|
||||
}
|
||||
(void) tee_fputs("\n", PAGER);
|
||||
|
@ -2331,6 +2341,35 @@ print_table_data(MYSQL_RES *result)
|
|||
}
|
||||
|
||||
|
||||
static void
|
||||
tee_print_sized_data(const char *data, unsigned int length, unsigned int width)
|
||||
{
|
||||
/*
|
||||
It is not a number, so print each character justified to the left.
|
||||
For '\0's print ASCII spaces instead, as '\0' is eaten by (at
|
||||
least my) console driver, and that messes up the pretty table
|
||||
grid. (The \0 is also the reason we can't use fprintf() .)
|
||||
*/
|
||||
unsigned int i;
|
||||
const char *p;
|
||||
|
||||
tee_putc(' ', PAGER);
|
||||
|
||||
for (i= 0, p= data; i < length; i+= 1, p+= 1)
|
||||
{
|
||||
if (*p == '\0')
|
||||
tee_putc((int)' ', PAGER);
|
||||
else
|
||||
tee_putc((int)*p, PAGER);
|
||||
}
|
||||
|
||||
i+= 1;
|
||||
for ( ; i < width; i+= 1)
|
||||
tee_putc((int)' ', PAGER);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
print_table_data_html(MYSQL_RES *result)
|
||||
{
|
||||
|
|
|
@ -69,3 +69,10 @@ c_cp932
|
|||
ソ
|
||||
ソ
|
||||
ソ
|
||||
+----------------------+------------+--------+
|
||||
| concat('>',col1,'<') | col2 | col3 |
|
||||
+----------------------+------------+--------+
|
||||
| >a < | b | 123421 |
|
||||
| >a < | 0123456789 | 4 |
|
||||
| >abcd< | | 4 |
|
||||
+----------------------+------------+--------+
|
||||
|
|
|
@ -56,3 +56,8 @@ drop table t1;
|
|||
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; set character_set_client= cp932; select 'ƒ\'"
|
||||
--exec $MYSQL --default-character-set=utf8 test -e "/*charset cp932 */; set character_set_client= cp932; select 'ƒ\'"
|
||||
--exec $MYSQL --default-character-set=utf8 test -e "/*!\C cp932 */; set character_set_client= cp932; select 'ƒ\'"
|
||||
|
||||
#
|
||||
# Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string".
|
||||
#
|
||||
--exec $MYSQL -t test -e "create table t1 (col1 binary(4), col2 varchar(10), col3 int); insert into t1 values ('a', 'b', 123421),('a ', '0123456789', 4), ('abcd', '', 4); select concat('>',col1,'<'), col2, col3 from t1; drop table t1;" 2>&1
|
||||
|
|
|
@ -369,8 +369,8 @@ BuildMySQL "--disable-shared \
|
|||
--with-client-ldflags='-all-static' \
|
||||
$USE_OTHER_LIBC_DIR \
|
||||
%else
|
||||
%endif
|
||||
--with-zlib-dir=bundled \
|
||||
%endif
|
||||
--with-comment=\"MySQL Community Edition - Standard (GPL)\" \
|
||||
--with-server-suffix='%{server_suffix}' \
|
||||
--with-archive-storage-engine \
|
||||
|
@ -690,8 +690,11 @@ fi
|
|||
%{_libdir}/mysql/libndbclient.a
|
||||
%{_libdir}/mysql/libndbclient.la
|
||||
%{_libdir}/mysql/libvio.a
|
||||
%if %{STATIC_BUILD}
|
||||
%else
|
||||
%{_libdir}/mysql/libz.a
|
||||
%{_libdir}/mysql/libz.la
|
||||
%endif
|
||||
|
||||
%files shared
|
||||
%defattr(-, root, root, 0755)
|
||||
|
@ -723,6 +726,11 @@ fi
|
|||
* Fri Mar 03 2006 Kent Boortz <kent@mysql.com>
|
||||
|
||||
- Don't output an embedded package as it is empty
|
||||
- Can't use bundled zlib when doing static build. Might be a
|
||||
automake/libtool problem, having two .la files, "libmysqlclient.la"
|
||||
and "libz.la", on the same command line to link "thread_test"
|
||||
expands to too many "-lc", "-lpthread" and other libs giving hard
|
||||
to nail down duplicate symbol defintion problems.
|
||||
|
||||
* Fri Jan 10 2006 Joerg Bruehe <joerg@mysql.com>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue