change error message from "logfile" to "undo/data-file"
otherwise ok to push
/Jonas
lzhou@stripped wrote:
> Below is the list of changes that have just been committed into a local
> 5.1 repository of zhl. When zhl does a push these changes will
> be propagated to the main repository and, within 24 hours after the
> push, to the public repository.
> For information on how to access the public repository
> see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
>
> ChangeSet@stripped, 2007-10-12 13:32:08+00:00, lzhou@dev3-63.(none) +4 -0
> BUG#29186 Return error to client in the following condition:
> 1: Create a log file which is larger than 4G in 32-bit host.
> 2: Create a data file (tablespace) which is larger than 4G in 32-bit
> host.
>
> storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp@stripped, 2007-10-12
> 13:32:01+00:00, lzhou@dev3-63.(none) +2 -1
> Add error code for log file too large
>
> storage/ndb/src/kernel/blocks/lgman.cpp@stripped, 2007-10-12 13:32:01+00:00,
> lzhou@dev3-63.(none) +15 -0
> Return REF when log file more than 4G in 32-bits host
>
> storage/ndb/src/kernel/blocks/tsman.cpp@stripped, 2007-10-12 13:32:01+00:00,
> lzhou@dev3-63.(none) +15 -0
> return FER when data file larger than 4G in 32-bits host
>
> storage/ndb/src/ndbapi/ndberror.c@stripped, 2007-10-12 13:32:01+00:00,
> lzhou@dev3-63.(none) +1 -0
> Add describe of new errorCode
>
> diff -Nrup a/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
> b/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
> --- a/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp 2006-12-23
> 19:33:29 +00:00
> +++ b/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp 2007-10-12
> 13:32:01 +00:00
> @@ -163,7 +163,8 @@ struct CreateFileImplRef {
> InvalidFileMetadata = 1510,
> OutOfMemory = 1511,
> FileReadError = 1512,
> - FilegroupNotOnline = 1513
> + FilegroupNotOnline = 1513,
> + FileSizeTooLarge = 1515
> };
>
> Uint32 senderData;
> diff -Nrup a/storage/ndb/src/kernel/blocks/lgman.cpp
> b/storage/ndb/src/kernel/blocks/lgman.cpp
> --- a/storage/ndb/src/kernel/blocks/lgman.cpp 2007-07-03 12:12:24 +00:00
> +++ b/storage/ndb/src/kernel/blocks/lgman.cpp 2007-10-12 13:32:01 +00:00
> @@ -547,6 +547,21 @@ Lgman::execCREATE_FILE_REQ(Signal* signa
> break;
> }
>
> + if(sizeof(void*) == 4 && req->file_size_hi & 0xFFFFFFFF)
> + {
> + jam();
> + if(signal->getNoOfSections())
> + releaseSections(signal);
> +
> + CreateFileImplRef* ref= (CreateFileImplRef*)signal->getDataPtr();
> + ref->senderData = senderData;
> + ref->senderRef = reference();
> + ref->errorCode = CreateFileImplRef::FileSizeTooLarge;
> + sendSignal(senderRef, GSN_CREATE_FILE_REF, signal,
> + CreateFileImplRef::SignalLength, JBB);
> + return;
> + }
> +
> new (file_ptr.p) Undofile(req, ptr.i);
>
> Local_undofile_list tmp(m_file_pool, ptr.p->m_meta_files);
> diff -Nrup a/storage/ndb/src/kernel/blocks/tsman.cpp
> b/storage/ndb/src/kernel/blocks/tsman.cpp
> --- a/storage/ndb/src/kernel/blocks/tsman.cpp 2007-05-15 07:08:13 +00:00
> +++ b/storage/ndb/src/kernel/blocks/tsman.cpp 2007-10-12 13:32:01 +00:00
> @@ -523,6 +523,21 @@ Tsman::execCREATE_FILE_REQ(Signal* signa
> break;
> }
>
> + if(sizeof(void*) == 4 && req->file_size_hi & 0xFFFFFFFF)
> + {
> + jam();
> + if(signal->getNoOfSections())
> + releaseSections(signal);
> +
> + CreateFileImplRef* ref= (CreateFileImplRef*)signal->getDataPtr();
> + ref->senderData = senderData;
> + ref->senderRef = reference();
> + ref->errorCode = CreateFileImplRef::FileSizeTooLarge;
> + sendSignal(senderRef, GSN_CREATE_FILE_REF, signal,
> + CreateFileImplRef::SignalLength, JBB);
> + return;
> + }
> +
> new (file_ptr.p) Datafile(req);
> Local_datafile_list tmp(m_file_pool, ptr.p->m_meta_files);
> tmp.add(file_ptr);
> diff -Nrup a/storage/ndb/src/ndbapi/ndberror.c b/storage/ndb/src/ndbapi/ndberror.c
> --- a/storage/ndb/src/ndbapi/ndberror.c 2007-09-07 09:15:04 +00:00
> +++ b/storage/ndb/src/ndbapi/ndberror.c 2007-10-12 13:32:01 +00:00
> @@ -426,6 +426,7 @@ ErrorBundle ErrorCodes[] = {
> { 1512, DMEC, SE, "File read error" },
> { 1513, DMEC, IE, "Filegroup not online" },
> { 1514, DMEC, SE, "Currently there is a limit of one logfile group" },
> + { 1515, DMEC, SE, "Currently there is a 4G limit of one logfile in 32-bit host"
> },
>
> { 773, DMEC, SE, "Out of string memory, please modify StringMemory config
> parameter" },
> { 775, DMEC, SE, "Create file is not supported when Diskless=1" },
>