Below is the list of changes that have just been committed into a local
5.1 repository of dli. When dli 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, 2006-09-28 19:17:37+08:00, dli@stripped +3 -0
fixed for BUG#22548, added exit error messages when error occured during table creation.
storage/ndb/include/mgmapi/ndbd_exit_codes.h@stripped, 2006-09-28 19:17:34+08:00,
dli@stripped +23 -0
added exit error messages when error occured during table creation.
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp@stripped, 2006-09-28 19:17:34+08:00,
dli@stripped +96 -1
added exit error messages when error occured during table creattion.
storage/ndb/src/kernel/error/ndbd_exit_codes.c@stripped, 2006-09-28 19:17:34+08:00,
dli@stripped +46 -0
added exit error messages when error occured during table creation.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: dli
# Host: dev3-76.dev.cn.tlan
# Root: /home/dli/mysql/mysql-5.1/mysql-5.1-bug-22548
--- 1.39/storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp 2006-09-28 19:17:44 +08:00
+++ 1.40/storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp 2006-09-28 19:17:44 +08:00
@@ -1715,7 +1715,102 @@
void Ndbcntr::execCREATE_TABLE_REF(Signal* signal)
{
jamEntry();
- progError(__LINE__,NDBD_EXIT_NDBREQUIRE, "CREATE_TABLE_REF");
+ CreateTableRef * const ref = (CreateTableRef*)signal->getDataPtrSend();
+ switch (ref->errorCode) {
+ case CreateTableRef::Busy:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_BUSY, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::BusyWithNR:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_BUSY_WITH_NR, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::NotMaster:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_NOT_MASTER, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::InvalidFormat:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INVALID_FORMAT, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::AttributeNameTooLong:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_ATTRIBUTE_NAME_TOO_LONG,
"CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::TableNameTooLong:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_TABLE_NAME_TOO_LONG, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::Inconsistency:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INCONSISTENCY, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::NoMoreTableRecords:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_NO_MORE_TABLE_RECORDS,
"CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::NoMoreAttributeRecords:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_NO_MORE_ATTRIBUTE_RECORDS,
"CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::AttributeNameTwice:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_ATTRIBUTE_NAME_TWICE, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::TableAlreadyExist:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_TABLE_ALREADY_EXIST, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::InvalidArraySize:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INVALID_ARRAY_SIZE, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::ArraySizeTooBig:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_ARRAY_SIZE_TOO_BIG, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::RecordTooBig:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_RECORD_TOO_BIG, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::InvalidPrimaryKeySize:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INVALID_PRIMARY_KEY_SIZE,
"CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::NullablePrimaryKey:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_NULLABLE_PRIMARY_KEY, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::InvalidCharset:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INVALID_CHARSET, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::InvalidTablespace:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INVALID_TABLESPACE, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::VarsizeBitfieldNotSupported:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_VARSIZE_BITFIELD_NOT_SUPPORTED,
"CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::NotATablespace:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_NOT_A_TABLESPACE, "CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::InvalidTablespaceVersion:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_INVALID_TABLESPACE_VERSION,
"CREATE_TABLE_REF");
+ break;
+ case CreateTableRef::OutOfStringBuffer:
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_OUT_OF_STRING_BUFFER, "CREATE_TABLE_REF");
+ break;
+ default:
+ /* should not reach here */
+ jam();
+ progError(__LINE__, NDBD_EXIT_CREATE_TABLE_UNKNOWN, "CREATE_TABLE_REF");
+ break;
+ }//switch
return;
}//Ndbcntr::execDICTTABREF()
--- 1.11/storage/ndb/include/mgmapi/ndbd_exit_codes.h 2006-09-28 19:17:44 +08:00
+++ 1.12/storage/ndb/include/mgmapi/ndbd_exit_codes.h 2006-09-28 19:17:44 +08:00
@@ -108,6 +108,29 @@
/* NDBCNTR 6100-> */
#define NDBD_EXIT_RESTART_TIMEOUT 6100
#define NDBD_EXIT_RESTART_DURING_SHUTDOWN 6101
+#define NDBD_EXIT_CREATE_TABLE_BUSY 6102
+#define NDBD_EXIT_CREATE_TABLE_BUSY_WITH_NR 6103
+#define NDBD_EXIT_CREATE_TABLE_NOT_MASTER 6104
+#define NDBD_EXIT_CREATE_TABLE_INVALID_FORMAT 6105
+#define NDBD_EXIT_CREATE_TABLE_ATTRIBUTE_NAME_TOO_LONG 6106
+#define NDBD_EXIT_CREATE_TABLE_TABLE_NAME_TOO_LONG 6107
+#define NDBD_EXIT_CREATE_TABLE_INCONSISTENCY 6108
+#define NDBD_EXIT_CREATE_TABLE_NO_MORE_TABLE_RECORDS 6109
+#define NDBD_EXIT_CREATE_TABLE_NO_MORE_ATTRIBUTE_RECORDS 6110
+#define NDBD_EXIT_CREATE_TABLE_ATTRIBUTE_NAME_TWICE 6111
+#define NDBD_EXIT_CREATE_TABLE_TABLE_ALREADY_EXIST 6112
+#define NDBD_EXIT_CREATE_TABLE_INVALID_ARRAY_SIZE 6113
+#define NDBD_EXIT_CREATE_TABLE_ARRAY_SIZE_TOO_BIG 6114
+#define NDBD_EXIT_CREATE_TABLE_RECORD_TOO_BIG 6115
+#define NDBD_EXIT_CREATE_TABLE_INVALID_PRIMARY_KEY_SIZE 6116
+#define NDBD_EXIT_CREATE_TABLE_NULLABLE_PRIMARY_KEY 6117
+#define NDBD_EXIT_CREATE_TABLE_INVALID_CHARSET 6118
+#define NDBD_EXIT_CREATE_TABLE_INVALID_TABLESPACE 6119
+#define NDBD_EXIT_CREATE_TABLE_VARSIZE_BITFIELD_NOT_SUPPORTED 6120
+#define NDBD_EXIT_CREATE_TABLE_NOT_A_TABLESPACE 6121
+#define NDBD_EXIT_CREATE_TABLE_INVALID_TABLESPACE_VERSION 6122
+#define NDBD_EXIT_CREATE_TABLE_OUT_OF_STRING_BUFFER 6123
+#define NDBD_EXIT_CREATE_TABLE_UNKNOWN 6124
/* TC 6200-> */
/* DIH 6300-> */
--- 1.12/storage/ndb/src/kernel/error/ndbd_exit_codes.c 2006-09-28 19:17:44 +08:00
+++ 1.13/storage/ndb/src/kernel/error/ndbd_exit_codes.c 2006-09-28 19:17:44 +08:00
@@ -115,6 +115,52 @@
{NDBD_EXIT_RESTART_DURING_SHUTDOWN, XRE,
"Node started while node shutdown in progress. "
"Please wait until shutdown complete before starting node"},
+ {NDBD_EXIT_CREATE_TABLE_BUSY, XRE,
+ "System busy with other schema operation during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_BUSY_WITH_NR, XRE,
+ "System busy with node restart, schema operations not allowed during table
creation"},
+ {NDBD_EXIT_CREATE_TABLE_NOT_MASTER, XIE,
+ "Request to non-master during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INVALID_FORMAT, XIE,
+ "Invalid table format during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_ATTRIBUTE_NAME_TOO_LONG, XIE,
+ "Attribute name too long during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_TABLE_NAME_TOO_LONG, XIE,
+ "Table name too long during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INCONSISTENCY, XIE,
+ "Inconsistency during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_NO_MORE_TABLE_RECORDS, XCE,
+ "No more table metadata records, please decrease some config parameters"},
+ {NDBD_EXIT_CREATE_TABLE_NO_MORE_ATTRIBUTE_RECORDS, XCE,
+ "No more attribute metadata records, please decrease some config parameters"},
+ {NDBD_EXIT_CREATE_TABLE_ATTRIBUTE_NAME_TWICE, XIE,
+ "Attribute name reused in table definition during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_TABLE_ALREADY_EXIST, XIE,
+ "Table or index with given name already exists during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INVALID_ARRAY_SIZE, XIE,
+ "Unsupported array size during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_ARRAY_SIZE_TOO_BIG, XIE,
+ "Attribute array size too big during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_RECORD_TOO_BIG, XIE,
+ "Record too big during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INVALID_PRIMARY_KEY_SIZE, XIE,
+ "Unsupported primary key length during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_NULLABLE_PRIMARY_KEY, XIE,
+ "Nullable primary key not supported during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INVALID_CHARSET, XIE,
+ "Unsupported character set in table or index during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INVALID_TABLESPACE, XIE,
+ "Invalid tablespace during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_VARSIZE_BITFIELD_NOT_SUPPORTED, XIE,
+ "Varsize bitfield not supported during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_NOT_A_TABLESPACE, XIE,
+ "Tablespace has changed during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_INVALID_TABLESPACE_VERSION, XIE,
+ "Invalid tablespace version during table creation"},
+ {NDBD_EXIT_CREATE_TABLE_OUT_OF_STRING_BUFFER, XCE,
+ "Out of string memory, please modify StringMemory config parameter"},
+ {NDBD_EXIT_CREATE_TABLE_UNKNOWN, XIE,
+ "Unknown error occured during table creation"},
/* DIH */
{NDBD_EXIT_MAX_CRASHED_REPLICAS, XFL,
| Thread |
|---|
| • bk commit into 5.1 tree (dli:1.2293) BUG#22548 | David Li | 28 Sep |