summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorunknown <gshchepa/uchum@gleb.loc>2007-06-01 02:15:40 +0500
committerunknown <gshchepa/uchum@gleb.loc>2007-06-01 02:15:40 +0500
commite2c7a5b044ae6fb2dbe19de5c3cb7c009b7d8ac6 (patch)
tree2464e35ac1fc3c6499ea1a129f195760779924a1 /sql/table.h
parentc57d6f729db784d02a0d0d62f1f9d03ab22fcfda (diff)
downloadmariadb-git-e2c7a5b044ae6fb2dbe19de5c3cb7c009b7d8ac6.tar.gz
Fixed bug #27827.
ON conditions from JOIN expression were ignored at CHECK OPTION check when updating a multi-table view with CHECK OPTION. The st_table_list::prep_check_option function has been modified to to take into account ON conditions at CHECK OPTION check It was also changed to build the check option condition only once for any update used in PS/SP. sql/table.h: Fixed bug #27827. The st_table_list::check_option_processed variable has been added to build the check option condition only once for any update used in PS/SP. sql/table.cc: Fixed bug #27827. The st_table_list::prep_check_option function has been modified to to take into account ON conditions at CHECK OPTION check It was also changed to build the check option condition only once for any update used in PS/SP. mysql-test/t/view.test: Updated test case for bug #27827. mysql-test/r/view.result: Updated test case for bug #27827.
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h
index 952b575c00e..d4dc3e8c0b8 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -685,6 +685,8 @@ typedef struct st_table_list
bool compact_view_format; /* Use compact format for SHOW CREATE VIEW */
/* view where processed */
bool where_processed;
+ /* TRUE <=> VIEW CHECK OPTION expression has been processed */
+ bool check_option_processed;
/* FRMTYPE_ERROR if any type is acceptable */
enum frm_type_enum required_type;
char timestamp_buffer[20]; /* buffer for timestamp (19+1) */