summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authorunknown <pem@mysql.comhem.se>2004-06-09 14:19:43 +0200
committerunknown <pem@mysql.comhem.se>2004-06-09 14:19:43 +0200
commit6762a651332177519e1b6054b5a264a1ff5f84c9 (patch)
tree5e8861a9a6f52591f3b0370b27f8eba69baae838 /sql/sp_head.h
parent54e3909b04691ad96f411413bc6db71a9d2e2233 (diff)
downloadmariadb-git-6762a651332177519e1b6054b5a264a1ff5f84c9.tar.gz
Fixed BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
It's not possible to quote the definition according to the current sql_mode setting, so instead we use the setting stored with the SP (that's how it's parsed anyway), and show this setting in the SHOW CREATE output. mysql-test/r/sp.result: Modifed SHOW CREATE FUNCTION|PROCEDURE output. Show the sql_mode used at creation as well. New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES. mysql-test/t/sp.test: New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES. sql/sp.cc: Rewrote create_string to quote things correctly according to the sql_mode used at creation time. sql/sp_head.cc: Store sql_mode in sp_head and use it for SHOW CREATE. sql/sp_head.h: Store sql_mode in sp_head and use it for SHOW CREATE.
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r--sql/sp_head.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h
index e9ec7068783..fd6ecfd7320 100644
--- a/sql/sp_head.h
+++ b/sql/sp_head.h
@@ -85,6 +85,7 @@ public:
my_bool m_multi_results; // TRUE if a procedure with SELECT(s)
uint m_old_cmq; // Old CLIENT_MULTI_QUERIES value
st_sp_chistics *m_chistics;
+ ulong m_sql_mode; // For SHOW CREATE
#if NOT_USED_NOW
// QQ We're not using this at the moment.
List<char *> m_calls; // Called procedures.
@@ -194,7 +195,7 @@ public:
void set_info(char *definer, uint definerlen,
longlong created, longlong modified,
- st_sp_chistics *chistics);
+ st_sp_chistics *chistics, ulong sql_mode);
void reset_thd_mem_root(THD *thd);