Loading extra/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ $(top_builddir)/include/mysqld_ername.h: $(top_builddir)/include/mysqld_error.h $(top_builddir)/include/sql_state.h: $(top_builddir)/include/mysqld_error.h bin_PROGRAMS = replace comp_err perror resolveip my_print_defaults \ resolve_stack_dump mysql_waitpid # innochecksum resolve_stack_dump mysql_waitpid innochecksum noinst_PROGRAMS = charset2html # Don't update the files from bitkeeper Loading extra/innochecksum.c +8 −4 Original line number Diff line number Diff line Loading @@ -140,10 +140,11 @@ int main(int argc, char **argv) { int now; // current time int lastt; // last time ulint oldcsum, oldcsumfield, csum, csumfield, logseq, logseqfield; // ulints for checksum storage struct stat64 st; // for stat, if you couldn't guess struct stat st; // for stat, if you couldn't guess unsigned long long int size; // size of file (has to be 64 bits) ulint pages; // number of pages in file ulint start_page = 0, end_page = 0, use_end_page = 0; // for starting and ending at certain pages off_t offset = 0; int just_count = 0; // if true, just print page count int verbose = 0; int debug = 0; Loading Loading @@ -202,7 +203,7 @@ int main(int argc, char **argv) { } // stat the file to get size and page count if (stat64(argv[optind], &st)) { if (stat(argv[optind], &st)) { perror("error statting file"); return 1; } Loading @@ -217,7 +218,7 @@ int main(int argc, char **argv) { } // open the file for reading f = fopen64(argv[optind], "r"); f = fopen(argv[optind], "r"); if (!f) { perror("error opening file"); return 1; Loading @@ -230,7 +231,10 @@ int main(int argc, char **argv) { perror("unable to obtain file descriptor number"); return 1; } if (lseek64(fd, start_page * UNIV_PAGE_SIZE, SEEK_SET) != (start_page * UNIV_PAGE_SIZE)) { offset = (off_t)start_page * (off_t)UNIV_PAGE_SIZE; if (lseek(fd, offset, SEEK_SET) != offset) { perror("unable to seek to necessary offset"); return 1; } Loading mysql-test/r/analyse.result +6 −0 Original line number Diff line number Diff line Loading @@ -109,3 +109,9 @@ select * from t1 procedure analyse(); Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype test.t1.df 1.1 2.2 8 8 0 0 1.650000000 0.302500000 ENUM('1.1','2.2') NOT NULL drop table t1; create table t1 (d double); insert into t1 values (100000); select * from t1 procedure analyse (1,1); Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype test.t1.d 100000 100000 6 6 0 0 100000 0 MEDIUMINT(6) UNSIGNED NOT NULL drop table t1; mysql-test/r/select.result +10 −0 Original line number Diff line number Diff line Loading @@ -2912,3 +2912,13 @@ ERROR 23000: Column 'id' in from clause is ambiguous SELECT id,t3.id FROM (t1 JOIN t2 ON (t2.id=t1.id)) LEFT JOIN t3 USING (id); ERROR 23000: Column 'id' in from clause is ambiguous drop table t1, t2, t3; create table t1 (a int(10),b int(10)); create table t2 (a int(10),b int(10)); insert into t1 values (1,10),(2,20),(3,30); insert into t2 values (1,10); select * from t1 inner join t2 using (A); a b b 1 10 10 select * from t1 inner join t2 using (a); a b b 1 10 10 mysql-test/t/analyse.test +12 −2 Original line number Diff line number Diff line Loading @@ -48,8 +48,6 @@ insert into t1 values ('abc'),('abc\'def\\hij\"klm\0opq'),('\''),('\"'),('\\'),( select * from t1 procedure analyse(); drop table t1; # End of 4.1 tests #decimal-related test create table t1 (df decimal(5,1)); Loading @@ -57,3 +55,15 @@ insert into t1 values(1.1); insert into t1 values(2.2); select * from t1 procedure analyse(); drop table t1; # # Bug#10716 - Procedure Analyse results in wrong values for optimal field type # create table t1 (d double); insert into t1 values (100000); select * from t1 procedure analyse (1,1); drop table t1; # End of 4.1 tests Loading
extra/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ $(top_builddir)/include/mysqld_ername.h: $(top_builddir)/include/mysqld_error.h $(top_builddir)/include/sql_state.h: $(top_builddir)/include/mysqld_error.h bin_PROGRAMS = replace comp_err perror resolveip my_print_defaults \ resolve_stack_dump mysql_waitpid # innochecksum resolve_stack_dump mysql_waitpid innochecksum noinst_PROGRAMS = charset2html # Don't update the files from bitkeeper Loading
extra/innochecksum.c +8 −4 Original line number Diff line number Diff line Loading @@ -140,10 +140,11 @@ int main(int argc, char **argv) { int now; // current time int lastt; // last time ulint oldcsum, oldcsumfield, csum, csumfield, logseq, logseqfield; // ulints for checksum storage struct stat64 st; // for stat, if you couldn't guess struct stat st; // for stat, if you couldn't guess unsigned long long int size; // size of file (has to be 64 bits) ulint pages; // number of pages in file ulint start_page = 0, end_page = 0, use_end_page = 0; // for starting and ending at certain pages off_t offset = 0; int just_count = 0; // if true, just print page count int verbose = 0; int debug = 0; Loading Loading @@ -202,7 +203,7 @@ int main(int argc, char **argv) { } // stat the file to get size and page count if (stat64(argv[optind], &st)) { if (stat(argv[optind], &st)) { perror("error statting file"); return 1; } Loading @@ -217,7 +218,7 @@ int main(int argc, char **argv) { } // open the file for reading f = fopen64(argv[optind], "r"); f = fopen(argv[optind], "r"); if (!f) { perror("error opening file"); return 1; Loading @@ -230,7 +231,10 @@ int main(int argc, char **argv) { perror("unable to obtain file descriptor number"); return 1; } if (lseek64(fd, start_page * UNIV_PAGE_SIZE, SEEK_SET) != (start_page * UNIV_PAGE_SIZE)) { offset = (off_t)start_page * (off_t)UNIV_PAGE_SIZE; if (lseek(fd, offset, SEEK_SET) != offset) { perror("unable to seek to necessary offset"); return 1; } Loading
mysql-test/r/analyse.result +6 −0 Original line number Diff line number Diff line Loading @@ -109,3 +109,9 @@ select * from t1 procedure analyse(); Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype test.t1.df 1.1 2.2 8 8 0 0 1.650000000 0.302500000 ENUM('1.1','2.2') NOT NULL drop table t1; create table t1 (d double); insert into t1 values (100000); select * from t1 procedure analyse (1,1); Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype test.t1.d 100000 100000 6 6 0 0 100000 0 MEDIUMINT(6) UNSIGNED NOT NULL drop table t1;
mysql-test/r/select.result +10 −0 Original line number Diff line number Diff line Loading @@ -2912,3 +2912,13 @@ ERROR 23000: Column 'id' in from clause is ambiguous SELECT id,t3.id FROM (t1 JOIN t2 ON (t2.id=t1.id)) LEFT JOIN t3 USING (id); ERROR 23000: Column 'id' in from clause is ambiguous drop table t1, t2, t3; create table t1 (a int(10),b int(10)); create table t2 (a int(10),b int(10)); insert into t1 values (1,10),(2,20),(3,30); insert into t2 values (1,10); select * from t1 inner join t2 using (A); a b b 1 10 10 select * from t1 inner join t2 using (a); a b b 1 10 10
mysql-test/t/analyse.test +12 −2 Original line number Diff line number Diff line Loading @@ -48,8 +48,6 @@ insert into t1 values ('abc'),('abc\'def\\hij\"klm\0opq'),('\''),('\"'),('\\'),( select * from t1 procedure analyse(); drop table t1; # End of 4.1 tests #decimal-related test create table t1 (df decimal(5,1)); Loading @@ -57,3 +55,15 @@ insert into t1 values(1.1); insert into t1 values(2.2); select * from t1 procedure analyse(); drop table t1; # # Bug#10716 - Procedure Analyse results in wrong values for optimal field type # create table t1 (d double); insert into t1 values (100000); select * from t1 procedure analyse (1,1); drop table t1; # End of 4.1 tests