summaryrefslogtreecommitdiff
path: root/sql/ha_ndbcluster.cc
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-02-07 00:03:39 +0100
committerunknown <tomas@poseidon.ndb.mysql.com>2006-02-07 00:03:39 +0100
commit8deb6616bc80eb883b6243077acd9a01ae5fae03 (patch)
tree0283b4f66e5d11ac31e040752e9f7c5ce4ffc3e7 /sql/ha_ndbcluster.cc
parent1076e176ce965a9d37fcdc71e6eb3447c3931005 (diff)
downloadmariadb-git-8deb6616bc80eb883b6243077acd9a01ae5fae03.tar.gz
Bug #17154 load data infile of char values into a table of char(PK) hangs
Bug #17158 load data infile of char values into table of char with no (PK) fails to load Bug #17081 Doing "LOAD DATA INFILE" directly after delete can cause missing data mysql-test/r/ndb_load.result: New BitKeeper file ``mysql-test/r/ndb_load.result'' mysql-test/t/ndb_load.test: New BitKeeper file ``mysql-test/t/ndb_load.test''
Diffstat (limited to 'sql/ha_ndbcluster.cc')
-rw-r--r--sql/ha_ndbcluster.cc22
1 files changed, 18 insertions, 4 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index 594551b918a..f5c0f3dc173 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -3046,9 +3046,23 @@ int ha_ndbcluster::end_bulk_insert()
"rows_inserted:%d, bulk_insert_rows: %d",
(int) m_rows_inserted, (int) m_bulk_insert_rows));
m_bulk_insert_not_flushed= FALSE;
- if (execute_no_commit(this,trans) != 0) {
- no_uncommitted_rows_execute_failure();
- my_errno= error= ndb_err(trans);
+ if (m_transaction_on)
+ {
+ if (execute_no_commit(this, trans) != 0)
+ {
+ no_uncommitted_rows_execute_failure();
+ my_errno= error= ndb_err(trans);
+ }
+ }
+ else
+ {
+ if (execute_commit(this, trans) != 0)
+ {
+ no_uncommitted_rows_execute_failure();
+ my_errno= error= ndb_err(trans);
+ }
+ int res= trans->restart();
+ DBUG_ASSERT(res == 0);
}
}
@@ -4867,7 +4881,7 @@ bool ha_ndbcluster::low_byte_first() const
}
bool ha_ndbcluster::has_transactions()
{
- return m_transaction_on;
+ return TRUE;
}
const char* ha_ndbcluster::index_type(uint key_number)
{