summaryrefslogtreecommitdiff
path: root/sql/sql_trigger.h
diff options
context:
space:
mode:
authordlenev@brandersnatch.localdomain <>2004-11-24 12:24:02 +0300
committerdlenev@brandersnatch.localdomain <>2004-11-24 12:24:02 +0300
commitd201074611193e42a5d36e6ba5bae908e373b5bc (patch)
treee5217019f248cb3d89f1bdfd2b0fb0aee9410520 /sql/sql_trigger.h
parent8c401b55696785434060c661994dd7726cd495e1 (diff)
downloadmariadb-git-d201074611193e42a5d36e6ba5bae908e373b5bc.tar.gz
Fix for bug #5888 "Triggers with nonexistent columns cause packets
out of order". (final version) Now instead of binding Item_trigger_field to TABLE objects during trigger definition parsing at table open, we perform pass through special list of all such objects in trigger. This allows easily check all references to fields in old/new version of row in trigger during execution of CREATE TRIGGER statement (this is more courtesy for users since we can't check everything anyway). We also report that such reference is bad by returning error from Item_trigger_field::fix_fields() method (instead of setup_field()) This means that if trigger is broken we will bark during trigger execution instead of trigger definition parsing at table open. (i.e. now we allow to open tables with broken triggers).
Diffstat (limited to 'sql/sql_trigger.h')
-rw-r--r--sql/sql_trigger.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/sql_trigger.h b/sql/sql_trigger.h
index d0376f056d9..82e7c1ce023 100644
--- a/sql/sql_trigger.h
+++ b/sql/sql_trigger.h
@@ -65,4 +65,7 @@ public:
}
friend class Item_trigger_field;
+
+private:
+ bool prepare_old_row_accessors(TABLE *table);
};