summaryrefslogtreecommitdiff
path: root/myisam/mi_dynrec.c
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2002-07-24 19:55:08 +0300
committerunknown <monty@mashka.mysql.fi>2002-07-24 19:55:08 +0300
commit72dec69046e315080d17e4764f911c4c9f29459c (patch)
tree31ee919bea7e4456572b62d5ea7302dc58bc0b6a /myisam/mi_dynrec.c
parentc911e9d72161045364893a838624c1484590a9cb (diff)
downloadmariadb-git-72dec69046e315080d17e4764f911c4c9f29459c.tar.gz
Removed wrong implementation of CUBE/ROLLUP
Fixed bugfix of INSERT ... SET db_name.table_name.column_name Changed locking to external-locking Fix client hangup for some invalid SQL queries. Docs/manual.texi: Changelog & recent incompatible changes to 4.0.3 include/mysqld_error.h: New error messages myisam/ft_boolean_search.c: Removed compiler warning myisam/mi_check.c: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/mi_dynrec.c: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/mi_extra.c: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/mi_key.c: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/mi_open.c: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/mi_packrec.c: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/myisamdef.h: Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff myisam/sort.c: Fixed uninitialized variable mysql-test/r/insert_set.result: Change test case to use database foo mysql-test/r/union.result: Test wrong usage of union mysql-test/t/insert_set.test: Test bug in insert mysql-test/t/union.test: Test wrong usage of union sql/item.h: Indentation cleanup sql/item_cmpfunc.h: Indentation cleanup sql/item_func.h: Indentation cleanup sql/item_strfunc.h: Indentation cleanup sql/item_sum.h: Indentation cleanup sql/item_timefunc.h: Indentation cleanup sql/item_uniq.h: Indentation cleanup sql/mysql_priv.h: Fix that we always generate an error message when calling YYABORT sql/mysqld.cc: Changed command line arguments regarding locking to always use --external-locking Disable external locking by default sql/procedure.h: Cleanup sql/set_var.cc: change locking -> external_locking sql/share/czech/errmsg.txt: New error messages sql/share/danish/errmsg.txt: New error messages sql/share/dutch/errmsg.txt: New error messages sql/share/english/errmsg.txt: New error messages sql/share/estonian/errmsg.txt: New error messages sql/share/french/errmsg.txt: New error messages sql/share/german/errmsg.txt: New error messages sql/share/greek/errmsg.txt: New error messages sql/share/hungarian/errmsg.txt: New error messages sql/share/italian/errmsg.txt: New error messages sql/share/japanese/errmsg.txt: New error messages sql/share/korean/errmsg.txt: New error messages mysql-test/r/olap.result: Removed CUBE/ROLLUP mysql-test/t/olap.test: Removed CUBE/ROLLUP sql/share/norwegian-ny/errmsg.txt: New error messages sql/share/norwegian/errmsg.txt: New error messages sql/share/polish/errmsg.txt: New error messages sql/share/portuguese/errmsg.txt: New error messages sql/share/romanian/errmsg.txt: New error messages sql/share/russian/errmsg.txt: New error messages sql/share/slovak/errmsg.txt: New error messages sql/share/spanish/errmsg.txt: New error messages sql/share/swedish/errmsg.txt: New error messages sql/share/ukrainian/errmsg.txt: New error messages sql/sql_base.cc: Removed wrong patch for INSERT... sql/sql_insert.cc: Fix bug in INSERT ... SET db_name.table_name.column_name sql/sql_lex.h: Changed NON_EXISTIONG_ONE -> UNSPECIFIED_OLAP_TYPE sql/sql_olap.cc: Removed wrong implementation of CUBE/ROLLUP sql/sql_parse.cc: Removed wrong implementation of CUBE/ROLLUP Added function to give better error messages sql/sql_select.cc: Removed wrong implementation of CUBE/ROLLUP sql/sql_union.cc: Added comment sql/sql_yacc.yy: Fix that we always generate an error message when calling YYABORT
Diffstat (limited to 'myisam/mi_dynrec.c')
-rw-r--r--myisam/mi_dynrec.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/myisam/mi_dynrec.c b/myisam/mi_dynrec.c
index 92c8e50690b..4ef4f80d137 100644
--- a/myisam/mi_dynrec.c
+++ b/myisam/mi_dynrec.c
@@ -60,10 +60,10 @@ int _mi_write_blob_record(MI_INFO *info, const byte *record)
int error;
ulong reclength,extra;
- extra=ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER)+MI_SPLIT_LENGTH+
- MI_DYN_DELETE_BLOCK_HEADER+1;
- reclength=info->s->base.pack_reclength+
- _my_calc_total_blob_length(info,record)+ extra;
+ extra= (ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER)+MI_SPLIT_LENGTH+
+ MI_DYN_DELETE_BLOCK_HEADER+1);
+ reclength= (info->s->base.pack_reclength+
+ _my_calc_total_blob_length(info,record)+ extra);
#ifdef NOT_USED /* We now support big rows */
if (reclength > MI_DYN_MAX_ROW_LENGTH)
{
@@ -91,10 +91,10 @@ int _mi_update_blob_record(MI_INFO *info, my_off_t pos, const byte *record)
int error;
ulong reclength,extra;
- extra=ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER)+MI_SPLIT_LENGTH+
- MI_DYN_DELETE_BLOCK_HEADER;
- reclength=info->s->base.pack_reclength+
- _my_calc_total_blob_length(info,record)+ extra;
+ extra= (ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER)+MI_SPLIT_LENGTH+
+ MI_DYN_DELETE_BLOCK_HEADER);
+ reclength= (info->s->base.pack_reclength+
+ _my_calc_total_blob_length(info,record)+ extra);
#ifdef NOT_USED /* We now support big rows */
if (reclength > MI_DYN_MAX_ROW_LENGTH)
{
@@ -1059,7 +1059,9 @@ int _mi_read_dynamic_record(MI_INFO *info, my_off_t filepos, byte *buf)
goto panic;
if (info->s->base.blobs)
{
- if (!(to=mi_fix_rec_buff_for_blob(info,block_info.rec_len)))
+ if (!(to=mi_alloc_rec_buff(info, block_info.rec_len,
+ &info->rec_buff,
+ &info->alloced_rec_buff_length)))
goto err;
}
else
@@ -1328,7 +1330,9 @@ int _mi_read_rnd_dynamic_record(MI_INFO *info, byte *buf,
info->lastpos=filepos;
if (share->base.blobs)
{
- if (!(to=mi_fix_rec_buff_for_blob(info,block_info.rec_len)))
+ if (!(to= mi_alloc_rec_buff(info, block_info.rec_len,
+ &info->rec_buff,
+ &info->alloced_rec_buff_length)))
goto err;
}
else