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
bfc7394e
Commit
bfc7394e
authored
Sep 17, 2001
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed bug in UNION when doing UNION with the same tables
parent
fe1753de
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
23 additions
and
8 deletions
+23
-8
myisam/mi_extra.c
myisam/mi_extra.c
+1
-0
mysql-test/r/union.result
mysql-test/r/union.result
+6
-2
mysql-test/t/union.test
mysql-test/t/union.test
+2
-1
sql/sql_base.cc
sql/sql_base.cc
+8
-1
sql/sql_parse.cc
sql/sql_parse.cc
+3
-1
sql/sql_union.cc
sql/sql_union.cc
+1
-1
sql/table.h
sql/table.h
+1
-0
tools/Makefile.am
tools/Makefile.am
+1
-2
No files found.
myisam/mi_extra.c
View file @
bfc7394e
...
...
@@ -34,6 +34,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function)
int
error
=
0
;
MYISAM_SHARE
*
share
=
info
->
s
;
DBUG_ENTER
(
"mi_extra"
);
DBUG_PRINT
(
"enter"
,(
"function: %d"
,(
int
)
function
));
switch
(
function
)
{
case
HA_EXTRA_RESET
:
...
...
mysql-test/r/union.result
View file @
bfc7394e
...
...
@@ -62,7 +62,11 @@ t2 ALL NULL NULL NULL NULL 4
pseudo
dekad
joce
pseudo1
joce
testtt
tsestset
pseudo pseudo1 same
dekad joce 1
joce testtt 1
joce tsestset 1
joce testtt 1
dekad joce 1
mysql-test/t/union.test
View file @
bfc7394e
...
...
@@ -60,5 +60,6 @@ CREATE TABLE t1 (
)
TYPE
=
MyISAM
;
INSERT
INTO
t1
(
pseudo
,
pseudo1
,
same
)
VALUES
(
'joce'
,
'testtt'
,
1
),(
'joce'
,
'tsestset'
,
1
),(
'dekad'
,
'joce'
,
1
);
SELECT
pseudo
FROM
t1
WHERE
pseudo1
=
'joce'
UNION
SELECT
pseudo
FROM
t1
WHERE
pseudo
=
'joce'
;
SELECT
*
FROM
t1
WHERE
pseudo1
=
'joce'
UNION
SELECT
*
FROM
t1
WHERE
pseudo
=
'joce'
;
SELECT
pseudo1
FROM
t1
WHERE
pseudo1
=
'joce'
UNION
SELECT
pseudo1
FROM
t1
WHERE
pseudo
=
'joce'
;
SELECT
*
FROM
t1
WHERE
pseudo1
=
'joce'
UNION
SELECT
*
FROM
t1
WHERE
pseudo
=
'joce'
order
by
pseudo
desc
;
drop
table
t1
;
sql/sql_base.cc
View file @
bfc7394e
...
...
@@ -1590,7 +1590,8 @@ Field *find_field_in_table(THD *thd,TABLE *table,const char *name,uint length,
else
thd
->
dupp_field
=
field
;
}
if
(
check_grants
&&
!
thd
->
master_access
&&
check_grant_column
(
thd
,
table
,
name
,
length
))
if
(
check_grants
&&
!
thd
->
master_access
&&
check_grant_column
(
thd
,
table
,
name
,
length
))
return
WRONG_GRANT
;
return
field
;
}
...
...
@@ -1808,6 +1809,12 @@ bool setup_tables(TABLE_LIST *tables)
DBUG_RETURN
(
1
);
table
->
keys_in_use_for_query
&=
~
map
;
}
if
(
table_list
->
shared
)
{
/* Clear query_id that may have been set by previous select */
for
(
Field
**
ptr
=
table
->
field
;
*
ptr
;
ptr
++
)
(
*
ptr
)
->
query_id
=
0
;
}
}
if
(
tablenr
>
MAX_TABLES
)
{
...
...
sql/sql_parse.cc
View file @
bfc7394e
...
...
@@ -2921,8 +2921,10 @@ static bool create_total_list(THD *thd, LEX *lex, TABLE_LIST **result)
}
*
new_table_list
=
cursor
;
new_table_list
=
&
cursor
->
next
;
*
new_table_list
=
0
;
// end result list
*
new_table_list
=
0
;
// end result list
}
else
aux
->
shared
=
1
;
// Mark that it's used twice
aux
->
table
=
(
TABLE
*
)
cursor
;
}
}
...
...
sql/sql_union.cc
View file @
bfc7394e
...
...
@@ -37,7 +37,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
int
res
;
DBUG_ENTER
(
"mysql_union"
);
/* Fix tables
--to-be-unioned-from
list to point at opened tables */
/* Fix tables
'to-be-unioned-from'
list to point at opened tables */
for
(
sl
=&
lex
->
select_lex
;
sl
;
sl
=
sl
->
next
)
{
for
(
TABLE_LIST
*
cursor
=
(
TABLE_LIST
*
)
sl
->
table_list
.
first
;
...
...
sql/table.h
View file @
bfc7394e
...
...
@@ -145,6 +145,7 @@ typedef struct st_table_list {
uint
outer_join
;
/* Which join type */
bool
straight
;
/* optimize with prev table */
bool
updating
;
/* for replicate-do/ignore table */
bool
shared
;
/* Used twice in union */
}
TABLE_LIST
;
typedef
struct
st_open_table_list
...
...
tools/Makefile.am
View file @
bfc7394e
INCLUDES
=
@MT_INCLUDES@
-I
$(srcdir)
/../include
\
$(openssl_includes)
-I
../include
LIBS
=
@openssl_libs@
LDADD
=
@CLIENT_EXTRA_LDFLAGS@ ../libmysql_r/libmysqlclient_r.la
LDADD
=
@CLIENT_EXTRA_LDFLAGS@ ../libmysql_r/libmysqlclient_r.la @openssl_libs@
bin_PROGRAMS
=
mysqlmanager
mysqlmanager_SOURCES
=
mysqlmanager.c
mysqlmanager_DEPENDENCIES
=
$(LIBRARIES)
$(pkglib_LTLIBRARIES)
...
...
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