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
3f45e537
Commit
3f45e537
authored
Aug 27, 2004
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1-ndb
parents
ff136de4
00a11f79
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
115 additions
and
45 deletions
+115
-45
client/mysql.cc
client/mysql.cc
+7
-7
cmd-line-utils/libedit/history.c
cmd-line-utils/libedit/history.c
+1
-9
include/mysqld_error.h
include/mysqld_error.h
+2
-1
mysql-test/r/ctype_create.result
mysql-test/r/ctype_create.result
+8
-0
mysql-test/r/ndb_autodiscover.result
mysql-test/r/ndb_autodiscover.result
+2
-2
mysql-test/t/ctype_create.test
mysql-test/t/ctype_create.test
+12
-0
mysql-test/t/ndb_autodiscover.test
mysql-test/t/ndb_autodiscover.test
+1
-1
ndb/src/ndbapi/NdbBlob.cpp
ndb/src/ndbapi/NdbBlob.cpp
+4
-3
scripts/mysql_create_system_tables.sh
scripts/mysql_create_system_tables.sh
+5
-5
sql/share/czech/errmsg.txt
sql/share/czech/errmsg.txt
+1
-0
sql/share/danish/errmsg.txt
sql/share/danish/errmsg.txt
+1
-0
sql/share/dutch/errmsg.txt
sql/share/dutch/errmsg.txt
+1
-0
sql/share/english/errmsg.txt
sql/share/english/errmsg.txt
+1
-0
sql/share/estonian/errmsg.txt
sql/share/estonian/errmsg.txt
+1
-0
sql/share/french/errmsg.txt
sql/share/french/errmsg.txt
+1
-0
sql/share/german/errmsg.txt
sql/share/german/errmsg.txt
+1
-0
sql/share/greek/errmsg.txt
sql/share/greek/errmsg.txt
+1
-0
sql/share/hungarian/errmsg.txt
sql/share/hungarian/errmsg.txt
+1
-0
sql/share/italian/errmsg.txt
sql/share/italian/errmsg.txt
+1
-0
sql/share/japanese/errmsg.txt
sql/share/japanese/errmsg.txt
+1
-0
sql/share/korean/errmsg.txt
sql/share/korean/errmsg.txt
+1
-0
sql/share/norwegian-ny/errmsg.txt
sql/share/norwegian-ny/errmsg.txt
+1
-0
sql/share/norwegian/errmsg.txt
sql/share/norwegian/errmsg.txt
+1
-0
sql/share/polish/errmsg.txt
sql/share/polish/errmsg.txt
+1
-0
sql/share/portuguese/errmsg.txt
sql/share/portuguese/errmsg.txt
+1
-0
sql/share/romanian/errmsg.txt
sql/share/romanian/errmsg.txt
+1
-0
sql/share/russian/errmsg.txt
sql/share/russian/errmsg.txt
+1
-0
sql/share/serbian/errmsg.txt
sql/share/serbian/errmsg.txt
+1
-0
sql/share/slovak/errmsg.txt
sql/share/slovak/errmsg.txt
+1
-0
sql/share/spanish/errmsg.txt
sql/share/spanish/errmsg.txt
+1
-0
sql/share/swedish/errmsg.txt
sql/share/swedish/errmsg.txt
+1
-0
sql/share/ukrainian/errmsg.txt
sql/share/ukrainian/errmsg.txt
+1
-0
sql/sql_yacc.yy
sql/sql_yacc.yy
+50
-17
No files found.
client/mysql.cc
View file @
3f45e537
...
...
@@ -1670,15 +1670,15 @@ static int com_server_help(String *buffer __attribute__((unused)),
if
(
num_fields
==
2
)
{
put_info
(
"Many help items for your request exist"
,
INFO_INFO
);
put_info
(
"
For more specific request please type 'help <item>'
where item is one of next"
,
INFO_INFO
);
put_info
(
"
To make a more specific request, please type 'help <item>',
\n
where item is one of next"
,
INFO_INFO
);
num_name
=
0
;
num_cat
=
1
;
last_char
=
'_'
;
}
else
if
((
cur
=
mysql_fetch_row
(
result
)))
{
tee_fprintf
(
PAGER
,
"You asked help about help category:
\"
%s
\"\n
"
,
cur
[
0
]);
put_info
(
"For
a more information type 'help <item>'
where item is one of the following"
,
INFO_INFO
);
tee_fprintf
(
PAGER
,
"You asked
for
help about help category:
\"
%s
\"\n
"
,
cur
[
0
]);
put_info
(
"For
more information, type 'help <item>',
where item is one of the following"
,
INFO_INFO
);
num_name
=
1
;
num_cat
=
2
;
print_help_item
(
&
cur
,
1
,
2
,
&
last_char
);
...
...
@@ -1692,7 +1692,7 @@ static int com_server_help(String *buffer __attribute__((unused)),
else
{
put_info
(
"
\n
Nothing found"
,
INFO_INFO
);
put_info
(
"Please try to run 'help contents' for list of all accessible topics
\n
"
,
INFO_INFO
);
put_info
(
"Please try to run 'help contents' for
a
list of all accessible topics
\n
"
,
INFO_INFO
);
}
}
...
...
@@ -1711,9 +1711,9 @@ com_help(String *buffer __attribute__((unused)),
if
(
help_arg
)
return
com_server_help
(
buffer
,
line
,
help_arg
+
1
);
put_info
(
"
\n
For the complete MySQL Manual online visit:
\n
http://www.mysql.com/documentation
\n
"
,
INFO_INFO
);
put_info
(
"For info on technical support from MySQL developers visit:
\n
http://www.mysql.com/support
\n
"
,
INFO_INFO
);
put_info
(
"For info on MySQL books, utilities, consultants, etc. visit:
\n
http://www.mysql.com/portal
\n
"
,
INFO_INFO
);
put_info
(
"
\n
For the complete MySQL Manual online
,
visit:
\n
http://www.mysql.com/documentation
\n
"
,
INFO_INFO
);
put_info
(
"For info on technical support from MySQL developers
,
visit:
\n
http://www.mysql.com/support
\n
"
,
INFO_INFO
);
put_info
(
"For info on MySQL books, utilities, consultants, etc.
,
visit:
\n
http://www.mysql.com/portal
\n
"
,
INFO_INFO
);
put_info
(
"List of all MySQL commands:"
,
INFO_INFO
);
if
(
!
named_cmds
)
put_info
(
"Note that all text commands must be first on line and end with ';'"
,
INFO_INFO
);
...
...
cmd-line-utils/libedit/history.c
View file @
3f45e537
...
...
@@ -661,12 +661,6 @@ history_load(History *h, const char *fname)
if
((
fp
=
fopen
(
fname
,
"r"
))
==
NULL
)
return
(
i
);
if
((
line
=
fgetln
(
fp
,
&
sz
))
==
NULL
)
goto
done
;
if
(
strncmp
(
line
,
hist_cookie
,
sz
)
!=
0
)
goto
done
;
ptr
=
h_malloc
(
max_size
=
1024
);
if
(
ptr
==
NULL
)
goto
done
;
...
...
@@ -720,8 +714,6 @@ history_save(History *h, const char *fname)
if
(
fchmod
(
fileno
(
fp
),
S_IRUSR
|
S_IWUSR
)
==
-
1
)
goto
done
;
if
(
fputs
(
hist_cookie
,
fp
)
==
EOF
)
goto
done
;
ptr
=
h_malloc
(
max_size
=
1024
);
if
(
ptr
==
NULL
)
goto
done
;
...
...
@@ -740,7 +732,7 @@ history_save(History *h, const char *fname)
ptr
=
nptr
;
}
(
void
)
strvis
(
ptr
,
ev
.
str
,
VIS_WHITE
);
(
void
)
fprintf
(
fp
,
"%s
\n
"
,
p
tr
);
(
void
)
fprintf
(
fp
,
"%s
\n
"
,
ev
.
s
tr
);
}
oomem:
h_free
((
ptr_t
)
ptr
);
...
...
include/mysqld_error.h
View file @
3f45e537
...
...
@@ -318,4 +318,5 @@
#define ER_WARN_INVALID_TIMESTAMP 1299
#define ER_INVALID_CHARACTER_STRING 1300
#define ER_WARN_ALLOWED_PACKET_OVERFLOWED 1301
#define ER_ERROR_MESSAGES 302
#define ER_CONFLICTING_DECLARATIONS 1302
#define ER_ERROR_MESSAGES 303
mysql-test/r/ctype_create.result
View file @
3f45e537
...
...
@@ -54,4 +54,12 @@ t1 CREATE TABLE `t1` (
`a` char(10) collate latin1_german1_ci default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci
DROP TABLE t1;
create table t1 (a char) character set latin1 character set latin2;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET latin2'
create table t1 (a char) character set latin1 collate latin2_bin;
ERROR 42000: COLLATION 'latin2_bin' is not valid for CHARACTER SET 'latin1'
create database d1 default character set latin1 character set latin2;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET latin2'
create database d1 default character set latin1 collate latin2_bin;
ERROR 42000: COLLATION 'latin2_bin' is not valid for CHARACTER SET 'latin1'
DROP DATABASE mysqltest1;
mysql-test/r/ndb_autodiscover.result
View file @
3f45e537
...
...
@@ -35,10 +35,10 @@ update t1 set name="Autodiscover" where id = 2;
show status like 'handler_discover%';
Variable_name Value
Handler_discover 4
select * from t1 order by
name
;
select * from t1 order by
id
;
id name
2 Autodiscover
1 Autodiscover
2 Autodiscover
3 Discover 3
show status like 'handler_discover%';
Variable_name Value
...
...
mysql-test/t/ctype_create.test
View file @
3f45e537
...
...
@@ -71,6 +71,18 @@ SHOW CREATE TABLE t1;
DROP
TABLE
t1
;
#
# Bug#
# CREATE TABLE and CREATE DATABASE didn't fail in some cases
#
--
error
1302
create
table
t1
(
a
char
)
character
set
latin1
character
set
latin2
;
--
error
1253
create
table
t1
(
a
char
)
character
set
latin1
collate
latin2_bin
;
--
error
1302
create
database
d1
default
character
set
latin1
character
set
latin2
;
--
error
1253
create
database
d1
default
character
set
latin1
collate
latin2_bin
;
#
#
DROP
DATABASE
mysqltest1
;
mysql-test/t/ndb_autodiscover.test
View file @
3f45e537
...
...
@@ -50,7 +50,7 @@ flush tables;
system
rm
var
/
master
-
data
/
test
/
t1
.
frm
;
update
t1
set
name
=
"Autodiscover"
where
id
=
2
;
show
status
like
'handler_discover%'
;
select
*
from
t1
order
by
name
;
select
*
from
t1
order
by
id
;
show
status
like
'handler_discover%'
;
#
...
...
ndb/src/ndbapi/NdbBlob.cpp
View file @
3f45e537
...
...
@@ -145,6 +145,7 @@ NdbBlob::init()
theNdbOp
=
NULL
;
theTable
=
NULL
;
theAccessTable
=
NULL
;
theBlobTable
=
NULL
;
theColumn
=
NULL
;
theFillChar
=
0
;
theInlineSize
=
0
;
...
...
@@ -1028,9 +1029,9 @@ NdbBlob::atPrepare(NdbConnection* aCon, NdbOperation* anOp, const NdbColumnImpl*
// sanity check
assert
((
NDB_BLOB_HEAD_SIZE
<<
2
)
==
sizeof
(
Head
));
assert
(
theColumn
->
m_attrSize
*
theColumn
->
m_arraySize
==
sizeof
(
Head
)
+
theInlineSize
);
const
NdbDictionary
::
Table
*
bt
;
const
NdbDictionary
::
Column
*
bc
;
if
(
thePartSize
>
0
)
{
const
NdbDictionary
::
Table
*
bt
=
NULL
;
const
NdbDictionary
::
Column
*
bc
=
NULL
;
if
(
theStripeSize
==
0
||
(
bt
=
theColumn
->
getBlobTable
())
==
NULL
||
(
bc
=
bt
->
getColumn
(
"DATA"
))
==
NULL
||
...
...
@@ -1039,8 +1040,8 @@ NdbBlob::atPrepare(NdbConnection* aCon, NdbOperation* anOp, const NdbColumnImpl*
setErrorCode
(
ErrTable
);
return
-
1
;
}
theBlobTable
=
&
NdbTableImpl
::
getImpl
(
*
bt
);
}
theBlobTable
=
&
NdbTableImpl
::
getImpl
(
*
bt
);
// buffers
theKeyBuf
.
alloc
(
theTable
->
m_sizeOfKeysInWords
<<
2
);
theAccessKeyBuf
.
alloc
(
theAccessTable
->
m_sizeOfKeysInWords
<<
2
);
...
...
scripts/mysql_create_system_tables.sh
View file @
3f45e537
...
...
@@ -231,11 +231,11 @@ then
c_ht
=
"
$c_ht
CREATE TABLE help_topic ("
c_ht
=
"
$c_ht
help_topic_id int unsigned not null,"
c_ht
=
"
$c_ht
name varchar(64) not null,"
c_ht
=
"
$c_ht
name
n
varchar(64) not null,"
c_ht
=
"
$c_ht
help_category_id smallint unsigned not null,"
c_ht
=
"
$c_ht
description text not null,"
c_ht
=
"
$c_ht
example text not null,"
c_ht
=
"
$c_ht
url varchar(128) not null,"
c_ht
=
"
$c_ht
url
n
varchar(128) not null,"
c_ht
=
"
$c_ht
primary key (help_topic_id),"
c_ht
=
"
$c_ht
unique index (name)"
c_ht
=
"
$c_ht
)"
...
...
@@ -252,9 +252,9 @@ then
c_hc
=
"
$c_hc
CREATE TABLE help_category ("
c_hc
=
"
$c_hc
help_category_id smallint unsigned not null,"
c_hc
=
"
$c_hc
name varchar(64) not null,"
c_hc
=
"
$c_hc
name
n
varchar(64) not null,"
c_hc
=
"
$c_hc
parent_category_id smallint unsigned null,"
c_hc
=
"
$c_hc
url varchar(128) not null,"
c_hc
=
"
$c_hc
url
n
varchar(128) not null,"
c_hc
=
"
$c_hc
primary key (help_category_id),"
c_hc
=
"
$c_hc
unique index (name)"
c_hc
=
"
$c_hc
)"
...
...
@@ -269,7 +269,7 @@ then
c_hk
=
"
$c_hk
CREATE TABLE help_keyword ("
c_hk
=
"
$c_hk
help_keyword_id int unsigned not null,"
c_hk
=
"
$c_hk
name varchar(64) not null,"
c_hk
=
"
$c_hk
name
n
varchar(64) not null,"
c_hk
=
"
$c_hk
primary key (help_keyword_id),"
c_hk
=
"
$c_hk
unique index (name)"
c_hk
=
"
$c_hk
)"
...
...
sql/share/czech/errmsg.txt
View file @
3f45e537
...
...
@@ -314,3 +314,4 @@ character-set=latin2
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/danish/errmsg.txt
View file @
3f45e537
...
...
@@ -308,3 +308,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/dutch/errmsg.txt
View file @
3f45e537
...
...
@@ -316,3 +316,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/english/errmsg.txt
View file @
3f45e537
...
...
@@ -305,3 +305,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/estonian/errmsg.txt
View file @
3f45e537
...
...
@@ -310,3 +310,4 @@ character-set=latin7
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/french/errmsg.txt
View file @
3f45e537
...
...
@@ -305,3 +305,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/german/errmsg.txt
View file @
3f45e537
...
...
@@ -317,3 +317,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/greek/errmsg.txt
View file @
3f45e537
...
...
@@ -305,3 +305,4 @@ character-set=greek
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/hungarian/errmsg.txt
View file @
3f45e537
...
...
@@ -307,3 +307,4 @@ character-set=latin2
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/italian/errmsg.txt
View file @
3f45e537
...
...
@@ -305,3 +305,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/japanese/errmsg.txt
View file @
3f45e537
...
...
@@ -307,3 +307,4 @@ character-set=ujis
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/korean/errmsg.txt
View file @
3f45e537
...
...
@@ -305,3 +305,4 @@ character-set=euckr
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/norwegian-ny/errmsg.txt
View file @
3f45e537
...
...
@@ -307,3 +307,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/norwegian/errmsg.txt
View file @
3f45e537
...
...
@@ -307,3 +307,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/polish/errmsg.txt
View file @
3f45e537
...
...
@@ -309,3 +309,4 @@ character-set=latin2
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/portuguese/errmsg.txt
View file @
3f45e537
...
...
@@ -306,3 +306,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/romanian/errmsg.txt
View file @
3f45e537
...
...
@@ -309,3 +309,4 @@ character-set=latin2
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/russian/errmsg.txt
View file @
3f45e537
...
...
@@ -307,3 +307,4 @@ character-set=koi8r
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/serbian/errmsg.txt
View file @
3f45e537
...
...
@@ -311,3 +311,4 @@ character-set=cp1250
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/slovak/errmsg.txt
View file @
3f45e537
...
...
@@ -313,3 +313,4 @@ character-set=latin2
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/spanish/errmsg.txt
View file @
3f45e537
...
...
@@ -307,3 +307,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/swedish/errmsg.txt
View file @
3f45e537
...
...
@@ -305,3 +305,4 @@ character-set=latin1
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/share/ukrainian/errmsg.txt
View file @
3f45e537
...
...
@@ -310,3 +310,4 @@ character-set=koi8u
"Invalid TIMESTAMP value in column '%s' at row %ld",
"Invalid %s character string: '%.64s'",
"Result of %s() was larger than max_allowed_packet (%ld) - truncated"
"Conflicting declarations: '%s' and '%s'"
sql/sql_yacc.yy
View file @
3f45e537
...
...
@@ -1049,7 +1049,10 @@ create:
lex->col_list.empty();
}
| CREATE DATABASE opt_if_not_exists ident
{ Lex->create_info.default_table_charset=NULL; }
{
Lex->create_info.default_table_charset= NULL;
Lex->create_info.used_fields= 0;
}
opt_create_database_options
{
LEX *lex=Lex;
...
...
@@ -1136,11 +1139,8 @@ create_database_options:
| create_database_options create_database_option {};
create_database_option:
opt_default COLLATE_SYM collation_name_or_default
{ Lex->create_info.default_table_charset=$3; }
| opt_default charset charset_name_or_default
{ Lex->create_info.default_table_charset=$3; }
;
default_collation {}
| default_charset {};
opt_table_options:
/* empty */ { $$= 0; }
...
...
@@ -1200,21 +1200,49 @@ create_table_option:
table_list->next=0;
lex->create_info.used_fields|= HA_CREATE_USED_UNION;
}
| opt_default charset opt_equal charset_name_or_default
{
Lex->create_info.default_table_charset= $4;
Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
}
| opt_default COLLATE_SYM opt_equal collation_name_or_default
{
Lex->create_info.default_table_charset= $4;
Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
}
| default_charset
| default_collation
| INSERT_METHOD opt_equal merge_insert_types { Lex->create_info.merge_insert_method= $3; Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;}
| DATA_SYM DIRECTORY_SYM opt_equal TEXT_STRING_sys
{ Lex->create_info.data_file_name= $4.str; }
| INDEX_SYM DIRECTORY_SYM opt_equal TEXT_STRING_sys { Lex->create_info.index_file_name= $4.str; };
default_charset:
opt_default charset opt_equal charset_name_or_default
{
HA_CREATE_INFO *cinfo= &Lex->create_info;
if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
cinfo->default_table_charset && $4 &&
!my_charset_same(cinfo->default_table_charset,$4))
{
char cs1[32];
char cs2[32];
my_snprintf(cs1, sizeof(cs1), "CHARACTER SET %s",
cinfo->default_table_charset->csname);
my_snprintf(cs2, sizeof(cs2), "CHARACTER SET %s", $4->csname);
net_printf(YYTHD, ER_CONFLICTING_DECLARATIONS, cs1, cs2);
YYABORT;
}
Lex->create_info.default_table_charset= $4;
Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
};
default_collation:
opt_default COLLATE_SYM opt_equal collation_name_or_default
{
HA_CREATE_INFO *cinfo= &Lex->create_info;
if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
cinfo->default_table_charset && $4 &&
!my_charset_same(cinfo->default_table_charset,$4))
{
net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH,
$4->name, cinfo->default_table_charset->csname);
YYABORT;
}
Lex->create_info.default_table_charset= $4;
Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
};
storage_engines:
ident_or_text
{
...
...
@@ -1824,7 +1852,12 @@ alter:
}
alter_list
{}
| ALTER DATABASE ident opt_create_database_options
| ALTER DATABASE ident
{
Lex->create_info.default_table_charset= NULL;
Lex->create_info.used_fields= 0;
}
opt_create_database_options
{
LEX *lex=Lex;
lex->sql_command=SQLCOM_ALTER_DB;
...
...
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