The above query created a field of koi8r charset, not cp1251
Change:
CREATE TABLE a (a CHAR(1) CHARACTER SET utf8)
Length now means character length, not byte length.
The above creates a field that guarantees can store a multibyte value
1 character long. For utf8 the above creates a field that can store
3 bytes.
mysql-test/r/subselect.result:
test of union unlocking problem
mysql-test/t/subselect.test:
test of union unlocking problem
sql/sql_union.cc:
prohibit unlocking all tables by fake select execution
mysql-test/r/innodb.result:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
Code clean-up
sql_union.cc, union.test, union.result:
A fix for a bug #978.
This enables that NULL's can be entered into UNION's result set,
although first SELECT columns are NOT NULL.
This is also a start of fixing UNION's properly regarding type
acceptance.
sql_select.cc:
A commit for my second July SPRINT task
mysql-test/r/union.result:
A fix for a bug #978.
This enables that NULL's can be entered into UNION's result set,
although first SELECT columns are NOT NULL.
This is also a start of fixing UNION's properly regarding type
acceptance.
mysql-test/t/union.test:
A fix for a bug #978.
This enables that NULL's can be entered into UNION's result set,
although first SELECT columns are NOT NULL.
This is also a start of fixing UNION's properly regarding type
acceptance.
sql/sql_select.cc:
Code clean-up
sql/sql_union.cc:
Code clean-up
CREATE TABLE t1 (s1 CHAR(5) COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES ('Ü');
SELECT FIELD('ue',s1) FROM t1;
The above returned 0 in error.
Now 1 is returned.
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET latin1 COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES ('Ü');
INSERT INTO t1 VALUES ('ue');
SELECT DISTINCT s1 FROM t1;
The above returned two rows in error.
Now it returns one row, in latin1_german2_ci: Ü == ue
produced an error. This led to server crash in some cases, e.g.:
create table t7 (s1 char);
select * from t7
where concat(s1 collate latin1_general_ci,s1 collate latin1_swedish_ci)
= 'AA';
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
mysql-test/r/subselect.result:
merge
fixed test
mysql-test/t/subselect.test:
merge
fixed test
by MAX/MIN in some cases:
SELECT coercibility(max(s1)) from t1;
Subselect collation and derivation was not processed
correctly:
create table a select (select s1 from t1);
select * from t1 where s1 = (select s2 from t1);
(fixed BUG#943)
mysql-test/r/subselect.result:
test for bug 943
mysql-test/t/subselect.test:
test for bug 943
sql/item.cc:
bool field changed with enum
prevented finding references in item_list for non-SELECT st_select_lex
sql/sql_lex.cc:
bool field changed with enum
sql/sql_lex.h:
bool field changed with enum
sql/sql_parse.cc:
all subqueries and UNION parts marked as SELECT
sql/sql_yacc.yy:
bool field changed with enum
PRIMARY SELECT command st_select_lex marked as SELECT
removerd unused loop_id
mysql-test/r/subselect.result:
test of BUG#922
mysql-test/t/subselect.test:
test of BUG#922
sql/item.cc:
removerd unused loop_id
we need count HAVING clause elements, because agregate function can be present in it
sql/item.h:
removerd unused loop_id
sql/item_subselect.cc:
new name of field
sql/sql_derived.cc:
new name of field
sql/sql_lex.cc:
new name of field
sql/sql_lex.h:
new name of field
sql/sql_select.cc:
new name of field
sql/sql_union.cc:
new name of field
mysql-test/r/query_cache.result:
fixed charecter sets
new case sensetive test
mysql-test/t/query_cache.test:
fixed charecter sets
new case sensetive test
sql/sql_cache.cc:
query & table comparision should be case insensitive
The latter is misleading because differs from the syntax used for GRANT/REVOKE.
Fix up test result affected by error message edits.
mysql-test/r/grant_cache.result:
Fix up test result to match error message edit.
sql/share/czech/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/danish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/dutch/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/english/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/estonian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/french/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/german/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/greek/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/hungarian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/italian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/japanese/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/korean/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/norwegian-ny/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/norwegian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/polish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/portuguese/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/romanian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/russian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/serbian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/slovak/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/spanish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/swedish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/ukrainian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
ignorant about ssl_type attribute
sql/sql_acl.cc:
Now acl_getroot() honors ssl_type attribute even if we compile without openssl
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
and other replicate-*-table options in SHOW SLAVE STATUS.
Seems like it had not been done, so I push it now:
there's 4 new columns to SHOW SLAVE STATUS.
mysql-test/r/rpl000015.result:
Result update (more columns)
mysql-test/r/rpl_empty_master_crash.result:
Result update (more columns)
mysql-test/r/rpl_flush_log_loop.result:
Result update (more columns)
mysql-test/r/rpl_log.result:
Result update (more columns)
mysql-test/r/rpl_log_pos.result:
Result update (more columns)
mysql-test/r/rpl_redirect.result:
Result update (more columns)
mysql-test/r/rpl_replicate_do.result:
Result update (more columns)
mysql-test/r/rpl_rotate_logs.result:
Result update (more columns)
mysql-test/t/rpl_replicate_do.test:
Result update (more columns)
sql/slave.cc:
Print replicate_*_table options in SHOW SLAVE STATUS
sql/slave.h:
two functions to make a string of replicate_*_table lists.
error handling fixed
fetch_lengths made to work differently in embedded and client cases
include/mysql.h:
removed 'embedded' error containers - they're unnecessary now
added declarations for fetch_lengths to be 'virtual'
include/sql_common.h:
fetch_lengths declaration removed
libmysql/libmysql.c:
implementations for fetch_lengths to be 'virtual' added
libmysqld/lib_sql.cc:
error informations now is moved from thd->net to mysql-net
libmysqld/libmysqld.c:
error data is in mysql->net now
sql-common/client.c:
we have to return old fetch_lengths implementation for 'client' case
sql/protocol.cc:
handling of sqlstate for embedded library added
into eagle.mysql.r18.ru:/home/vva/work/BUG_663/mysql-4.1
sql/field_conv.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_insert.cc:
Undo warnings for single row inserts
mysql-test/t/warnings.test:
undo one row warning instead use sql_warnings=1
mysql-test/r/warnings.result:
Fix result file
tests/client_test.c:
test for timestamp bug (BR #819)
sql/sql_insert.cc:
Enable warnings by default for single value list
protocol
mysql-test/t/warnings.test:
Updated test for single value list insert warning
mysql-test/r/warnings.result:
Updated warnings results