Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
d5676f2f
Commit
d5676f2f
authored
May 16, 2007
by
msvensson@pilot.blaudden
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WL#2247 mysqltest: add option for sorting results
- Change from "query_sorted <query>" to "sorted_results"
parent
8e9149ea
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
128 additions
and
13 deletions
+128
-13
client/mysqltest.c
client/mysqltest.c
+12
-6
mysql-test/r/mysqltest.result
mysql-test/r/mysqltest.result
+52
-0
mysql-test/t/mysqltest.test
mysql-test/t/mysqltest.test
+64
-7
No files found.
client/mysqltest.c
View file @
d5676f2f
...
...
@@ -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
;
...
...
mysql-test/r/mysqltest.result
View file @
d5676f2f
...
...
@@ -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
mysql-test/t/mysqltest.test
View file @
d5676f2f
...
...
@@ -1693,15 +1693,72 @@ create table t1( a int, b char(255), c timestamp);
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment