From: Tor Didriksen Date: May 16 2011 2:24pm Subject: bzr commit into mysql-trunk branch (tor.didriksen:3092) List-Archive: http://lists.mysql.com/commits/137451 Message-Id: <20110516142431.13D9437B2@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5644085348002496327==" --===============5644085348002496327== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/home/didrik/repo/trunk-mats-min-max/ based on revid:tor.didriksen@stripped 3092 Tor Didriksen 2011-05-16 Comments on min/max patch. Some changes due to 64-bit architecture (I presume). Some style comments: - don't say 'using '; in a header file - always include before using max/min. modified: client/mysql.cc client/mysqltest.cc sql/field.cc sql/item.cc sql/item_timefunc.cc sql/opt_range.h sql/sp_head.cc sql/sql_join_cache.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_prepare.cc sql/sql_select.cc sql/sql_show.cc sql/sql_table.cc === modified file 'client/mysql.cc' --- a/client/mysql.cc 2011-05-16 13:32:40 +0000 +++ b/client/mysql.cc 2011-05-16 14:24:24 +0000 @@ -3381,8 +3381,9 @@ print_table_data(MYSQL_RES *result) field->name, field->name + name_length); uint display_length= field->max_length + name_length - numcells; + // Note that "%*" takes an int!! tee_fprintf(PAGER, " %-*s |", - min(display_length, MAX_COLUMN_LENGTH), + min(display_length, MAX_COLUMN_LENGTH), field->name); num_flag[off]= IS_NUM(field->type); } === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2011-05-16 13:32:40 +0000 +++ b/client/mysqltest.cc 2011-05-16 14:24:24 +0000 @@ -5925,9 +5925,9 @@ int read_line(char *buf, int size) } else if ((c == '{' && (!my_strnncoll_simple(charset_info, (const uchar*) "while", 5, - (uchar*) buf, min(5, p - buf), 0) || + (uchar*) buf, min(5, p - buf), 0) || !my_strnncoll_simple(charset_info, (const uchar*) "if", 2, - (uchar*) buf, min(2, p - buf), 0)))) + (uchar*) buf, min(2, p - buf), 0)))) { /* Only if and while commands can be terminated by { */ *p++= c; === modified file 'sql/field.cc' --- a/sql/field.cc 2011-05-16 13:32:40 +0000 +++ b/sql/field.cc 2011-05-16 14:24:24 +0000 @@ -8721,7 +8721,7 @@ String *Field_bit::val_str(String *val_b { ASSERT_COLUMN_MARKED_FOR_READ; char buff[sizeof(longlong)]; - uint length= min(pack_length(), sizeof(longlong)); + uint length= min(pack_length(), sizeof(longlong)); ulonglong bits= val_int(); mi_int8store(buff,bits); === modified file 'sql/item.cc' --- a/sql/item.cc 2011-05-16 13:32:40 +0000 +++ b/sql/item.cc 2011-05-16 14:24:24 +0000 @@ -5865,7 +5865,7 @@ longlong Item_hex_string::val_int() // following assert is redundant, because fixed=1 assigned in constructor DBUG_ASSERT(fixed == 1); char *end=(char*) str_value.ptr()+str_value.length(), - *ptr= end - min(str_value.length(), sizeof(longlong)); + *ptr= end - min(str_value.length(), sizeof(longlong)); ulonglong value=0; for (; ptr != end ; ptr++) @@ -5920,7 +5920,7 @@ warn: void Item_hex_string::print(String *str, enum_query_type query_type) { char *end= (char*) str_value.ptr() + str_value.length(), - *ptr= end - min(str_value.length(), sizeof(longlong)); + *ptr= end - min(str_value.length(), sizeof(longlong)); str->append("0x"); for (; ptr != end ; ptr++) { === modified file 'sql/item_timefunc.cc' --- a/sql/item_timefunc.cc 2011-05-16 13:32:40 +0000 +++ b/sql/item_timefunc.cc 2011-05-16 14:24:24 +0000 @@ -616,7 +616,7 @@ static bool extract_date_time(DATE_TIME_ err: { char buff[128]; - strmake(buff, val_begin, min(length, sizeof(buff)-1)); + strmake(buff, val_begin, min(length, sizeof(buff)-1)); push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_WRONG_VALUE_FOR_TYPE, ER(ER_WRONG_VALUE_FOR_TYPE), date_time_type, buff, "str_to_date"); @@ -3492,7 +3492,7 @@ null_date: if (val && (fuzzy_date & TIME_NO_ZERO_DATE)) { char buff[128]; - strmake(buff, val->ptr(), min(val->length(), sizeof(buff)-1)); + strmake(buff, val->ptr(), min(val->length(), sizeof(buff)-1)); push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_WRONG_VALUE_FOR_TYPE, ER(ER_WRONG_VALUE_FOR_TYPE), "datetime", buff, "str_to_date"); === modified file 'sql/opt_range.h' --- a/sql/opt_range.h 2011-05-12 12:35:00 +0000 +++ b/sql/opt_range.h 2011-05-16 14:24:24 +0000 @@ -30,8 +30,11 @@ #include "sql_class.h" // set_var.h: THD #include "set_var.h" /* Item */ -using std::min; -using std::max; +// Always include what you need: +#include + +// using std::min; Avoid doing this in headers +// using std::max; class JOIN; class Item_sum; @@ -96,7 +99,7 @@ class QUICK_RANGE :public Sql_alloc { void make_min_endpoint(key_range *kr, uint prefix_length, key_part_map keypart_map) { make_min_endpoint(kr); - kr->length= min(kr->length, prefix_length); + kr->length= std::min(kr->length, prefix_length); kr->keypart_map&= keypart_map; } @@ -134,7 +137,7 @@ class QUICK_RANGE :public Sql_alloc { void make_max_endpoint(key_range *kr, uint prefix_length, key_part_map keypart_map) { make_max_endpoint(kr); - kr->length= min(kr->length, prefix_length); + kr->length= std::min(kr->length, prefix_length); kr->keypart_map&= keypart_map; } === modified file 'sql/sp_head.cc' --- a/sql/sp_head.cc 2011-05-16 13:32:40 +0000 +++ b/sql/sp_head.cc 2011-05-16 14:24:24 +0000 @@ -2643,7 +2643,7 @@ sp_head::show_create_routine(THD *thd, i */ Item_empty_string *stmt_fld= - new Item_empty_string(col3_caption, max(m_defstr.length, 1024U)); + new Item_empty_string(col3_caption, max(m_defstr.length, 1024U)); stmt_fld->maybe_null= TRUE; === modified file 'sql/sql_join_cache.cc' --- a/sql/sql_join_cache.cc 2011-05-12 12:35:00 +0000 +++ b/sql/sql_join_cache.cc 2011-05-16 14:24:24 +0000 @@ -27,6 +27,10 @@ #include "sql_select.h" #include "key.h" +#include +using std::max; +using std::min; + /***************************************************************************** * Join cache module === modified file 'sql/sql_parse.cc' --- a/sql/sql_parse.cc 2011-05-12 17:29:19 +0000 +++ b/sql/sql_parse.cc 2011-05-16 14:24:24 +0000 @@ -96,6 +96,10 @@ #include "mysql/psi/mysql_statement.h" #include "sql_bootstrap.h" +#include +using std::max; +using std::min; + #define FLAGSTR(V,F) ((V)&(F)?#F" ":"") /** @@ -6607,7 +6611,7 @@ bool check_simple_select() char command[80]; Lex_input_stream *lip= & thd->m_parser_state->m_lip; strmake(command, lip->yylval->symbol.str, - min(lip->yylval->symbol.length, sizeof(command)-1)); + min(lip->yylval->symbol.length, sizeof(command)-1)); my_error(ER_CANT_USE_OPTION_HERE, MYF(0), command); return 1; } === modified file 'sql/sql_partition.cc' --- a/sql/sql_partition.cc 2011-05-06 13:21:38 +0000 +++ b/sql/sql_partition.cc 2011-05-16 14:24:24 +0000 @@ -68,6 +68,10 @@ #include "opt_range.h" // store_key_image_to_rec #include "sql_analyse.h" // append_escaped +#include +using std::max; +using std::min; + #ifdef WITH_PARTITION_STORAGE_ENGINE #include "ha_partition.h" === modified file 'sql/sql_plugin.cc' --- a/sql/sql_plugin.cc 2011-05-12 12:35:00 +0000 +++ b/sql/sql_plugin.cc 2011-05-16 14:24:24 +0000 @@ -565,7 +565,7 @@ static st_plugin_dl *plugin_dl_add(const for (i=0; (old=(struct st_mysql_plugin *)(ptr+i*sizeof_st_plugin))->info; i++) - memcpy(cur+i, old, min(sizeof(cur[i]), sizeof_st_plugin)); + memcpy(cur+i, old, min(sizeof(cur[i]), sizeof_st_plugin)); sym= cur; } === modified file 'sql/sql_prepare.cc' --- a/sql/sql_prepare.cc 2011-05-16 13:32:40 +0000 +++ b/sql/sql_prepare.cc 2011-05-16 14:24:24 +0000 @@ -115,6 +115,10 @@ When one supplies long data for a placeh #endif #include "lock.h" // MYSQL_OPEN_FORCE_SHARED_MDL +#include +using std::max; +using std::min; + /** A result class used to send cursor rows using the binary protocol. */ === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2011-05-16 13:32:40 +0000 +++ b/sql/sql_select.cc 2011-05-16 14:24:24 +0000 @@ -51,6 +51,11 @@ #define PREV_BITS(type,A) ((type) (((type) 1 << (A)) -1)) +#include +using std::max; +using std::min; + + const char *join_type_str[]={ "UNKNOWN","system","const","eq_ref","ref", "MAYBE_REF","ALL","range","index","fulltext", "ref_or_null","unique_subquery","index_subquery", === modified file 'sql/sql_show.cc' --- a/sql/sql_show.cc 2011-05-16 13:32:40 +0000 +++ b/sql/sql_show.cc 2011-05-16 14:24:24 +0000 @@ -54,6 +54,10 @@ #include "debug_sync.h" #include "datadict.h" // dd_frm_type() +#include +using std::max; +using std::min; + #define STR_OR_NIL(S) ((S) ? (S) : "") #ifdef WITH_PARTITION_STORAGE_ENGINE === modified file 'sql/sql_table.cc' --- a/sql/sql_table.cc 2011-05-12 17:29:19 +0000 +++ b/sql/sql_table.cc 2011-05-16 14:24:24 +0000 @@ -56,6 +56,10 @@ #include #endif +#include +using std::max; +using std::min; + const char *primary_key_name="PRIMARY"; static bool check_if_keyname_exists(const char *name,KEY *start, KEY *end); --===============5644085348002496327== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/tor.didriksen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: tor.didriksen@stripped\ # 4w19iq1q76zhasjw # target_branch: file:///export/home/didrik/repo/trunk-mats-min-max/ # testament_sha1: 2f128238829e5939b9f5f693408408e6fbfaba63 # timestamp: 2011-05-16 16:24:30 +0200 # base_revision_id: tor.didriksen@stripped\ # s4y464qnfg30v1x2 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWdDz+xwACxzfgFgxev///37n jkq////0YBCdXQ3p97soJCgAPXSgAHHrJKUqoSqSFK9tIJmyKHhkiZJPTRNM00noNMppo0PU0GQB oGjTRmRBxkyaMQ00MBNDE0aZMQMjCaNNMIMmEok9VP09KPUIaaaaaeoAAAANNAAAAM1FNGkTUep6 T2hJp+lPUaaNAAAaAAAARSKZMJkaJgmTENJ6nqnpT9FPSeoepiZPUAGNqgVSI0ATQJiaNGgQ00lP 0Q9KbU0AAADNstqmhYC2t9PDHGuPQmQ22UmC5X3o0cEqQF/s8BbSCpFK0ba0mz0Vn+dGdun41UPJ a36hB0YxFjBSeFoADu/RcKxitsYgt3dybhNpIuakpzZlzFYmtKWSWUUGnWmrs9FLxjF4VoSm0ljS zu9SJUiaIgDGoohBI/cLbpz0/SNa5G39m3vtsQIAEJAAACBAgTYIFxrHqJt6MNeeuakLXbfK0hTB aotmga6wrKXzTLbKkkRW3eTyVtlCvGFxUUkCgeQyE14rstFQcGQylBViLIsmCpaSWIuLxJaOhKSB aQED9rZLcuCw4zJLDfWJQ+Li29gcfQ3UJGuTVdZhYzvz4TgLyL7lfZOqDLiV+sz+kwC2a2gViADe YSSikwpZDQp2DoVb4L0YVHJG1S0kkhhiZNNfjeS63DNzuYgJ0BDCdwIDX78RJp2BxQQ2nLq66clK lIcBANORA+B6/Xus7+BWq7mj2nxlSlyaqJQvS9N/BxqF9smUyAvhXMCHzAu42PMBcGQc4rIxYcV2 zatKkZSAxmsehN7yggR/QEep0R7eYgQdSeAQ/f3xZQ2pI0VtbdjWeyj91PihskvWEelTGESRFYpu utzyaSvpu5vlLslXZZamrVLU1i1NWtCSo/aaVUk4MErI94dPnBuVr+ORWWqxXfqc/buwBxlCPtKE SkVyV1zhFvKaK6TUi0oRVW8YrUWIJitJylNWQkgmQiXisX4MFFr7rE3grc0sEkEmCp+TBezYzWF2 BKEImWS1qsGWKi1Sa1rXK7Uk1Fi5ONFq5g1JoMIyiGkojKMlE2WpUfb+fW1XsWxrQetJbkzlRnLD zLwez5Qi3VyTHXBKMV9MocWjCRcKYSKyJiFgo0H0oOJhqPbfXBCgwXtddq6L82LJJS5fCjcqpEmG OFtmzst48eVuqVt907ZNqxuyaQjXrnO+BNA2wjZXNkl9N1MNu1dnrX7ERDRXskk1W61vKtxVpRP9 sl7PHGxUWx5++iitxc0GjJZqSeKBqcoGxo3zK1m9ksbSxrV0GwpIrLikvN1hWC3lJ9RA9QZ4XY9s ZsxwnV0lbd96l2jk5ETkQi9uZJJJRrTJxdJU4K1ato9F+CuNcotdujpyStWPFfilvQMyKlvdWgbr WalVqrWsVL6GGfYzwW5xqblFKL5JMcVdddGvpmgpm1GjFRmk6N8Q6Ja32fhUqdrxfZqdkIo83e79 cdtW/lbVVXVVOdm7Lkvb4o3OxB29+St6EWY47GObO5msa1mOpS9rIyYNLmTDOS8iUOrGcr01uURU 6RROprWXSqyYWqSVpKmcKtqTNu1qlSSxsVO5KEdjY3r02pRcmwZub6sXjCMHOEZq3o7G58nBGvZB xnVVws4LJzltqq47rKkCtXMjewqQ6yiK2iS1JAqQNacTipnjwas2a1Cy2kq6TS1u7vu+SVvNmm5T ceBGtaydycWK+xc85uRyotcQu41OKmixQmma2Tycfm6wj7KM29W82r9WaIm4oGK3JPiWralp6S2b +WzYTArYkmLoLTDVx2PYuFdF32q5350gwrpUiIXJOvWj1anq2tmTao0ZusI5KXjUMTtEMUWuM1ss pEcaQpEtlCRBJStDzS8WmuxkqjDWtQdixRv3zhbY8tmtwUabY0eKp7N6pWxclqatbuSqcWK182Lv d6Tk6M3OO5gaBYvrGytNq/bg0IyLl6N2TmUkQShRAJOPEVHGrSwXLk7Kkp3MbpL2TzVkWrnapHOt sc3Rhn06arGVlkpTbKSTbtUCyEVOjsa43tOzhHaoo7GrRi0Z5yUYwi9R9EkDRJywwlO/Fdkx4WbJ UslLdUolRBkkr0ZM21N89Ivj8oRa0bU2emic4tsu1NdTZzaiuxK2+T5vkgebcrUZO9nUvSNGzJev USfR3coFF/Yk3N6jg4otZxxPdtYO3sZO17Oi5RcrYPZw7eHKXJmr0lPtKpzSlfZwjJcgmXbpqO9h NdLrWvUT5LmbsXYJak5tViWqbyKYOL63r1JK/6a43Ls8Y0myV3xbZW1MGlnSWCy5Rj3J2JLmttTS di1hO2csFTBUkFym7WralzRaUqZXLYM0k7FiiTNtpfWtq35r0FS5mxVbb9idyDW0ZKs4lOeVK1ct SqptXq2npuYrUl69JU4KMUmpgxtQLd3ptv23zgqQZTSSi6czdlKzCNBpJCsLKoEropALBCquMaMe a+89sAQsvy1IeisTlAYoCcdTk3+m9JQRCREBBCwPYiwRC0qylz3fBWQHSpSXuAq4u8kqn/MpaYLE AQBEEpp/rzGatezKx2hXm8+vXUFFXBVnvZdteGyZoh4G4SYiSxrIQ+XifvxDTAyJPp5YmasMK/Gi CpcTa5jZR8tD4TqxB/M+z7vaM2xamwVxNg+658LWTB97X3WprVbO8yeFj8dH6LNNT9qmrtLGLFOO jjAjY2aDGQTcxUQWG6oQzu0uwDwfzQ0TN3FWmVdW6Tvgmad+Ip1CJJQKIiUJI+ZIGR8zDx/k/j4r lbvfxVtUdHm83686KLDvWm9g4PwrVRbCJMcMZanq8nmmvan4itr04Of7/N64O5/Jjejk7jvMptOG nwMwfILz4IP8oUdIr9xAmR5dxq4Eqn1dittTdiperSXPBJd1eCai1g+rKTm6GbHNw2CFTuZsnzeD i1r2keMl6jwjj9Pfpc2xdIligUe08CoTh2IjFfGZy8D3HN5mclWRofApxzbLK6/O2z590RG+cSTP N6Oj1we+ONytfF7yXp07VipW813FeotbeqbZA6MGuB7NSljLaog08hDIq0lBjbyfidhLMZjMJn51 VwWlZwVXm+odPk+xom9X5OLyjqzCLsU/i7xcmS63rAcpgEbtlFHjmKfKirxYJEySI4NZJWo7jkQT 1ejwXeMdHa+PnYrZtF7DLhOUjtklObJ4npsS9Co5l5BsMphhiLQ7DgrtV17y+F3wspq7RClcDcaD fvHUVNvs2ZHD2eWo22RV3GM2o4Ezwzan2k4N5dSdc26M52/1mcntda39ZgD5HarSXAHm4ySB+BxA k6WVtmsxfZLv92S2piyouJCGroTzY1XauxYvrEe7gkk8CItdHyeT3aKQinzebzTTcVy5J1udVrTU o82j398VStaxYMGi+/Vdrey8AloDuENwPI4o8DJrO73q9VZK7TmXGUwThHqzvtubvNVOUcHk5roi H0cCNTtYPorXsDmbTm2vVQjcTeDeVmsqshqbjIjCFZNXauhF78tREmTwfZzTbnsuLot9wSjyQKuF zBo3LY+sd/fK+1TtiqD6s4yb0mLi1OPkiCV6P5wVmPIesjyN3K/sVc59c6qYqTByl9AhqLQB4naY xU3mNMhsfArIIYUK8z+oFBYiceCClnlZ6z/SfhdvaYSiUDfJ7oGb9OxBwm9JfXtSk2wYx2XPduWO bUiI0+qooqWObpFHevXoHXsl+b5PVVtfJk2wjiqybVjRB9Im/M93V+59gjiZPhUm0hGqJR7e6Ja2 S1xQYWHjF9YDntLaXYWbIV5OtEZKyhWh+Oo1sRI0z6VOTXGjqnBiyX1blbm9pPL3i2LnCLuSpDBk b5/rizeb1Wu0hHGNbc83R0gs3WljLuTj0+kf2d8gIn2Vd5aZdKtr9Li2ZnJFt10wP1k+UJVqR1mb 9GhKEaYBuhG2T4eL8m59txL0c675Mc65VQAIBDMyhNKG2UbbQ40NvwLO60TVqiESKKdniDQiTaAh pVu+0xFdh01GdGZ2I8WTGJJILk5xB9Xsqip1dcfSjpCPJu8GrAbSZ2+jln7O2ER9SPwgnReKdOo5 7zv7jgfTUqnqiMCFpVwQhvNdD9+zdzd58NJp7uCiUEOL3cXrVERKB+aJ2hlwhH6MWbHYvPh5lWt6 +zOEal0S0zaR7fp/utXei1a6O6Ub0D5tcI9H9CB/Bio6OK99XF+GTyYO6IQ6kWrYRg5rNvj21YTd +hZERCuw8W9UskpEQPjnHo5MbFi2VUdrsbGKuAmeH46h4NmnOBGrODwUVObzTUjajnNaOKzL4HaV FudiGWP2nwJumk41GOcBcVA7DQXFBn01WvmYPcAO1yQLMQ3l4hmEOBiW++3vPrCWCaSzpvQPkXAu 02/EAAAAAAAAAs6zDT1ubBSgQIECBApfKsE0lmg3IPTWp/BSyzc8320b0tn+VUzvjwh9FepSTEBC tHFoFcTuy0Y4EOVNofpDu5NQrHmdysyhDajbZ4XuozY3E5yugHgcACFZctAhpdGNUkkkqkkqS1Es ZQMsrbfR1bp7JTuXOMIsTXPh59XqwYIVydXqPVUcuFrm9fs37FUcOqvi8fhseep8IiVnhCOTufJ3 vwR8Ob9umPOXssUyYxwDqWCGQ8zmfPUczWbj0PE+wtgA6MK9BA4tHfHosdrW74v9Hdta2LwZtGtg o9WTi/Mj2cX3UgmvYUeLFNVZmxTcUnR2L0lsREanOzbPoxqbWJF781I2r+b5YPy1r1e/jJ29W5gx SRzXr1T79WXVmvtdzr0iIjU70CaxpEn2drtanEcP65/i7kinChIaHn9jgA== --===============5644085348002496327==--