diff -ur mysql-5.1.30/client/client_priv.h mysql-5.1.30-andrew/client/client_priv.h --- mysql-5.1.30/client/client_priv.h 2008-11-14 16:34:15.000000000 +0000 +++ mysql-5.1.30-andrew/client/client_priv.h 2009-01-17 12:39:00.000000000 +0000 @@ -80,5 +80,5 @@ OPT_FIX_TABLE_NAMES, OPT_FIX_DB_NAMES, OPT_SSL_VERIFY_SERVER_CERT, OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE, OPT_WRITE_BINLOG, OPT_DUMP_DATE, - OPT_MAX_CLIENT_OPTION + OPT_MAX_CLIENT_OPTION, OPT_SHOW_PROGRESS_SIZE }; diff -ur mysql-5.1.30/client/mysql.cc mysql-5.1.30-andrew/client/mysql.cc --- mysql-5.1.30/client/mysql.cc 2008-11-14 16:34:16.000000000 +0000 +++ mysql-5.1.30-andrew/client/mysql.cc 2009-01-17 12:36:27.000000000 +0000 @@ -142,6 +142,7 @@ default_charset_used= 0, opt_secure_auth= 0, default_pager_set= 0, opt_sigint_ignore= 0, show_warnings= 0, executing_query= 0, interrupted_query= 0; +static ulong show_progress_size= 0; static my_bool debug_info_flag, debug_check_flag; static my_bool column_types_flag; static my_bool preserve_comments= 0; @@ -1506,6 +1507,9 @@ {"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.", (uchar**) &show_warnings, (uchar**) &show_warnings, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, + {"show-progress-size", OPT_SHOW_PROGRESS_SIZE, "Number of lines before each import progress report.", + (uchar**) &show_progress_size, (uchar**) &show_progress_size, 0, GET_ULONG, + REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} }; @@ -1827,6 +1831,12 @@ (uchar) line[2] == 0xBF) line+= 3; line_number++; + + if (show_progress_size > 0) + { + if ((line_number % show_progress_size) == 0) + fprintf(stderr, "Processing line: %lu\r", line_number); + } if (!glob_buffer.length()) status.query_start_line=line_number; }