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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
f55db178
Commit
f55db178
authored
Jun 23, 2003
by
ram@mysql.r18.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.r18.ru:/usr/home/ram/work/4.1.gis
parents
a89a7eb3
7b7892af
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
57 additions
and
34 deletions
+57
-34
scripts/Makefile.am
scripts/Makefile.am
+1
-1
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+41
-21
sql/sql_lex.cc
sql/sql_lex.cc
+13
-8
sql/sql_lex.h
sql/sql_lex.h
+1
-2
sql/sql_parse.cc
sql/sql_parse.cc
+1
-1
sql/sql_yacc.yy
sql/sql_yacc.yy
+0
-1
No files found.
scripts/Makefile.am
View file @
f55db178
...
...
@@ -62,7 +62,7 @@ EXTRA_DIST = $(EXTRA_SCRIPTS) \
mysqlaccess.conf
\
mysqlbug
pkgdata_DATA
=
fill_help_tables.sql mysql_fix_privilege_tables.sql
dist_
pkgdata_DATA
=
fill_help_tables.sql mysql_fix_privilege_tables.sql
# mysqlbug should be distributed built so that people can report build
# failures with it.
...
...
sql/item_cmpfunc.cc
View file @
f55db178
...
...
@@ -90,38 +90,58 @@ static bool convert_constant_item(Field *field, Item **item)
bool
Item_bool_func2
::
set_cmp_charset
(
CHARSET_INFO
*
cs1
,
enum
coercion
co1
,
CHARSET_INFO
*
cs2
,
enum
coercion
co2
)
{
if
(
(
cs1
==
&
my_charset_bin
)
||
(
cs2
==
&
my_charset_bin
)
)
if
(
cs1
==
&
my_charset_bin
||
cs2
==
&
my_charset_bin
)
{
cmp_charset
=
&
my_charset_bin
;
coercibility
=
co1
>
co2
?
co1
:
co2
;
return
0
;
}
if
((
co1
==
COER_NOCOLL
)
||
(
co2
==
COER_NOCOLL
))
return
1
;
if
(
!
my_charset_same
(
cs1
,
cs2
))
if
(
!
my_charset_same
(
cs1
,
cs2
))
{
/*
We do allow to use BLOBS together with character strings
BLOBS have more precedance
*/
if
((
co1
<=
co2
)
&&
(
cs1
==&
my_charset_bin
))
{
cmp_charset
=
cs1
;
coercibility
=
co1
;
}
else
if
((
co2
<=
co1
)
&&
(
cs2
==&
my_charset_bin
))
{
cmp_charset
=
cs2
;
coercibility
=
co2
;
}
else
{
cmp_charset
=
0
;
coercibility
=
COER_NOCOLL
;
return
1
;
if
(
co1
<
co2
)
}
}
else
if
(
co1
<
co2
)
{
cmp_charset
=
cs1
;
coercibility
=
co1
;
}
else
if
(
co2
<
co1
)
{
cmp_charset
=
cs2
;
else
// co1==co2
coercibility
=
co1
;
}
else
{
if
(
cs1
==
cs2
)
{
cmp_charset
=
cs1
;
coercibility
=
co1
;
}
else
{
if
(
co1
==
COER_COERCIBLE
)
{
CHARSET_INFO
*
c
;
if
((
c
=
get_charset_by_csname
(
cs1
->
csname
,
MY_CS_PRIMARY
,
MYF
(
0
))))
{
cmp_charset
=
c
;
return
0
;
}
}
return
1
;
coercibility
=
COER_NOCOLL
;
cmp_charset
=
0
;
return
(
co1
==
COER_EXPLICIT
)
?
1
:
0
;
}
}
return
0
;
...
...
sql/sql_lex.cc
View file @
f55db178
...
...
@@ -963,6 +963,8 @@ int yylex(void *arg, void *yythd)
void
st_select_lex_node
::
init_query
()
{
options
=
0
;
linkage
=
UNSPECIFIED_TYPE
;
no_table_names_allowed
=
uncacheable
=
dependent
=
0
;
ref_pointer_array
=
0
;
}
...
...
@@ -981,8 +983,8 @@ void st_select_lex_node::init_select()
void
st_select_lex_unit
::
init_query
()
{
linkage
=
GLOBAL_OPTIONS_TYPE
;
st_select_lex_node
::
init_query
();
linkage
=
GLOBAL_OPTIONS_TYPE
;
global_parameters
=
this
;
select_limit_cnt
=
HA_POS_ERROR
;
offset_limit_cnt
=
0
;
...
...
@@ -996,11 +998,10 @@ void st_select_lex_unit::init_query()
void
st_select_lex
::
init_query
()
{
st_select_lex_node
::
init_query
();
table_list
.
elements
=
0
;
table_list
.
first
=
0
;
table_list
.
next
=
(
byte
**
)
&
table_list
.
first
;
table_list
.
empty
();
item_list
.
empty
();
join
=
0
;
where
=
0
;
olap
=
UNSPECIFIED_OLAP_TYPE
;
having_fix_field
=
0
;
with_wild
=
0
;
...
...
@@ -1009,11 +1010,15 @@ void st_select_lex::init_query()
void
st_select_lex
::
init_select
()
{
st_select_lex_node
::
init_select
();
group_list
.
elements
=
0
;
group_list
.
first
=
0
;
group_list
.
next
=
(
byte
**
)
&
group_list
.
first
;
group_list
.
empty
();
type
=
db
=
db1
=
table1
=
db2
=
table2
=
0
;
having
=
0
;
group_list
.
empty
();
use_index_ptr
=
ignore_index_ptr
=
0
;
table_join_options
=
0
;
in_sum_expr
=
with_wild
=
0
;
options
=
0
;
where
=
having
=
0
;
braces
=
0
;
when_list
.
empty
();
expr_list
.
empty
();
interval_list
.
empty
();
...
...
sql/sql_lex.h
View file @
f55db178
...
...
@@ -215,8 +215,7 @@ public:
static
void
*
operator
new
(
size_t
size
)
{
// TODO: Change to alloc() and explicitely clear elements in constructors
return
(
void
*
)
sql_calloc
((
uint
)
size
);
return
(
void
*
)
sql_alloc
((
uint
)
size
);
}
static
void
operator
delete
(
void
*
ptr
,
size_t
size
)
{}
st_select_lex_node
()
:
linkage
(
UNSPECIFIED_TYPE
)
{}
...
...
sql/sql_parse.cc
View file @
f55db178
...
...
@@ -3590,7 +3590,7 @@ void mysql_init_multi_delete(LEX *lex)
lex
->
select_lex
.
select_limit
=
lex
->
unit
.
select_limit_cnt
=
HA_POS_ERROR
;
lex
->
auxilliary_table_list
=
lex
->
select_lex
.
table_list
;
lex
->
select_lex
.
init_quer
y
();
lex
->
select_lex
.
table_list
.
empt
y
();
}
...
...
sql/sql_yacc.yy
View file @
f55db178
...
...
@@ -3571,7 +3571,6 @@ delete:
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_DELETE;
lex->select_lex.options= 0;
lex->lock_option= lex->thd->update_lock_default;
lex->select_lex.init_order();
}
...
...
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