WL# 1729 Handler: error text for NDB errors

- Close an open scan if index_read is called without closing the previous one.
- Removed some errors that occured during previous merge
parent f16aa69d
...@@ -312,4 +312,6 @@ ...@@ -312,4 +312,6 @@
#define ER_TOO_MUCH_AUTO_TIMESTAMP_COLS 1293 #define ER_TOO_MUCH_AUTO_TIMESTAMP_COLS 1293
#define ER_INVALID_ON_UPDATE 1294 #define ER_INVALID_ON_UPDATE 1294
#define ER_UNSUPPORTED_PS 1295 #define ER_UNSUPPORTED_PS 1295
#define ER_NDB_ERROR 1296
#define ER_NDB_TEMPORARY_ERROR 1297
#define ER_ERROR_MESSAGES 296 #define ER_ERROR_MESSAGES 296
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
static const int parallelism= 240; static const int parallelism= 240;
#define NDB_HIDDEN_PRIMARY_KEY_LENGTH 8 #define NDB_HIDDEN_PRIMARY_KEY_LENGTH 8
#define NDB_ERR_CODE_OFFSET 30000
#define ERR_PRINT(err) \ #define ERR_PRINT(err) \
DBUG_PRINT("error", ("Error: %d message: %s", err.code, err.message)) DBUG_PRINT("error", ("Error: %d message: %s", err.code, err.message))
...@@ -63,6 +64,8 @@ bool ndbcluster_inited= false; ...@@ -63,6 +64,8 @@ bool ndbcluster_inited= false;
static const char* unique_suffix= "$unique"; static const char* unique_suffix= "$unique";
#endif #endif
static Ndb* g_ndb= NULL;
// Handler synchronization // Handler synchronization
pthread_mutex_t ndbcluster_mutex; pthread_mutex_t ndbcluster_mutex;
...@@ -96,6 +99,20 @@ static const err_code_mapping err_map[]= ...@@ -96,6 +99,20 @@ static const err_code_mapping err_map[]=
{ 721, HA_ERR_TABLE_EXIST }, { 721, HA_ERR_TABLE_EXIST },
{ 4244, HA_ERR_TABLE_EXIST }, { 4244, HA_ERR_TABLE_EXIST },
{ 241, HA_ERR_OLD_METADATA }, { 241, HA_ERR_OLD_METADATA },
{ 266, HA_ERR_LOCK_WAIT_TIMEOUT },
{ 274, HA_ERR_LOCK_WAIT_TIMEOUT },
{ 296, HA_ERR_LOCK_WAIT_TIMEOUT },
{ 297, HA_ERR_LOCK_WAIT_TIMEOUT },
{ 237, HA_ERR_LOCK_WAIT_TIMEOUT },
{ 623, HA_ERR_RECORD_FILE_FULL },
{ 624, HA_ERR_RECORD_FILE_FULL },
{ 625, HA_ERR_RECORD_FILE_FULL },
{ 826, HA_ERR_RECORD_FILE_FULL },
{ 827, HA_ERR_RECORD_FILE_FULL },
{ 832, HA_ERR_RECORD_FILE_FULL },
{ -1, -1 } { -1, -1 }
}; };
...@@ -106,7 +123,7 @@ static int ndb_to_mysql_error(const NdbError *err) ...@@ -106,7 +123,7 @@ static int ndb_to_mysql_error(const NdbError *err)
for (i=0 ; err_map[i].ndb_err != err->code ; i++) for (i=0 ; err_map[i].ndb_err != err->code ; i++)
{ {
if (err_map[i].my_err == -1) if (err_map[i].my_err == -1)
return err->code; return err->code+NDB_ERR_CODE_OFFSET;
} }
return err_map[i].my_err; return err_map[i].my_err;
} }
...@@ -143,6 +160,31 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans) ...@@ -143,6 +160,31 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans)
} }
/*
Override the default print_error in order to add the
error message of NDB
*/
void ha_ndbcluster::print_error(int error, myf errflag)
{
DBUG_ENTER("ha_ndbcluster::print_error");
DBUG_PRINT("enter", ("error: %d, errflag: %d", error, errflag));
if (error >= NDB_ERR_CODE_OFFSET)
{
error-= NDB_ERR_CODE_OFFSET;
const NdbError err= g_ndb->getNdbError(error);
int textno= (err.status==NdbError::TemporaryError) ?
ER_NDB_TEMPORARY_ERROR : ER_NDB_ERROR;
my_error(textno,MYF(0),error,err.message);
DBUG_VOID_RETURN;
}
handler::print_error(error, errflag);
DBUG_VOID_RETURN;
}
/* /*
Instruct NDB to set the value of the hidden primary key Instruct NDB to set the value of the hidden primary key
*/ */
...@@ -418,11 +460,10 @@ void ha_ndbcluster::release_metadata() ...@@ -418,11 +460,10 @@ void ha_ndbcluster::release_metadata()
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
NdbCursorOperation::LockMode get_ndb_lock_type(enum thr_lock_type type)
inline int ha_ndbcluster::get_ndb_lock_type()
{ {
return (int)((m_lock.type == TL_WRITE_ALLOW_WRITE) ? return (type == TL_WRITE_ALLOW_WRITE) ?
NdbCursorOperation::LM_Exclusive : NdbCursorOperation::LM_Read); NdbCursorOperation::LM_Exclusive : NdbCursorOperation::LM_Read;
} }
static const ulong index_type_flags[]= static const ulong index_type_flags[]=
...@@ -804,9 +845,7 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key, ...@@ -804,9 +845,7 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key,
index_name= get_index_name(active_index); index_name= get_index_name(active_index);
if (!(op= trans->getNdbScanOperation(index_name, m_tabname))) if (!(op= trans->getNdbScanOperation(index_name, m_tabname)))
ERR_RETURN(trans->getNdbError()); ERR_RETURN(trans->getNdbError());
if (!(cursor= if (!(cursor= op->readTuples(parallelism, get_ndb_lock_type(m_lock.type))))
op->readTuples(parallelism,
(NdbCursorOperation::LockMode)get_ndb_lock_type())))
ERR_RETURN(trans->getNdbError()); ERR_RETURN(trans->getNdbError());
m_active_cursor= cursor; m_active_cursor= cursor;
...@@ -822,47 +861,15 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key, ...@@ -822,47 +861,15 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key,
if (end_key) if (end_key)
{ {
if (start_key && start_key->flag == HA_READ_KEY_EXACT) if (start_key && start_key->flag == HA_READ_KEY_EXACT)
{
DBUG_PRINT("info", ("start_key is HA_READ_KEY_EXACT ignoring end_key")); DBUG_PRINT("info", ("start_key is HA_READ_KEY_EXACT ignoring end_key"));
}
else if (set_bounds(op, end_key, else if (set_bounds(op, end_key,
(end_key->flag == HA_READ_AFTER_KEY) ? (end_key->flag == HA_READ_AFTER_KEY) ?
NdbOperation::BoundGE : NdbOperation::BoundGE :
NdbOperation::BoundGT)) NdbOperation::BoundGT))
DBUG_RETURN(1); DBUG_RETURN(1);
} }
// Define attributes to read
for (i= 0; i < no_fields; i++)
{
Field *field= table->field[i];
if ((thd->query_id == field->query_id) ||
(field->flags & PRI_KEY_FLAG) ||
retrieve_all_fields)
{
if (get_ndb_value(op, i, field->ptr))
ERR_RETURN(op->getNdbError());
}
else
{
m_value[i]= NULL;
}
}
if (table->primary_key == MAX_KEY)
{
DBUG_PRINT("info", ("Getting hidden key"));
// Scanning table with no primary key
int hidden_no= no_fields;
#ifndef DBUG_OFF
const NDBTAB *tab= (NDBTAB *) m_table;
if (!tab->getColumn(hidden_no))
DBUG_RETURN(1);
#endif
if (get_ndb_value(op, hidden_no, NULL))
ERR_RETURN(op->getNdbError());
}
if (trans->execute(NoCommit) != 0)
DBUG_RETURN(ndb_err(trans));
DBUG_PRINT("exit", ("Scan started successfully"));
DBUG_RETURN(define_read_attrs(buf, op)); DBUG_RETURN(define_read_attrs(buf, op));
} }
...@@ -898,9 +905,7 @@ int ha_ndbcluster::filtered_scan(const byte *key, uint key_len, ...@@ -898,9 +905,7 @@ int ha_ndbcluster::filtered_scan(const byte *key, uint key_len,
if (!(op= trans->getNdbScanOperation(m_tabname))) if (!(op= trans->getNdbScanOperation(m_tabname)))
ERR_RETURN(trans->getNdbError()); ERR_RETURN(trans->getNdbError());
if (!(cursor= if (!(cursor= op->readTuples(parallelism, get_ndb_lock_type(m_lock.type))))
op->readTuples(parallelism,
(NdbCursorOperation::LockMode)get_ndb_lock_type())))
ERR_RETURN(trans->getNdbError()); ERR_RETURN(trans->getNdbError());
m_active_cursor= cursor; m_active_cursor= cursor;
...@@ -969,9 +974,7 @@ int ha_ndbcluster::full_table_scan(byte *buf) ...@@ -969,9 +974,7 @@ int ha_ndbcluster::full_table_scan(byte *buf)
if (!(op=trans->getNdbScanOperation(m_tabname))) if (!(op=trans->getNdbScanOperation(m_tabname)))
ERR_RETURN(trans->getNdbError()); ERR_RETURN(trans->getNdbError());
if (!(cursor= if (!(cursor= op->readTuples(parallelism, get_ndb_lock_type(m_lock.type))))
op->readTuples(parallelism,
(NdbCursorOperation::LockMode)get_ndb_lock_type())))
ERR_RETURN(trans->getNdbError()); ERR_RETURN(trans->getNdbError());
m_active_cursor= cursor; m_active_cursor= cursor;
DBUG_RETURN(define_read_attrs(buf, op)); DBUG_RETURN(define_read_attrs(buf, op));
...@@ -1475,7 +1478,7 @@ int ha_ndbcluster::index_init(uint index) ...@@ -1475,7 +1478,7 @@ int ha_ndbcluster::index_init(uint index)
int ha_ndbcluster::index_end() int ha_ndbcluster::index_end()
{ {
DBUG_ENTER("index_end"); DBUG_ENTER("index_end");
DBUG_RETURN(rnd_end()); DBUG_RETURN(close_scan());
} }
...@@ -1491,6 +1494,9 @@ int ha_ndbcluster::index_read(byte *buf, ...@@ -1491,6 +1494,9 @@ int ha_ndbcluster::index_read(byte *buf,
int error= 1; int error= 1;
statistic_increment(ha_read_key_count, &LOCK_status); statistic_increment(ha_read_key_count, &LOCK_status);
if (m_active_cursor)
close_scan();
switch (get_index_type(active_index)){ switch (get_index_type(active_index)){
case PRIMARY_KEY_INDEX: case PRIMARY_KEY_INDEX:
#ifdef USE_EXTRA_ORDERED_INDEX #ifdef USE_EXTRA_ORDERED_INDEX
...@@ -1644,19 +1650,23 @@ int ha_ndbcluster::rnd_init(bool scan) ...@@ -1644,19 +1650,23 @@ int ha_ndbcluster::rnd_init(bool scan)
DBUG_RETURN(0); DBUG_RETURN(0);
} }
int ha_ndbcluster::close_scan()
{
NdbResultSet *cursor= m_active_cursor;
DBUG_ENTER("close_scan");
if (!cursor)
DBUG_RETURN(1);
cursor->close();
m_active_cursor= NULL;
DBUG_RETURN(0)
}
int ha_ndbcluster::rnd_end() int ha_ndbcluster::rnd_end()
{ {
NdbResultSet *cursor= m_active_cursor;
DBUG_ENTER("rnd_end"); DBUG_ENTER("rnd_end");
DBUG_RETURN(close_scan());
if (cursor)
{
DBUG_PRINT("info", ("Closing the cursor"));
cursor->close();
m_active_cursor= NULL;
}
DBUG_RETURN(0);
} }
...@@ -2870,7 +2880,6 @@ int ndbcluster_discover(const char *dbname, const char *name, ...@@ -2870,7 +2880,6 @@ int ndbcluster_discover(const char *dbname, const char *name,
DBUG_RETURN(0); DBUG_RETURN(0);
} }
static Ndb* g_ndb= NULL;
#ifdef USE_DISCOVER_ON_STARTUP #ifdef USE_DISCOVER_ON_STARTUP
/* /*
......
...@@ -81,7 +81,7 @@ class ha_ndbcluster: public handler ...@@ -81,7 +81,7 @@ class ha_ndbcluster: public handler
bool sorted); bool sorted);
int read_range_next(bool eq_range); int read_range_next(bool eq_range);
void print_error(int error, myf errflag);
void info(uint); void info(uint);
int extra(enum ha_extra_function operation); int extra(enum ha_extra_function operation);
int extra_opt(enum ha_extra_function operation, ulong cache_size); int extra_opt(enum ha_extra_function operation, ulong cache_size);
...@@ -152,7 +152,6 @@ class ha_ndbcluster: public handler ...@@ -152,7 +152,6 @@ class ha_ndbcluster: public handler
const char* get_unique_index_name(uint idx_no) const; const char* get_unique_index_name(uint idx_no) const;
NDB_INDEX_TYPE get_index_type(uint idx_no) const; NDB_INDEX_TYPE get_index_type(uint idx_no) const;
NDB_INDEX_TYPE get_index_type_from_table(uint index_no) const; NDB_INDEX_TYPE get_index_type_from_table(uint index_no) const;
int get_ndb_lock_type();
int pk_read(const byte *key, uint key_len, int pk_read(const byte *key, uint key_len,
byte *buf); byte *buf);
...@@ -167,6 +166,7 @@ class ha_ndbcluster: public handler ...@@ -167,6 +166,7 @@ class ha_ndbcluster: public handler
int filtered_scan(const byte *key, uint key_len, int filtered_scan(const byte *key, uint key_len,
byte *buf, byte *buf,
enum ha_rkey_function find_flag); enum ha_rkey_function find_flag);
int close_scan();
void unpack_record(byte *buf); void unpack_record(byte *buf);
void set_dbname(const char *pathname); void set_dbname(const char *pathname);
......
...@@ -308,3 +308,5 @@ character-set=latin2 ...@@ -308,3 +308,5 @@ character-set=latin2
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -302,3 +302,5 @@ character-set=latin1 ...@@ -302,3 +302,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -310,3 +310,5 @@ character-set=latin1 ...@@ -310,3 +310,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -299,3 +299,5 @@ character-set=latin1 ...@@ -299,3 +299,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -304,3 +304,5 @@ character-set=latin7 ...@@ -304,3 +304,5 @@ character-set=latin7
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -299,3 +299,5 @@ character-set=latin1 ...@@ -299,3 +299,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -311,3 +311,5 @@ character-set=latin1 ...@@ -311,3 +311,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -299,3 +299,5 @@ character-set=greek ...@@ -299,3 +299,5 @@ character-set=greek
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -301,3 +301,5 @@ character-set=latin2 ...@@ -301,3 +301,5 @@ character-set=latin2
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -299,3 +299,5 @@ character-set=latin1 ...@@ -299,3 +299,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -301,3 +301,5 @@ character-set=ujis ...@@ -301,3 +301,5 @@ character-set=ujis
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -299,3 +299,5 @@ character-set=euckr ...@@ -299,3 +299,5 @@ character-set=euckr
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -301,3 +301,5 @@ character-set=latin1 ...@@ -301,3 +301,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -301,3 +301,5 @@ character-set=latin1 ...@@ -301,3 +301,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -303,3 +303,5 @@ character-set=latin2 ...@@ -303,3 +303,5 @@ character-set=latin2
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -300,3 +300,5 @@ character-set=latin1 ...@@ -300,3 +300,5 @@ character-set=latin1
"Incorreta definição de tabela; Pode ter somente uma coluna TIMESTAMP com CURRENT_TIMESTAMP em DEFAULT ou ON UPDATE cláusula" "Incorreta definição de tabela; Pode ter somente uma coluna TIMESTAMP com CURRENT_TIMESTAMP em DEFAULT ou ON UPDATE cláusula"
"Inválida cláusula ON UPDATE para campo '%-.64s'", "Inválida cláusula ON UPDATE para campo '%-.64s'",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -303,3 +303,5 @@ character-set=latin2 ...@@ -303,3 +303,5 @@ character-set=latin2
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -301,3 +301,5 @@ character-set=koi8r ...@@ -301,3 +301,5 @@ character-set=koi8r
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -293,3 +293,5 @@ character-set=cp1250 ...@@ -293,3 +293,5 @@ character-set=cp1250
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -307,3 +307,5 @@ character-set=latin2 ...@@ -307,3 +307,5 @@ character-set=latin2
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -301,3 +301,5 @@ character-set=latin1 ...@@ -301,3 +301,5 @@ character-set=latin1
"Incorrecta definición de tabla; Solamente debe haber una columna TIMESTAMP con CURRENT_TIMESTAMP en DEFAULT o ON UPDATE cláusula" "Incorrecta definición de tabla; Solamente debe haber una columna TIMESTAMP con CURRENT_TIMESTAMP en DEFAULT o ON UPDATE cláusula"
"Inválido ON UPDATE cláusula para campo '%-.64s'", "Inválido ON UPDATE cláusula para campo '%-.64s'",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
...@@ -299,3 +299,5 @@ character-set=latin1 ...@@ -299,3 +299,5 @@ character-set=latin1
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Fick NDB felkod %d '%-.100s'",
"Fick tilfällig NDB felkod %d '%-.100s'",
...@@ -304,3 +304,5 @@ character-set=koi8u ...@@ -304,3 +304,5 @@ character-set=koi8u
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" "Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"
"Invalid ON UPDATE clause for '%-.64s' field", "Invalid ON UPDATE clause for '%-.64s' field",
"This command is not supported in the prepared statement protocol yet", "This command is not supported in the prepared statement protocol yet",
"Got NDB error %d '%-.100s'",
"Got temporary NDB error %d '%-.100s'",
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