mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
text/blob fields in some cases were not handled properly
mysql-test/t/bdb.test: added space mysql-test/t/fulltext.test: comment out the test for the last bug until Serg pushes the change sql/field.cc: fixed coredump in INSERT into BDB table
This commit is contained in:
parent
b4b56b3c00
commit
6bb380a0ce
4 changed files with 45 additions and 9 deletions
33
mysql-test/t/bdb-crash.test
Normal file
33
mysql-test/t/bdb-crash.test
Normal file
|
@ -0,0 +1,33 @@
|
|||
# test for bug reported by Mark Steele
|
||||
|
||||
drop table if exists tblChange;
|
||||
CREATE TABLE tblCharge (
|
||||
ChargeID int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
|
||||
ServiceID int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
ChargeDate date DEFAULT '0000-00-00' NOT NULL,
|
||||
ChargeAmount decimal(20,2) DEFAULT '0.00' NOT NULL,
|
||||
FedTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
|
||||
ProvTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
|
||||
ChargeStatus enum('New','Auth','Unauth','Sale','Denied','Refund')
|
||||
DEFAULT 'New' NOT NULL,
|
||||
ChargeAuthorizationMessage text,
|
||||
ChargeComment text,
|
||||
ChargeTimeStamp varchar(20),
|
||||
PRIMARY KEY (ChargeID),
|
||||
KEY ServiceID (ServiceID),
|
||||
KEY ChargeDate (ChargeDate)
|
||||
) type=BDB;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tblCharge
|
||||
VALUES(NULL,1,CURRENT_DATE(),1,1,1,'New',NULL,NULL,UNIX_TIMESTAMP(NOW()));
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tblCharge SET ChargeAuthorizationMessage = 'blablabla' WHERE
|
||||
ChargeID = 1;
|
||||
COMMIT;
|
||||
|
||||
INSERT INTO tblCharge
|
||||
VALUES(NULL,1,CURRENT_DATE(),1,1,1,'New',NULL,NULL,UNIX_TIMESTAMP(NOW()));
|
||||
drop table tblCharge;
|
|
@ -428,3 +428,5 @@ select * from t1 where i=1 and j=2;
|
|||
create index ax1 on t1 (i,j);
|
||||
select * from t1 where i=1 and j=2;
|
||||
drop table t1;
|
||||
|
||||
|
||||
|
|
|
@ -48,8 +48,8 @@ drop table t1,t2;
|
|||
|
||||
# check for bug reported by Stephan Skusa
|
||||
|
||||
drop table if exists fulltextTEST;
|
||||
CREATE TABLE fulltextTEST (
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
field1 varchar(40) NOT NULL,
|
||||
field2 varchar(20) NOT NULL,
|
||||
field3 varchar(40) NOT NULL,
|
||||
|
@ -57,9 +57,10 @@ CREATE TABLE fulltextTEST (
|
|||
FULLTEXT idx_fulltext (field1, field2, field3)
|
||||
);
|
||||
|
||||
INSERT INTO fulltextTEST VALUES ( 'test1', 'test1.1', 'test1.1.1');
|
||||
INSERT INTO fulltextTEST VALUES ( 'test2', 'test2.1', 'test2.1.1');
|
||||
select *
|
||||
from fulltextTEST
|
||||
where MATCH (field1,field2,field3) AGAINST (NULL);
|
||||
drop table fulltextTEST;
|
||||
INSERT INTO t1 VALUES ( 'test1', 'test1.1', 'test1.1.1');
|
||||
INSERT INTO t1 VALUES ( 'test2', 'test2.1', 'test2.1.1');
|
||||
#select *
|
||||
#from t1
|
||||
#where MATCH (field1,field2,field3) AGAINST (NULL);
|
||||
drop table t1;
|
||||
|
||||
|
|
|
@ -4075,8 +4075,8 @@ char *Field_blob::pack(char *to, const char *from, uint max_length)
|
|||
const char *Field_blob::unpack(char *to, const char *from)
|
||||
{
|
||||
memcpy(to,from,packlength);
|
||||
ulong length=get_length(from);
|
||||
from+=packlength;
|
||||
ulong length=get_length();
|
||||
if (length)
|
||||
memcpy_fixed(to+packlength, &from, sizeof(from));
|
||||
else
|
||||
|
|
Loading…
Add table
Reference in a new issue