into zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__bug17667
include/my_sys.h:
Auto merged
mysys/Makefile.am:
Auto merged
tests/Makefile.am:
Auto merged
our sprintf()-alike in sync with our fprintf()-alike features.
strings/my_vsnprintf.c:
Advance the destination pointer properly.
Also, pay attention to the "n" in snprintf() -- never write too much.
This will make charset code easier to understand
include/m_ctype.h:
Fix spelling in comments
mysql-test/t/cast.test:
Fix spelling in comments
mysql-test/t/query_cache.test:
Fix spelling in comments
sql/sql_string.cc:
Fix spelling in comments
strings/CHARSET_INFO.txt:
Fix spelling in comments
Bug#17667: An attacker has the opportunity to bypass query logging.
This adds a new, local-only printf format specifier to our *printf functions
that allows us to print known-size buffers that must not be interpreted as
NUL-terminated "strings."
It uses this format-specifier to print to the log, thus fixing this
problem.
include/my_sys.h:
Add prototype for my_memmem() .
mysys/Makefile.am:
Add reference to new file, my_memmem.c
mysys/mf_iocache2.c:
Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s",
but unlike the string-indicator, it requires the width and doesn't stop printing
at NUL characters.
Also, simplify the code a bit.
TODO: This code should be unified with the strings/my_vnsprintf.c code in
the future.
sql/sql_parse.cc:
The query is not a C-string, but is a sized buffer, containing any character
at all, which may include NUL characters.
strings/my_vsnprintf.c:
Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s",
but unlike the string-indicator, it requires the width and doesn't stop printing
at NUL characters.
tests/Makefile.am:
We may need some of our local functions.
tests/mysql_client_test.c:
Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s",
but unlike the string-indicator, it requires the width and doesn't stop printing
at NUL characters.
mysql-test/t/mysql_client_test.opt:
New BitKeeper file ``mysql-test/t/mysql_client_test.opt''
Add '--log' server parameter.
mysys/my_memmem.c:
New BitKeeper file ``mysys/my_memmem.c''
Implement memmem, a black-box work-alike of the GNU memmem(), which functions
like strstr() but for arbitrary blocks of memory.
It was impossible to create some table names on Windows
(e.g. LPT1, AUX, COM1, etc).
Fixed to pad dangerous names with thee "at" signs
(e.g. LPT1@@@, AUX@@@, COM1@@@, and so on).
include/my_sys.h:
Adding new function declaration
mysys/my_access.c:
Adding new function check_if_legal_tablename().
It works almost like check_if_legal_filename(),
but accepts a table name without extension and path,
and does not check "CLOCK$".
sql/sql_table.cc:
Check if a dangerous table name and append @@@
strings/ctype-utf8.c:
Treat "@@@" sequence in a table name as a end-of-line.
mysql-test/r/ctype_filename.result:
New BitKeeper file ``mysql-test/r/ctype_filename.result''
mysql-test/t/ctype_filename.test:
New BitKeeper file ``mysql-test/t/ctype_filename.test''
ExtractValue didn't understand tag and attribute names
consisting of "tricky" national letters (e.g. latin accenter letters).
It happened because XPath lex parser recognized only basic
latin letter a..z ad a part of an identifier.
Fixed to recognize all letters by means of new "full ctype" which
was added recently.
mysql-test/r/xml.result:
Adding test case
mysql-test/t/xml.test:
Adding test case
sql/item_xmlfunc.cc:
Using recently implemented "true" ctype functionality
to treat all national letters as valid tag names,
Only basic latin letters worked so far.
strings/ctype-simple.c:
A bug fix: ctype is array of 257 elements,
adding offset to address correct element.
Backporting a 5.0 change:
MAX_BUF was too small for Index.xml
Changeing MAX_BUF and adding assert to easier
catch the same problem in the future.
ctype-extra.c:
Regenerating ctype-extra.c with the fixed conf_to_src.
strings/ctype-extra.c:
Regenerating ctype-extra.c with the fixed conf_to_src.
strings/conf_to_src.c:
Backporting a 5.0 change:
MAX_BUF was too small for Index.xml
Changeing MAX_BUF and adding assert to easier
catch the same problem in the future.
Recreating ctype-extra.c with additional 5.1
charset, and with additional missing 5.0 charset
due to bug with too small buffer MAX_BUF.
strings/ctype-extra.c:
Recreating ctype-extra.c with additional 5.1
charset, and with additional missing 5.0 charset
due to bug with too small buffer MAX_BUF.
Buffer was too small to load Index.xml.
So some charsets were not gerenrated.
Making the buffer bigger, and adding an DBUG_ASSERT,
to easier catch the problem in the future.
ctype-extra.c:
Additional charsets were generated.
strings/ctype-extra.c:
Additional charsets were generated.
strings/conf_to_src.c:
Buffer was too small to load Index.xml.
So some charsets were not gerenrated.
Making the buffer bigger, and adding an DBUG_ASSERT,
to easier catch the problem in the future.
into mysql.com:/usr/home/bar/mysql-5.1-new
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/item.cc:
Auto merged
sql/share/charsets/Index.xml:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
mysql-test/r/information_schema.result:
IS_COMPILED is not determenistic
mysql-test/t/information_schema.test:
IS_COMPILED is not determenistic
strings/conf_to_src.c:
Adding dumping of extra 5.0 fields
strings/ctype-extra.c:
Recreating sources according to 5.0 XML files using conf_to_src.
cmakelists.txt:
Move configure processing to top-level cmakelists.txt so that it can be
shared by mysqld and libmysqld.
libmysqld/lib_sql.cc:
Temporary #ifdef to allow building from both bitkeeper sources and windows source package.
libmysqld/libmysqld.def:
Add export missing for test_libmysqld
sql/cmakelists.txt:
Move configure processing to top-level cmakelists.txt so that it can be
shared by mysqld and libmysqld.
sql/mysqld.cc:
#ifdef out code that is not used, nor compiles, in embedded server.
strings/cmakelists.txt:
Add some missing sources to fix embedded server build.
a normal 'make dist' source .tar.gz.
libmysql/mytest.c:
bk cp VC++Files/libmysqltest/mytest.c libmysql/mytest.c
sql/message.mc:
bk cp VC++Files/sql/message.mc sql/message.mc
Makefile.am:
Add Windows CMake stuff.
client/Makefile.am:
Add extra files needed for CMake Windows build.
cmakelists.txt:
Fix subdir order to make CMake dependency calculations happy.
configure.in:
Add extra files needed for CMake Windows build.
extra/Makefile.am:
Add extra files needed for CMake Windows build.
extra/yassl/Makefile.am:
Add extra files needed for CMake Windows build.
libmysql/Makefile.am:
Add extra files needed for CMake Windows build.
libmysql/cmakelists.txt:
Move mytest.c to a more sensible location.
libmysqld/Makefile.am:
Add extra files needed for CMake Windows build.
mysys/Makefile.am:
Add extra files needed for CMake Windows build.
regex/Makefile.am:
Add extra files needed for CMake Windows build.
server-tools/instance-manager/Makefile.am:
Add extra files needed for CMake Windows build.
sql/Makefile.am:
Add extra files needed for CMake Windows build.
sql/cmakelists.txt:
Move message.mc to a more sensible location.
Add some dependencies to avoid a stale handlerton.cc.
storage/archive/Makefile.am:
Add extra files needed for CMake Windows build.
storage/bdb/Makefile.in:
Add extra files needed for CMake Windows build.
storage/example/Makefile.am:
Add extra files needed for CMake Windows build.
storage/heap/Makefile.am:
Add extra files needed for CMake Windows build.
storage/innobase/Makefile.am:
Add extra files needed for CMake Windows build.
storage/innobase/include/univ.i:
Avoid including Unix config in Windows build.
storage/myisam/Makefile.am:
Add extra files needed for CMake Windows build.
storage/myisammrg/Makefile.am:
Add extra files needed for CMake Windows build.
strings/Makefile.am:
Add extra files needed for CMake Windows build.
tests/Makefile.am:
Add extra files needed for CMake Windows build.
vio/Makefile.am:
Add extra files needed for CMake Windows build.
zlib/Makefile.am:
Add extra files needed for CMake Windows build.
Forgot to include into the previous changeset.
strings/ctype-simple.c:
Forgot to include into the previous changeset.
strings/ctype-utf8.c:
Forgot to include into the previous changeset.
into mysql.com:/usr/home/bar/mysql-4.1.b15376
include/m_ctype.h:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
into mysql.com:/usr/home/bar/mysql-5.1-new
mysql-test/r/ctype_ujis.result:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-cp932.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-eucjpms.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-tis620.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
include/m_ctype.h:
After merge fix.
Mergeing changes into 5.0
mysql-test/r/ctype_eucjpms.result:
Adding test
mysql-test/r/ctype_ujis.result:
After merge fix
mysql-test/t/ctype_eucjpms.test:
Adding test
strings/ctype-cp932.c:
After merge fix
strings/ctype-eucjpms.c:
Applying changes to eucjpms, similar to ujis.
Note: eucjpms appeared in 5.0 so the original patch,
which was for for 4.1, didn't fix eucjpms.
into mysql.com:/usr/home/bar/mysql-5.0
BitKeeper/deleted/.del-ctype-cp932.c:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
sql/sql_string.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-tis620.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
include/m_ctype.h:
After merge fix.
mysql-test/r/ctype_ujis.result:
After merge fix
Fixed that LIKE worked case insensitively for latin2_czech_cs,
which was wrong for a case sensitive collation.
include/m_ctype.h:
Making my_wildcmp_bin public instead of static
strings/ctype-bin.c:
Making my_wildcmp_bin public instead of static
strings/ctype-czech.c:
Use my_wildcmp_bin instead of case insensitive my_wildcmp_8bit
mysql-test/include/have_latin2_ch.inc:
New BitKeeper file ``mysql-test/include/have_latin2_ch.inc''
mysql-test/r/ctype_latin2_ch.result:
New BitKeeper file ``mysql-test/r/ctype_latin2_ch.result''
mysql-test/r/have_latin2_ch.require:
New BitKeeper file ``mysql-test/r/have_latin2_ch.require''
mysql-test/t/ctype_latin2_ch.test:
New BitKeeper file ``mysql-test/t/ctype_latin2_ch.test''
The table may be corrupted and decimal columns may have invalid values in this case.
To prevent crash we need to check that decimal column has allowable value.
In case of invalid value generate warning and set the value to 0.
A prerequisite for several fulltext and XML bugs.
MY_CHARSET_HANDLER now has a new function "ctype"
to detect a type of the next character in a string
(i.e. digit, letter, space, punctuation, control, etc),
which now works correctly for both 8bit and multibyte charsets.
Previously only 8bit charsets worked correctly,
while any multibyte character was considered as letter
in multibyte charsets.
Many files:
Adding new function
Makefile.am:
Adding build rules for uctypedump,
a dump tool to create my_uctype.h
using Unicode Character Database file.
m_ctype.h:
Adding declaration of my_uni_ctype,
ctype data for Unicode.
Adding new member into MY_CHARSET_HANDLER
Makefile.am:
Adding my_uctype.h into noinst_HEADERS
my_uctype.h, uctypedump.c:
new files:
ctype data for unicode,
and the tool to generate it from
a Unicode Character Database file.
include/Makefile.am:
Adding my_uctype.h
include/m_ctype.h:
Adding declaration of my_uni_ctype,
ctype data for Unicode.
strings/Makefile.am:
Adding build rules for uctypedump,
a dump tool to create my_uctype.h
using Unicode Character Database file.
strings/ctype-big5.c:
Adding new function
strings/ctype-bin.c:
Adding new function
strings/ctype-cp932.c:
Adding new function
strings/ctype-euc_kr.c:
Adding new function
strings/ctype-eucjpms.c:
Adding new function
strings/ctype-gb2312.c:
Adding new function
strings/ctype-gbk.c:
Adding new function
strings/ctype-latin1.c:
Adding new function
strings/ctype-mb.c:
Adding new function
strings/ctype-simple.c:
Adding new function
strings/ctype-sjis.c:
Adding new function
strings/ctype-tis620.c:
Adding new function
strings/ctype-ucs2.c:
Adding new function
strings/ctype-ujis.c:
Adding new function
strings/ctype-utf8.c:
Adding new function
Don't display charsets/collations with HIDDEN flag.
ctype-utf8.c:
Adding HIDDEN flag to "filename"
Changeing ID to 17 which was previosly
used by deprecated "win1251", removed in 4.1.
charset-def.c:
Adding "filename" as a hidden charset, for test purposes.
m_ctype.h:
Adding MY_CS_HIDDEN flag,
to hide charsets and collations from
being displayed in SHOW.
include/m_ctype.h:
Adding MY_CS_HIDDEN flag,
to hide charsets and collations from
being displayed in SHOW.
mysys/charset-def.c:
Adding "filename" as a hidden charset, for test purposes.
strings/ctype-utf8.c:
Adding HIDDEN flag to "filename"
Changeing ID to 17 which was previosly
used by deprecated "win1251", removed in 4.1.
sql/sql_show.cc:
Don't display charsets/collations with HIDDEN flag.
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/innobase/os/os0thread.c:
Auto merged
storage/myisam/myisam_ftdump.c:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbImpl.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
into mysql.com:/usr/home/bar/mysql-5.0
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
- Encoding itself, implemented as a charset
"filename". Originally planned to use '.'
as an escape character, but now changed to '@'
for two reasons: "ls" does not return
file names starting with '.' considering them
as a kind of hidden files; some platforms
do not allow several dots in a file name.
- replacing many calls of my_snprintf() and
strnxmov() to the new build_table_filename().
- Adding MY_APPEND_EXT mysys flag, to append
an extention rather that replace it.
- Replacing all numeric constants in fn_format
flag arguments to their mysys definitions, e.g.
MY_UNPACK_FILENAME,
- Predictability in several function/methods:
when a table name can appear with or withot .frm
extension. Some functions/methods were changed
so accept names strictly with .frm, other - strictly
without .frm extensions. Several DBUG_ASSERTs were
added to check whether an extension is passed.
Many files:
table name to file name encoding
mysql_priv.h:
Prototypes for new table name encoding tools.
ctype-utf8.c:
Implementing "filename" charset for
table name to file name encoding.
row0mysql.c:
Fixing table name prefix.
mf_format.c:
Adding MY_APPEND_EXT processing.
Many files:
Fixing tests.
my_sys.h:
Adding new flag to append rather than replace an extension.
m_ctype.h:
Adding "filename" charset definition.
include/m_ctype.h:
Adding "filename" charset definition.
include/my_sys.h:
Adding new flag to append rather than replace an extension.
mysql-test/t/alter_table.test:
Fixing tests.
mysql-test/t/create.test:
Fixing tests.
mysql-test/t/show_check.test:
Fixing tests.
mysql-test/r/alter_table.result:
Fixing tests.
mysql-test/r/create.result:
Fixing tests.
mysql-test/r/mysqldump.result:
Fixing tests.
mysys/mf_format.c:
Adding MY_APPEND_EXT processing.
sql/discover.cc:
table name to file name encoding
sql/ha_berkeley.cc:
table name to file name encoding
sql/ha_innodb.cc:
table name to file name encoding
sql/ha_myisam.cc:
table name to file name encoding
sql/ha_myisammrg.cc:
table name to file name encoding
sql/ha_ndbcluster.cc:
table name to file name encoding
sql/ha_partition.cc:
table name to file name encoding
sql/handler.cc:
table name to file name encoding.
sql/init.cc:
table name to file name encoding
sql/mysqld.cc:
table name to file name encoding
sql/parse_file.cc:
table name to file name encoding
sql/sql_acl.cc:
table name to file name encoding
sql/sql_base.cc:
table name to file name encoding
sql/sql_db.cc:
table name to file name encoding
sql/sql_delete.cc:
table name to file name encoding
sql/sql_rename.cc:
table name to file name encoding
sql/sql_show.cc:
table name to file name encoding
sql/sql_table.cc:
table name to file name encoding
sql/sql_trigger.cc:
table name to file name encoding
sql/sql_view.cc:
table name to file name encoding
sql/strfunc.cc:
table name to file name encoding
sql/table.cc:
table name to file name encoding
sql/unireg.cc:
table name to file name encoding
storage/innobase/row/row0mysql.c:
Fixing table name prefix.
,
storage/myisam/mi_create.c:
table name to file name encoding
storage/myisam/mi_delete_table.c:
table name to file name encoding
storage/myisam/mi_open.c:
table name to file name encoding
storage/myisam/mi_rename.c:
table name to file name encoding
strings/ctype-utf8.c:
Implementing "filename" charset for
table name to file name encoding.
sql/mysql_priv.h:
Prototypes for new table name encoding tools.
storage/myisammrg/myrg_create.c:
table name to file name encoding
storage/myisammrg/myrg_open.c:
table name to file name encoding
into moonbone.local:/work/14583-bug-5.1-new-mysql
BitKeeper/deleted/.del-ha_blackhole.cc~727c69ef7846623a:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
strings/ctype-ucs2.c:
Auto merged
into mysql.com:/home/stewart/Documents/MySQL/5.1/new
client/mysqltest.c:
Auto merged
sql/item.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
storage/myisam/mi_create.c:
Auto merged
storage/myisam/mi_delete.c:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
strings/decimal.c:
Auto merged
configure.in:
remove 5.0 version increement
sql/ha_archive.cc:
merge
sql/handler.cc:
merge
sql/mysqld.cc:
merge
When InnoDB compares varchar field in ucs2 with given key using bin collation,
it calls my_strnncollsp_ucs2_bin() to perform comparison.
Because field length was lesser than length of key field should be padded
with trailing spaces in order to get correct result.
Because my_strnncollsp_ucs2_bin() was calling my_strnncollp_ucs2_bin(), which
doesn't pads field, wrong comparison result was returned. This results in
wrong result set.
my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
mysql-test/t/ctype_ucs.test:
Test case for bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping
correct records.
mysql-test/r/ctype_ucs.result:
Test case for bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping correct records.
strings/ctype-ucs2.c:
Fix bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping
correct records.my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.