text/blob fields in some cases were not handled properly

parent 21c60176
# 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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment