List:Commits« Previous MessageNext Message »
From:msvensson Date:May 16 2007 3:19pm
Subject:bk commit into 4.1 tree (msvensson:1.2653)
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of msvensson. When msvensson does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-05-16 17:19:36+02:00, msvensson@stripped +3 -0
  WL#2247 mysqltest: add option for sorting results
   - Change from "query_sorted <query>" to "sorted_results"

  client/mysqltest.c@stripped, 2007-05-16 17:19:35+02:00, msvensson@stripped +12 -6
    Replace "query_sorted <query>" with the ability to turn
    on "one shot result sorting" with the command "sorted_results" 

  mysql-test/r/mysqltest.result@stripped, 2007-05-16 17:19:35+02:00, msvensson@stripped +52 -0
    Update test and result

  mysql-test/t/mysqltest.test@stripped, 2007-05-16 17:19:35+02:00, msvensson@stripped +64 -7
    Update test and result

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	msvensson
# Host:	pilot.blaudden
# Root:	/home/msvensson/mysql/mysql-4.1-maint

--- 1.25/mysql-test/r/mysqltest.result	2007-04-10 17:33:03 +02:00
+++ 1.26/mysql-test/r/mysqltest.result	2007-05-16 17:19:35 +02:00
@@ -546,6 +546,12 @@ a	b	c
 2	Part 2	2007-04-05 00:00:00
 2	Part 3	2007-04-05 00:00:00
 select * from t1;
+a	b	c
+1	Line 1	2007-04-05 00:00:00
+2	Part 2	2007-04-05 00:00:00
+1	Line 1	2007-04-05 00:00:00
+2	Part 3	2007-04-05 00:00:00
+select * from t1;
 select '';
 
 
@@ -561,4 +567,50 @@ hep
 select "hepp";
 hepp
 hepp
+drop table t1;
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+my_col
+1
+2
+SELECT 2 as "my_col" UNION SELECT 1;
+my_col
+1
+2
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+my_col
+1
+2
+SELECT '2' as "3"
+UNION
+SELECT '1';
+3
+1
+2
+SET @a = 17;
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+my_col
+1
+2
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+my_col
+2
+1
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+my_col
+1
+2
+SELECT '2' as "my_col1",2 as "my_col2"
+UNION
+SELECT '1',1 from t2;
+ERROR 42S02: Table 'test.t2' doesn't exist
 End of tests

--- 1.30/mysql-test/t/mysqltest.test	2007-04-10 13:51:31 +02:00
+++ 1.31/mysql-test/t/mysqltest.test	2007-05-16 17:19:35 +02:00
@@ -1693,15 +1693,72 @@ create table t1( a int, b char(255), c t
 insert into t1 values(1, 'Line 1', '2007-04-05'), (2, "Part 2", '2007-04-05');
 insert into t1 values(1, 'Line 1', '2007-04-05'), (2, "Part 3", '2007-04-05');
 select * from t1;
-query_sorted select * from t1;
+--sorted_results
+select * from t1;
+# Should not be sorted
+select * from t1;
 disable_result_log;
-query_sorted select * from t1;
+sorted_results;
+select * from t1;
 enable_result_log;
-query_sorted select '';
-query_sorted select "h";
-query_sorted select "he";
-query_sorted select "hep";
-query_sorted select "hepp";
+--sorted_results
+select '';
+sorted_results;
+select "h";
+--sorted_results
+select "he";
+--sorted_results
+select "hep";
+--sorted_results
+select "hepp";
 
+drop table t1;
+
+# 1. Assignment of result set sorting
+sorted_results;
+ SELECT 2 as "my_col"
+UNION
+SELECT 1;
+
+--sorted_results
+SELECT 2 as "my_col" UNION SELECT 1;
+--sorted_results
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+
+# 2. Ensure that the table header will be not sorted into the result
+--sorted_results
+SELECT '2' as "3"
+UNION
+SELECT '1';
+
+# 3. "sorted_results" changes nothing when applied to a non query statement.
+sorted_results;
+ SET @a = 17;
+
+# 4. Show that "--sorted_results" affects the next statement only
+--sorted_results
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+SELECT 2 as "my_col"
+UNION
+SELECT 1;
+
+# 5. Ensure that "sorted_results" in combination with $variables works
+let $my_stmt=SELECT 2 as "my_col"
+UNION
+SELECT 1;
+--sorted_results
+eval $my_stmt;
+
+# 6. Ensure that "sorted_results " does not change the semantics of "--error ...."
+#    or the protocol output after such an expected failure
+--sorted_results
+--error 1146
+SELECT '2' as "my_col1",2 as "my_col2"
+UNION
+SELECT '1',1 from t2;
 
 --echo End of tests

--- 1.258/client/mysqltest.c	2007-05-16 16:30:25 +02:00
+++ 1.259/client/mysqltest.c	2007-05-16 17:19:35 +02:00
@@ -271,7 +271,7 @@ enum enum_commands {
   Q_EXEC, Q_DELIMITER,
   Q_DISABLE_ABORT_ON_ERROR, Q_ENABLE_ABORT_ON_ERROR,
   Q_DISPLAY_VERTICAL_RESULTS, Q_DISPLAY_HORIZONTAL_RESULTS,
-  Q_QUERY_VERTICAL, Q_QUERY_HORIZONTAL, Q_QUERY_SORTED,
+  Q_QUERY_VERTICAL, Q_QUERY_HORIZONTAL, Q_SORTED_RESULTS,
   Q_START_TIMER, Q_END_TIMER,
   Q_CHARACTER_SET, Q_DISABLE_PS_PROTOCOL, Q_ENABLE_PS_PROTOCOL,
   Q_DISABLE_RECONNECT, Q_ENABLE_RECONNECT,
@@ -341,7 +341,7 @@ const char *command_names[]=
   "horizontal_results",
   "query_vertical",
   "query_horizontal",
-  "query_sorted",
+  "sorted_results",
   "start_timer",
   "end_timer",
   "character_set",
@@ -6161,13 +6161,19 @@ int main(int argc, char **argv)
       case Q_DISPLAY_HORIZONTAL_RESULTS:
 	display_result_vertically= FALSE;
         break;
+      case Q_SORTED_RESULTS:
+        /*
+          Turn on sorting of result set, will be reset after next
+          command
+        */
+	display_result_sorted= TRUE;
+        break;
       case Q_LET: do_let(command); break;
       case Q_EVAL_RESULT:
         eval_result = 1; break;
       case Q_EVAL:
       case Q_QUERY_VERTICAL:
       case Q_QUERY_HORIZONTAL:
-      case Q_QUERY_SORTED:
 	if (command->query == command->query_buf)
         {
           /* Skip the first part of command, i.e query_xxx */
@@ -6179,7 +6185,6 @@ int main(int argc, char **argv)
       case Q_REAP:
       {
 	my_bool old_display_result_vertically= display_result_vertically;
-	my_bool old_display_result_sorted= display_result_sorted;
         /* Default is full query, both reap and send  */
         int flags= QUERY_REAP_FLAG | QUERY_SEND_FLAG;
 
@@ -6196,7 +6201,6 @@ int main(int argc, char **argv)
 
         /* Check for special property for this query */
         display_result_vertically|= (command->type == Q_QUERY_VERTICAL);
-        display_result_sorted= (command->type == Q_QUERY_SORTED);
 
 	if (save_file[0])
 	{
@@ -6209,7 +6213,6 @@ int main(int argc, char **argv)
 
         /* Restore settings */
 	display_result_vertically= old_display_result_vertically;
-	display_result_sorted= old_display_result_sorted;
 
 	break;
       }
@@ -6366,6 +6369,9 @@ int main(int argc, char **argv)
         the replace structures should be cleared
       */
       free_all_replace();
+
+      /* Also reset "sorted_results" */
+      display_result_sorted= FALSE;
     }
     last_command_executed= command_executed;
 
Thread
bk commit into 4.1 tree (msvensson:1.2653)msvensson16 May