1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-15 08:21:24 +03:00
Files
mariadb/mysql-test/t
unknown 4a76ac5fa6 Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF()
thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit was not restored at the end of SF() invocation, where
SF() modified non-ta table.
As the result of this artifact it was not possible to detect whether there were any side-effects when
top-level query ends. 
If the top level query table was not modified and the bit is lost there would be no binlogging.

Fixed with preserving the bit inside of thd->no_trans_update struct. The struct agregates two bool flags
telling whether the current query and the current transaction modified any non-ta table.
The flags stmt, all are dropped at the end of the query and the transaction.


mysql-test/r/sp_trans.result:
  results will be changed once again after bug#23333 will be fixed.
mysql-test/t/sp_trans.test:
  regression test added
sql/ha_ndbcluster.cc:
  replacing thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit and bool thd->no_trans_update
  with thd->no_trans_update as struct
sql/handler.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/log.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/set_var.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sp_head.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_class.h:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_delete.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_insert.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_load.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_parse.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_table.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
sql/sql_update.cc:
  replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit
  with the member thd->no_trans_update.all;
  converting thd->no_trans_update into struct of bools.
2007-03-23 17:12:58 +02:00
..
2007-03-14 11:54:20 +02:00
2006-11-20 22:42:06 +02:00
2006-11-20 22:42:06 +02:00
2007-03-08 00:27:42 +03:00
2006-11-29 13:56:59 -05:00
2007-01-23 10:11:53 -08:00
2006-11-20 22:42:06 +02:00
2007-03-02 15:09:44 +04:00
2006-11-20 22:42:06 +02:00
2007-02-10 23:55:56 -08:00
2007-02-09 12:54:50 -08:00
2006-11-15 10:23:27 +01:00
2007-02-07 14:22:19 -08:00
2007-02-24 13:12:20 +03:00
2007-02-24 13:12:20 +03:00
2007-03-01 20:59:08 +01:00
2007-02-19 20:30:34 +01:00
2006-11-20 22:42:06 +02:00
2007-02-01 18:00:24 +04:00
2006-11-15 10:23:27 +01:00
2006-11-15 10:23:27 +01:00
2007-02-08 15:53:14 +01:00
2006-11-15 10:23:27 +01:00
2006-11-15 10:23:27 +01:00
2006-09-21 00:59:48 +02:00
2006-12-11 18:52:24 -07:00
2006-11-20 22:42:06 +02:00
2007-03-08 21:42:41 +04:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-08-30 13:20:39 -07:00
2006-11-20 22:42:06 +02:00
2007-01-26 17:10:45 -08:00
2007-02-01 18:00:24 +04:00
2007-03-20 00:46:19 +03:00
2007-03-08 21:42:41 +04:00
2007-02-24 13:12:20 +03:00
2007-02-24 13:12:20 +03:00