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
e05aa943
Commit
e05aa943
authored
May 18, 2007
by
msvensson@pilot.blaudden
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WL#2247 mysqltest: add option for sorting results
- Final touchups
parent
4998976d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
127 additions
and
35 deletions
+127
-35
client/mysqltest.c
client/mysqltest.c
+4
-4
mysql-test/r/mysqltest.result
mysql-test/r/mysqltest.result
+48
-6
mysql-test/t/mysqltest.test
mysql-test/t/mysqltest.test
+75
-25
No files found.
client/mysqltest.c
View file @
e05aa943
...
...
@@ -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_SORTED_RESULT
S
,
Q_QUERY_VERTICAL
,
Q_QUERY_HORIZONTAL
,
Q_SORTED_RESULT
,
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"
,
"sorted_result
s
"
,
"sorted_result"
,
"start_timer"
,
"end_timer"
,
"character_set"
,
...
...
@@ -6161,7 +6161,7 @@ int main(int argc, char **argv)
case
Q_DISPLAY_HORIZONTAL_RESULTS
:
display_result_vertically
=
FALSE
;
break
;
case
Q_SORTED_RESULT
S
:
case
Q_SORTED_RESULT
:
/*
Turn on sorting of result set, will be reset after next
command
...
...
@@ -6370,7 +6370,7 @@ int main(int argc, char **argv)
*/
free_all_replace
();
/* Also reset "sorted_result
s
" */
/* Also reset "sorted_result" */
display_result_sorted
=
FALSE
;
}
last_command_executed
=
command_executed
;
...
...
mysql-test/r/mysqltest.result
View file @
e05aa943
...
...
@@ -590,13 +590,35 @@ SELECT '1';
3
1
2
SET @a = 17;
SELECT 2 as "my_col"
CREATE TABLE t1( a CHAR);
SELECT * FROM t1;
a
DROP TABLE t1;
SELECT NULL as "my_col1",2 AS "my_col2"
UNION
SELECT 1;
my_col
1
2
SELECT NULL,1;
my_col1 my_col2
NULL 2
NULL 1
SELECT NULL as "my_col1",2 AS "my_col2"
UNION
SELECT NULL,1;
my_col1 my_col2
NULL 1
NULL 2
SELECT 2 as "my_col1",NULL AS "my_col2"
UNION
SELECT 1,NULL;
my_col1 my_col2
2 NULL
1 NULL
SELECT 2 as "my_col1",NULL AS "my_col2"
UNION
SELECT 1,NULL;
my_col1 my_col2
1 NULL
2 NULL
SET @a = 17;
SELECT 2 as "my_col"
UNION
SELECT 1;
...
...
@@ -613,4 +635,24 @@ SELECT '2' as "my_col1",2 as "my_col2"
UNION
SELECT '1',1 from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
SELECT '1' as "my_col1",2 as "my_col2"
UNION
SELECT '2',1;
my_col1 my_col2
# 1
# 2
CREATE TABLE t1 (f1 INT);
INSERT INTO t1 SET f1 = 1024;
INSERT INTO t1 SELECT f1 - 1 FROM t1;
INSERT INTO t1 SELECT f1 - 2 FROM t1;
INSERT INTO t1 SELECT f1 - 4 FROM t1;
INSERT INTO t1 SELECT f1 - 8 FROM t1;
INSERT INTO t1 SELECT f1 - 16 FROM t1;
INSERT INTO t1 SELECT f1 - 32 FROM t1;
INSERT INTO t1 SELECT f1 - 64 FROM t1;
INSERT INTO t1 SELECT f1 - 128 FROM t1;
INSERT INTO t1 SELECT f1 - 256 FROM t1;
INSERT INTO t1 SELECT f1 - 512 FROM t1;
SELECT * FROM t1;
DROP TABLE t1;
End of tests
mysql-test/t/mysqltest.test
View file @
e05aa943
...
...
@@ -1686,79 +1686,129 @@ EOF
--
exec
echo
"echo Some output; exit; echo Not this;"
|
$MYSQL_TEST
2
>&
1
# ----------------------------------------------------------------------------
# test for
query_sorted
# test for
sorted_result
# ----------------------------------------------------------------------------
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
;
--
sorted_result
s
--
sorted_result
select
*
from
t1
;
# Should not be sorted
select
*
from
t1
;
disable_result_log
;
sorted_result
s
;
sorted_result
;
select
*
from
t1
;
enable_result_log
;
--
sorted_result
s
--
sorted_result
select
''
;
sorted_result
s
;
sorted_result
;
select
"h"
;
--
sorted_result
s
--
sorted_result
select
"he"
;
--
sorted_result
s
--
sorted_result
select
"hep"
;
--
sorted_result
s
--
sorted_result
select
"hepp"
;
drop
table
t1
;
# 1. Assignment of result set sorting
sorted_result
s
;
sorted_result
;
SELECT
2
as
"my_col"
UNION
SELECT
1
;
--
sorted_result
s
#
--
sorted_result
SELECT
2
as
"my_col"
UNION
SELECT
1
;
--
sorted_result
s
--
sorted_result
SELECT
2
as
"my_col"
UNION
SELECT
1
;
# 2. Ensure that the table header will be not sorted into the result
--
sorted_result
s
--
sorted_result
SELECT
'2'
as
"3"
UNION
SELECT
'1'
;
# 3. "sorted_results" changes nothing when applied to a non query statement.
sorted_results
;
SET
@
a
=
17
;
# 3. Ensure that an empty result set does not cause problems
CREATE
TABLE
t1
(
a
CHAR
);
--
sorted_result
SELECT
*
FROM
t1
;
DROP
TABLE
t1
;
# 4. Show that "--sorted_results" affects the next statement only
--
sorted_results
SELECT
2
as
"my_col"
# 4. Ensure that NULL values within the result set do not cause problems
SELECT
NULL
as
"my_col1"
,
2
AS
"my_col2"
UNION
SELECT
1
;
SELECT
NULL
,
1
;
--
sorted_result
SELECT
NULL
as
"my_col1"
,
2
AS
"my_col2"
UNION
SELECT
NULL
,
1
;
#
SELECT
2
as
"my_col1"
,
NULL
AS
"my_col2"
UNION
SELECT
1
,
NULL
;
--
sorted_result
SELECT
2
as
"my_col1"
,
NULL
AS
"my_col2"
UNION
SELECT
1
,
NULL
;
# 5. "sorted_result" changes nothing when applied to a non query statement.
sorted_result
;
SET
@
a
=
17
;
#
# 6. Show that "sorted_result;" before the "SET @a = 17;" above does not affect
# the now following query.
SELECT
2
as
"my_col"
UNION
SELECT
1
;
#
5. Ensure that "sorted_results
" in combination with $variables works
#
7. Ensure that "sorted_result
" in combination with $variables works
let
$my_stmt
=
SELECT
2
as
"my_col"
UNION
SELECT
1
;
--
sorted_result
s
--
sorted_result
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_result
s
#
8. Ensure that "sorted_result " does not change the semantics of
#
"--error ...."
or the protocol output after such an expected failure
--
sorted_result
--
error
1146
SELECT
'2'
as
"my_col1"
,
2
as
"my_col2"
UNION
SELECT
'1'
,
1
from
t2
;
# 9. Ensure that several result formatting options including "sorted_result"
# - have all an effect
# - "--sorted_result" does not need to be direct before the statement
# - Row sorting is applied after modification of the column content
--
sorted_result
--
replace_column
1
#
SELECT
'1'
as
"my_col1"
,
2
as
"my_col2"
UNION
SELECT
'2'
,
1
;
# 10. Ensure that at least 1024 rows within a result set do not cause problems
#
CREATE
TABLE
t1
(
f1
INT
);
INSERT
INTO
t1
SET
f1
=
1024
;
INSERT
INTO
t1
SELECT
f1
-
1
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
2
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
4
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
8
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
16
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
32
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
64
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
128
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
256
FROM
t1
;
INSERT
INTO
t1
SELECT
f1
-
512
FROM
t1
;
--
disable_result_log
--
sorted_result
SELECT
*
FROM
t1
;
--
enable_result_log
DROP
TABLE
t1
;
--
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