summaryrefslogtreecommitdiff
path: root/sql/sql_view.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-07-21 12:14:45 +0300
committerunknown <bell@sanja.is.com.ua>2004-07-21 12:14:45 +0300
commitd3f575c3647d4bb444192b7938a8aa4df64d1be9 (patch)
treefb9358ed7616999495ef787b2bda06ebb96f69ba /sql/sql_view.cc
parentb01e2f6ddcc93045c9a6bf49294dbf535e3ac4aa (diff)
downloadmariadb-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.cc20
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