mariadb/sql
malff/marcsql@weblab.(none) b5f8b6363d Bug#12976 (stored procedures local variables of type bit)
Before this change, a local variables in stored procedures / stored functions
or triggers, when declared with a type of bit(N), would not evaluate their
value properly.

The problem was that the data was incorrectly typed as a string,
causing for example bit b'1', implemented as a byte 0x01, to be interpreted
as a string starting with the character 0x01. This later would cause
implicit conversions to integers or booleans to fail.

The root cause of this problem was an incorrect translation between field
types, like bit(N), and internal types used when representing values in Item
objects.

Also, before this change, the function HEX() would sometime print extra "0"
characters when invoked with bit(N) values.

With this fix, the type translation (sp_map_result_type, sp_map_item_type)
has been changed so that bit(N) fields are represented with integer values.

A consequence is that, for the function HEX(), when called with a stored
procedure local variable of type bit(N) as argument, HEX() is provided with an
integer instead of a string, and therefore does not print "0" padding.

A test case for Bug 12976 was present in the test suite, and has been updated.
2007-02-06 16:01:22 -07:00
..
examples my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
share Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 09:43:44 -05:00
.cvsignore
add_errmsg
client_settings.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
CMakeLists.txt Merge mjorgensen@bk-internal.mysql.com:/home/bk/mysql-5.0-sage 2007-01-11 09:19:32 +01:00
custom_conf.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
derror.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
des_key_file.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
discover.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
field.cc Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint 2007-01-18 17:10:00 +04:00
field.h Merge pilot.mysql.com:/home/msvensson/mysql/mysql-5.0 2007-01-17 11:53:00 +01:00
field_conv.cc Many files: 2006-12-23 20:17:15 +01:00
filesort.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
frm_crypt.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
gen_lex_hash.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
gstream.cc Many files: 2006-12-23 20:17:15 +01:00
gstream.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_archive.cc Many files: 2006-12-23 20:17:15 +01:00
ha_archive.h Many files: 2006-12-23 20:17:15 +01:00
ha_berkeley.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_berkeley.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_blackhole.cc Many files: 2006-12-23 20:17:15 +01:00
ha_blackhole.h Many files: 2006-12-23 20:17:15 +01:00
ha_federated.cc Merge xiphis.org:/home/antony/work2/mysql-5.0-engines 2006-12-26 16:23:05 -08:00
ha_federated.h Many files: 2006-12-23 20:17:15 +01:00
ha_heap.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_heap.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_innodb.cc Many files: 2006-12-23 20:17:15 +01:00
ha_innodb.h Many files: 2006-12-23 20:17:15 +01:00
ha_myisam.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_myisam.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_myisammrg.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_myisammrg.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_ndbcluster.cc Merge kahlann.erinye.com:/home/df/mysql/build/mysql-5.0 2007-01-24 09:24:52 +01:00
ha_ndbcluster.h Many files: 2006-12-23 20:17:15 +01:00
handler.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
handler.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
hash_filo.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
hash_filo.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
hostname.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
init.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item.cc Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint 2007-01-18 17:10:00 +04:00
item.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-01-23 15:57:46 +03:00
item_buff.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_cmpfunc.cc Merge olga.mysql.com:/home/igor/mysql-5.0-opt 2007-01-09 10:26:28 -08:00
item_cmpfunc.h Merge olga.mysql.com:/home/igor/mysql-5.0-opt 2007-01-09 10:26:28 -08:00
item_create.cc Many files: 2006-12-23 20:17:15 +01:00
item_create.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_func.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-12 21:59:17 +03:00
item_func.h Fixed bug#16861: User defined variable can have a wrong value if a tmp table was 2007-01-09 23:24:56 +03:00
item_geofunc.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_geofunc.h Many files: 2006-12-23 20:17:15 +01:00
item_row.cc Many files: 2006-12-23 20:17:15 +01:00
item_row.h Many files: 2006-12-23 20:17:15 +01:00
item_strfunc.cc Merge mysql.com:/d2/hf/clean/my50-clean 2006-12-31 12:39:20 +04:00
item_strfunc.h Many files: 2006-12-23 20:17:15 +01:00
item_subselect.cc Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-01-30 10:16:46 -07:00
item_subselect.h Improved comments 2007-02-01 09:36:17 -07:00
item_sum.cc Merge siva.hindu.god:/usr/home/tim/m/bk/g50 2006-12-26 22:28:28 -07:00
item_sum.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 09:43:44 -05:00
item_timefunc.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
item_timefunc.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_uniq.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_uniq.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
key.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
lex.h Many files: 2006-12-23 20:17:15 +01:00
lex_symbol.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
lock.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
log.cc Many files: 2006-12-23 20:17:15 +01:00
log_event.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
log_event.h Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
Makefile.am my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
matherr.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
message.mc make dist changes for Cmake build 2006-09-01 10:32:12 +02:00
mf_iocache.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_decimal.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_decimal.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_lock.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql_priv.h Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-17 19:30:05 +01:00
mysqld.cc Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-24 09:13:47 +07:00
mysqld_suffix.h Many files: 2006-12-23 20:17:15 +01:00
net_serv.cc Merge siva.hindu.god:/usr/home/tim/m/bk/g50 2006-12-26 22:28:28 -07:00
nt_servc.cc
nt_servc.h
opt_range.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 09:43:44 -05:00
opt_range.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
opt_sum.cc Many files: 2006-12-23 20:17:15 +01:00
parse_file.cc Many files: 2006-12-23 20:17:15 +01:00
parse_file.h Many files: 2006-12-23 20:17:15 +01:00
password.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
procedure.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
procedure.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
protocol.cc Many files: 2006-12-23 20:17:15 +01:00
protocol.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
records.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
repl_failsafe.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
repl_failsafe.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
set_var.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
set_var.h Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
slave.cc Many files: 2006-12-23 20:17:15 +01:00
slave.h Many files: 2006-12-23 20:17:15 +01:00
sp.cc Many files: 2006-12-23 20:17:15 +01:00
sp.h Many files: 2006-12-23 20:17:15 +01:00
sp_cache.cc Many files: 2006-12-23 20:17:15 +01:00
sp_cache.h Many files: 2006-12-23 20:17:15 +01:00
sp_head.cc Bug#12976 (stored procedures local variables of type bit) 2007-02-06 16:01:22 -07:00
sp_head.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sp_pcontext.cc Many files: 2006-12-23 20:17:15 +01:00
sp_pcontext.h Many files: 2006-12-23 20:17:15 +01:00
sp_rcontext.cc Many files: 2006-12-23 20:17:15 +01:00
sp_rcontext.h Many files: 2006-12-23 20:17:15 +01:00
spatial.cc Many files: 2006-12-23 20:17:15 +01:00
spatial.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_acl.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
sql_acl.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_analyse.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_analyse.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_array.h Many files: 2006-12-23 20:17:15 +01:00
sql_base.cc Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-01-11 19:13:04 +02:00
sql_bitmap.h Many files: 2006-12-23 20:17:15 +01:00
sql_cache.cc Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0 2007-01-25 20:10:40 +03:00
sql_cache.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_class.cc Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-24 09:13:47 +07:00
sql_class.h Manual merge. 2007-01-15 13:10:07 +03:00
sql_client.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_crypt.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_crypt.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_cursor.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_cursor.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_db.cc Many files: 2006-12-23 20:17:15 +01:00
sql_delete.cc Many files: 2006-12-23 20:17:15 +01:00
sql_derived.cc Many files: 2006-12-23 20:17:15 +01:00
sql_do.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_error.cc Many files: 2006-12-23 20:17:15 +01:00
sql_error.h Many files: 2006-12-23 20:17:15 +01:00
sql_handler.cc Many files: 2006-12-23 20:17:15 +01:00
sql_help.cc Many files: 2006-12-23 20:17:15 +01:00
sql_insert.cc Manual merge. 2007-01-15 13:10:07 +03:00
sql_lex.cc BUG#25897: Some queries are no longer possible after a CREATE VIEW 2007-02-04 16:49:24 +03:00
sql_lex.h BUG#25897: Some queries are no longer possible after a CREATE VIEW 2007-02-04 16:49:24 +03:00
sql_list.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_list.h Manual merge. 2007-01-15 13:10:07 +03:00
sql_load.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_locale.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
sql_manager.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_manager.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_map.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_map.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_olap.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_parse.cc Merge siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/50 2007-01-18 10:06:36 -07:00
sql_prepare.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sql_rename.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_repl.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_repl.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_select.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-01-15 13:48:07 +03:00
sql_select.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_show.cc Manual merge. 2007-01-15 13:10:07 +03:00
sql_sort.h Many files: 2006-12-23 20:17:15 +01:00
sql_state.c Many files: 2006-12-23 20:17:15 +01:00
sql_string.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sql_string.h Many files: 2006-12-23 20:17:15 +01:00
sql_table.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-01-20 14:10:20 +03:00
sql_test.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_trigger.cc Many files: 2006-12-23 20:17:15 +01:00
sql_trigger.h Many files: 2006-12-23 20:17:15 +01:00
sql_udf.cc Merge bk-internal:/home/bk/mysql-5.0-opt 2007-01-03 18:29:39 +02:00
sql_udf.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_union.cc Many files: 2006-12-23 20:17:15 +01:00
sql_update.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-03 08:52:50 +01:00
sql_view.cc Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0 2007-01-18 13:06:10 +03:00
sql_view.h Many files: 2006-12-23 20:17:15 +01:00
sql_yacc.yy Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-01-30 10:16:46 -07:00
stacktrace.c Many files: 2006-12-23 20:17:15 +01:00
stacktrace.h Many files: 2006-12-23 20:17:15 +01:00
strfunc.cc Many files: 2006-12-23 20:17:15 +01:00
structs.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
table.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-03 08:52:50 +01:00
table.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
thr_malloc.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
time.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
tzfile.h Many files: 2006-12-23 20:17:15 +01:00
tztime.cc Many files: 2006-12-23 20:17:15 +01:00
tztime.h Many files: 2006-12-23 20:17:15 +01:00
udf_example.c Many files: 2006-12-23 20:17:15 +01:00
udf_example.def Add the two new functions to udf_example.def so they will be exported by dll's 2006-11-16 16:19:29 +01:00
uniques.cc Many files: 2006-12-23 20:17:15 +01:00
unireg.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
unireg.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
watchdog_mysqld