diff options
author | unknown <bell@sanja.is.com.ua> | 2004-07-21 12:14:45 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-07-21 12:14:45 +0300 |
commit | d3f575c3647d4bb444192b7938a8aa4df64d1be9 (patch) | |
tree | fb9358ed7616999495ef787b2bda06ebb96f69ba /sql/sql_view.cc | |
parent | b01e2f6ddcc93045c9a6bf49294dbf535e3ac4aa (diff) | |
download | mariadb-git-d3f575c3647d4bb444192b7938a8aa4df64d1be9.tar.gz |
test of duplicate field names (BUG#4608)
mysql-test/r/view.result:
test of duplicate field names
mysql-test/t/view.test:
test of duplicate field names
sql/sql_view.cc:
test of duplicate field names
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r-- | sql/sql_view.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index a4293bd4cd7..ed42c684803 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -204,6 +204,26 @@ int mysql_create_view(THD *thd, } } + /* Test absence of duplicates names */ + { + Item *item; + List_iterator_fast<Item> it(select_lex->item_list); + it++; + while((item= it++)) + { + Item *check; + List_iterator_fast<Item> itc(select_lex->item_list); + while((check= itc++) && check != item) + { + if (strcmp(item->name, check->name) == 0) + { + my_error(ER_DUP_FIELDNAME, MYF(0), item->name); + DBUG_RETURN(-1); + } + } + } + } + #ifndef NO_EMBEDDED_ACCESS_CHECKS /* Compare/check grants on view with grants of underlaying tables |