diff options
author | unknown <sasha@mysql.sashanet.com> | 2001-03-01 11:49:45 -0700 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2001-03-01 11:49:45 -0700 |
commit | a9322ae00bfe74b28839f781c1281717d7058b4f (patch) | |
tree | ffa10d6efef53cfc84940c537451aceb9406e8a7 | |
parent | 59eafdac11b39732b23720ff277a75ce234abc86 (diff) | |
parent | 6bb380a0ce11d55d6fbe6cf7e1b3f0404d77d17a (diff) | |
download | mariadb-git-a9322ae00bfe74b28839f781c1281717d7058b4f.tar.gz |
Merge work:/home/bk/mysql
into mysql.sashanet.com:/home/sasha/src/bk/mysql
-rw-r--r-- | mysql-test/t/bdb-crash.test | 33 | ||||
-rw-r--r-- | mysql-test/t/bdb.test | 2 | ||||
-rw-r--r-- | mysql-test/t/fulltext.test | 17 | ||||
-rw-r--r-- | sql/field.cc | 2 |
4 files changed, 45 insertions, 9 deletions
diff --git a/mysql-test/t/bdb-crash.test b/mysql-test/t/bdb-crash.test new file mode 100644 index 00000000000..febcfcafde4 --- /dev/null +++ b/mysql-test/t/bdb-crash.test @@ -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; diff --git a/mysql-test/t/bdb.test b/mysql-test/t/bdb.test index b3bb76dee34..72fbbe1dafa 100644 --- a/mysql-test/t/bdb.test +++ b/mysql-test/t/bdb.test @@ -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; + + diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 555c543664e..29c115f2bdd 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -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; + diff --git a/sql/field.cc b/sql/field.cc index 17717b14649..a5eca021695 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -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 |