--- parser3/tests/129.html 2003/04/11 10:57:24 1.1.2.1
+++ parser3/tests/129.html 2009/07/08 00:08:18 1.5
@@ -1,15 +1,116 @@
-$table[^table::create{group name
-first a
-first b
-second c
-third d
-third e
-}]
-
-$distinct_tables[^table.hash[group][
- $.distinct[tables]
-]]
-
-^distinct_tables.foreach[key;table]{
- $key ^table.menu{$table.name}[,]
-}
\ No newline at end of file
+@main[]
+$table[^table::create{group name
+first a
+first b
+second c
+third d
+third e
+}]
+
+
+^do[unique key, no value columns, no options]{
+ ^table.hash[name]
+}
+
+
+^do[non-unique key, no value columns, no options]{
+ ^table.hash[group]
+}[if key not unique ^$.distinct(1) must be specified]
+
+
+^do[non-unique key, no value columns, options: ^$.distinct[tables] (backward)]{
+ ^table.hash[group][
+ $.distinct[tables]
+ ]
+}
+
+
+^do[non-unique key, no value columns, options: ^$.distinct[tables], ^$.type[hash] ]{
+ ^table.hash[group][
+ $.distinct[tables]
+ $.type[hash]
+ ]
+}[^$.distinct[tables] and ^$.type[...] can't be specified together]
+
+
+^do[non-unique key, no value columns, options: ^$.distinct(1) ^$.type[table]]{
+ ^table.hash[group][
+ $.distinct(1)
+ $.type[table]
+ ]
+}
+
+
+^do[non-unique key, no value columns, options: ^$.distinct(1) ^$.type[table]]{
+ ^table.hash[group][
+ $.type[table]
+ ]
+}[non unique key without distinct option]
+
+
+^do[unique key, no value columns, options: ^$.type[table]]{
+ ^table.hash[name][
+ $.type[table]
+ ]
+}
+
+
+^do[non-unique key, no value columns, options: ^$.distinct(1) ^$.type[hash]]{
+ ^table.hash[group][
+ $.distinct(1)
+ $.type[hash]
+ ]
+}
+
+
+^do[non-unique key, no value columns, options: ^$.distinct(1) (as above because ^$.type[hash] == default)]{
+ ^table.hash[group][
+ $.distinct(1)
+ ]
+}
+
+
+^do[non-unique key, no value columns, options: ^$.distinct(1) ^$.type[string]]{
+ ^table.hash[group][
+ $.distinct(1)
+ $.type[string]
+ ]
+}[with ^$.type[string] only one field must be specified]
+
+
+^do[non-unique key, one value column (name), options: ^$.distinct(1) ^$.type[string]]{
+ ^table.hash[group;name][
+ $.distinct(1)
+ $.type[string]
+ ]
+}
+
+
+
+
+@do[sTitle;jCode;sExceptionComment][h]
+
^print[$v]}}}