summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-05-12 00:29:52 +0300
committermonty@mysql.com <>2004-05-12 00:29:52 +0300
commit116f61c656678830e045938c26c3b4b6c89aa4b0 (patch)
tree11c75fdf1dd0dbc84178dbfbb39f5a584d19d581 /sql/sql_class.h
parent6ad9691dc8098aa94cd1994e009d4eb48f689265 (diff)
downloadmariadb-git-116f61c656678830e045938c26c3b4b6c89aa4b0.tar.gz
Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
Prefer not automatic keys before automatic keys. If there is two conf
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index a2094d8fe7c..e602b7d6d5f 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -240,14 +240,16 @@ public:
enum ha_key_alg algorithm;
List<key_part_spec> columns;
const char *name;
+ bool generated;
Key(enum Keytype type_par, const char *name_arg, enum ha_key_alg alg_par,
- List<key_part_spec> &cols)
- :type(type_par), algorithm(alg_par), columns(cols), name(name_arg)
+ bool generated_arg, List<key_part_spec> &cols)
+ :type(type_par), algorithm(alg_par), columns(cols), name(name_arg),
+ generated(generated_arg)
{}
~Key() {}
/* Equality comparison of keys (ignoring name) */
- bool operator==(Key& other);
+ friend bool foreign_key_prefix(Key *a, Key *b);
};
class Table_ident;
@@ -265,7 +267,7 @@ public:
foreign_key(const char *name_arg, List<key_part_spec> &cols,
Table_ident *table, List<key_part_spec> &ref_cols,
uint delete_opt_arg, uint update_opt_arg, uint match_opt_arg)
- :Key(FOREIGN_KEY, name_arg, HA_KEY_ALG_UNDEF, cols),
+ :Key(FOREIGN_KEY, name_arg, HA_KEY_ALG_UNDEF, 0, cols),
ref_table(table), ref_columns(cols),
delete_opt(delete_opt_arg), update_opt(update_opt_arg),
match_opt(match_opt_arg)