Changeset: 098f16b88412 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/098f16b88412
Modified Files:
sql/storage/bat/bat_storage.c
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320-Windows.test
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test
sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.test
sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.test
sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.test
sql/test/BugTracker-2015/Tests/schema_view.Bug-3708.test
sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.test
sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.test
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.test
sql/test/SQLancer/Tests/sqlancer08.test
sql/test/astro/Tests/astro.test
sql/test/merge-partitions/Tests/mergepart31.test
sql/test/miscellaneous/Tests/simple_plans.test
Branch: properties
Log Message:
Make sure storage is initialized when fetching properties. Don't look at views.
diffs (truncated from 474 to 300 lines):
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -2728,12 +2728,12 @@ dcount_col(sql_trans *tr, sql_column *c)
}
static BAT *
-bind_no_view(BAT *b)
+bind_no_view(BAT *b, bool quick)
{
if (isVIEW(b)) { /* If it is a view get the parent BAT */
BAT *nb = BBP_cache(VIEWtparent(b));
bat_destroy(b);
- if (!(b = temp_descriptor(nb->batCacheid)))
+ if (!(b = quick ? quick_descriptor(nb->batCacheid) :
temp_descriptor(nb->batCacheid)))
return NULL;
}
return b;
@@ -2763,7 +2763,7 @@ min_max_col(sql_trans *tr, sql_column *c
_DELETE(c->min);
_DELETE(c->max);
if ((b = bind_col(tr, c, access))) {
- if (!(b = bind_no_view(b))) {
+ if (!(b = bind_no_view(b, false))) {
unlock_column(tr->store, c->base.id);
return 0;
}
@@ -2889,7 +2889,7 @@ static int
col_stats(sql_trans *tr, sql_column *c, bool *nonil, bool *unique, double
*unique_est, ValPtr min, ValPtr max)
{
int ok = 0;
- BAT *b = NULL, *off = NULL;
+ BAT *b = NULL, *off = NULL, *upv = NULL;
sql_delta *d = NULL;
(void) tr;
@@ -2905,9 +2905,11 @@ col_stats(sql_trans *tr, sql_column *c,
*nonil = true; /* TODO for min/max. I will do it later
*/
return ok;
}
- bat bid = d->cs.st == ST_DICT ? d->cs.ebid : d->cs.bid;
- if ((b = temp_descriptor(bid))) {
- int eclass = c->type.type->eclass;
+ int eclass = c->type.type->eclass;
+ int access = d->cs.st == ST_DICT ? RD_EXT : RDONLY;
+ if ((b = bind_col(tr, c, access))) {
+ if (!(b = bind_no_view(b, false)))
+ return ok;
BATiter bi = bat_iterator(b);
*nonil = bi.nonil && !bi.nil;
@@ -2918,27 +2920,29 @@ col_stats(sql_trans *tr, sql_column *c,
if (bi.maxpos != BUN_NONE && VALinit(max,
bi.type, BUNtail(bi, bi.maxpos)))
ok |= 2;
}
- /* for dict, check the offsets bat for uniqueness */
- if (d->cs.ucnt == 0 && (d->cs.st == ST_DEFAULT || (off
= quick_descriptor(d->cs.bid)))) {
- if (off) {
+ if (d->cs.ucnt == 0) {
+ if (d->cs.st == ST_DEFAULT) {
+ *unique = bi.key;
+ *unique_est = bi.unique_est;
+ } else if (d->cs.st == ST_DICT && (off =
bind_col(tr, c, QUICK)) && (off = bind_no_view(off, true))) {
+ /* for dict, check the offsets bat for
uniqueness */
MT_lock_set(&off->theaplock);
*unique = off->tkey;
*unique_est = off->tunique_est;
MT_lock_unset(&off->theaplock);
- } else {
- *unique = bi.key;
- *unique_est = bi.unique_est;
}
}
bat_iterator_end(&bi);
bat_destroy(b);
if (*nonil && d->cs.ucnt > 0) {
- if (!(b = quick_descriptor(d->cs.uvbid))) {
+ /* This could use a quick descriptor */
+ if (!(upv = bind_col(tr, c, RD_UPD_VAL)) ||
!(upv = bind_no_view(upv, false))) {
*nonil = false;
} else {
- MT_lock_set(&b->theaplock);
- *nonil &= b->tnonil && !b->tnil;
- MT_lock_unset(&b->theaplock);
+ MT_lock_set(&upv->theaplock);
+ *nonil &= upv->tnonil && !upv->tnil;
+ MT_lock_unset(&upv->theaplock);
+ bat_destroy(upv);
}
}
}
diff --git
a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320-Windows.test
b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320-Windows.test
--- a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320-Windows.test
+++ b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320-Windows.test
@@ -8,7 +8,7 @@ query T nosort
plan copy into cm_tmp from E'\\file1',E'\\file2'
----
insert(
-| table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL, "cm_tmp"."%TID%" NOT NULL
UNIQUE ]
+| table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL UNIQUE, "cm_tmp"."%TID%" NOT
NULL UNIQUE ]
| union (
| | project (
| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n",
varchar NULL, varchar "null", varchar "\\file1", bigint(19) "-1", bigint(19)
"0", int(9) "0", varchar NULL, int(9) "0", int(9) "1"),
@@ -25,7 +25,7 @@ query T nosort
plan copy into cm_tmp from E'a:\\file1','Z:/file2'
----
insert(
-| table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL, "cm_tmp"."%TID%" NOT NULL
UNIQUE ]
+| table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL UNIQUE, "cm_tmp"."%TID%" NOT
NULL UNIQUE ]
| union (
| | project (
| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n",
varchar NULL, varchar "null", varchar "a:\\file1", bigint(19) "-1", bigint(19)
"0", int(9) "0", varchar NULL, int(9) "0", int(9) "1"),
diff --git a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test
b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test
--- a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test
+++ b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test
@@ -5,7 +5,7 @@ query T nosort
plan copy into cm_tmp from '/file1','/file2'
----
insert(
-| table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL, "cm_tmp"."%TID%" NOT NULL
UNIQUE ]
+| table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL UNIQUE, "cm_tmp"."%TID%" NOT
NULL UNIQUE ]
| union (
| | project (
| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n",
varchar NULL, varchar "null", varchar "/file1", bigint(18) "-1", bigint(18)
"0", int(9) "0", varchar NULL, int(9) "0", int(9) "1"),
diff --git a/sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.test
b/sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.test
--- a/sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.test
+++ b/sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.test
@@ -9,9 +9,9 @@ WHERE t2.a between t1.a and t1.b
----
project (
| join (
-| | table("sys"."t4311") [ "t4311"."a" NOT NULL as "t2"."a" ],
-| | table("sys"."t4311") [ "t4311"."a" NOT NULL as "t1"."a", "t4311"."b" NOT
NULL as "t1"."b" ]
-| ) [ ("t1"."a" NOT NULL) <= ("t2"."a" NOT NULL) <= ("t1"."b" NOT NULL) ]
+| | table("sys"."t4311") [ "t4311"."a" NOT NULL UNIQUE as "t2"."a" ],
+| | table("sys"."t4311") [ "t4311"."a" NOT NULL UNIQUE as "t1"."a",
"t4311"."b" NOT NULL UNIQUE as "t1"."b" ]
+| ) [ ("t1"."a" NOT NULL UNIQUE) <= ("t2"."a" NOT NULL UNIQUE) <= ("t1"."b"
NOT NULL UNIQUE) ]
) [ "t2"."a" NOT NULL ]
query T nosort
@@ -23,9 +23,9 @@ AND t2.a <= t1.b
----
project (
| join (
-| | table("sys"."t4311") [ "t4311"."a" NOT NULL as "t2"."a" ],
-| | table("sys"."t4311") [ "t4311"."a" NOT NULL as "t1"."a", "t4311"."b" NOT
NULL as "t1"."b" ]
-| ) [ ("t1"."a" NOT NULL) <= ("t2"."a" NOT NULL) <= ("t1"."b" NOT NULL) ]
+| | table("sys"."t4311") [ "t4311"."a" NOT NULL UNIQUE as "t2"."a" ],
+| | table("sys"."t4311") [ "t4311"."a" NOT NULL UNIQUE as "t1"."a",
"t4311"."b" NOT NULL UNIQUE as "t1"."b" ]
+| ) [ ("t1"."a" NOT NULL UNIQUE) <= ("t2"."a" NOT NULL UNIQUE) <= ("t1"."b"
NOT NULL UNIQUE) ]
) [ "t2"."a" NOT NULL ]
query T nosort
@@ -37,9 +37,9 @@ AND t1.b >= t2.a
----
project (
| join (
-| | table("sys"."t4311") [ "t4311"."a" NOT NULL as "t2"."a" ],
-| | table("sys"."t4311") [ "t4311"."a" NOT NULL as "t1"."a", "t4311"."b" NOT
NULL as "t1"."b" ]
-| ) [ ("t1"."a" NOT NULL) <= ("t2"."a" NOT NULL) <= ("t1"."b" NOT NULL) ]
+| | table("sys"."t4311") [ "t4311"."a" NOT NULL UNIQUE as "t2"."a" ],
+| | table("sys"."t4311") [ "t4311"."a" NOT NULL UNIQUE as "t1"."a",
"t4311"."b" NOT NULL UNIQUE as "t1"."b" ]
+| ) [ ("t1"."a" NOT NULL UNIQUE) <= ("t2"."a" NOT NULL UNIQUE) <= ("t1"."b"
NOT NULL UNIQUE) ]
) [ "t2"."a" NOT NULL ]
statement ok
diff --git
a/sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.test
b/sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.test
--- a/sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.test
+++ b/sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.test
@@ -28,9 +28,9 @@ GROUP BY cods, elrik, ether, jaelen, sor
project (
| group by (
| | project (
-| | | table("sys"."t2a") [ "t2a"."tib0" NOT NULL ]
-| | ) [ "t2a"."tib0" NOT NULL, tinyint(8) "0" as "elrik", tinyint(8) "0" as
"ether", tinyint(8) "0" as "jaelen", tinyint(8) "0" as "sora" ]
-| ) [ tinyint(8) "0" as "cods" ] [ "cods" NOT NULL, "elrik" NOT NULL, "ether"
NOT NULL, "jaelen" NOT NULL, "sora" NOT NULL, "sys"."min" no nil ("t2a"."tib0"
NOT NULL) NOT NULL as "%1"."%1" ]
+| | | table("sys"."t2a") [ "t2a"."tib0" NOT NULL UNIQUE ]
+| | ) [ "t2a"."tib0" NOT NULL UNIQUE, tinyint(8) "0" as "elrik", tinyint(8)
"0" as "ether", tinyint(8) "0" as "jaelen", tinyint(8) "0" as "sora" ]
+| ) [ tinyint(8) "0" as "cods" ] [ "cods" NOT NULL, "elrik" NOT NULL, "ether"
NOT NULL, "jaelen" NOT NULL, "sora" NOT NULL, "sys"."min" no nil ("t2a"."tib0"
NOT NULL UNIQUE) NOT NULL as "%1"."%1" ]
) [ "cods" NOT NULL UNIQUE, "elrik" NOT NULL, "ether" NOT NULL, "jaelen" NOT
NULL, "sora" NOT NULL, "%1"."%1" NOT NULL ]
statement ok
diff --git
a/sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.test
b/sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.test
--- a/sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.test
+++ b/sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.test
@@ -10,9 +10,9 @@ PLAN select quantile(y, 0.0) from x
project (
| group by (
| | project (
-| | | table("sys"."x") [ "x"."y" NOT NULL ]
-| | ) [ "x"."y" NOT NULL, double(53) "0" as "%2"."%2" ]
-| ) [ ] [ "sys"."quantile" no nil (decimal(18,3)["x"."y" NOT NULL] NOT NULL,
"%2"."%2" NOT NULL) UNIQUE as "%1"."%1" ]
+| | | table("sys"."x") [ "x"."y" NOT NULL UNIQUE ]
+| | ) [ "x"."y" NOT NULL UNIQUE, double(53) "0" as "%2"."%2" ]
+| ) [ ] [ "sys"."quantile" no nil (decimal(18,3)["x"."y" NOT NULL UNIQUE] NOT
NULL, "%2"."%2" NOT NULL) UNIQUE as "%1"."%1" ]
) [ "%1"."%1" UNIQUE ]
query T nosort
@@ -21,9 +21,9 @@ PLAN select quantile(y, 0) from x
project (
| group by (
| | project (
-| | | table("sys"."x") [ "x"."y" NOT NULL ]
-| | ) [ "x"."y" NOT NULL, double(53) "0" as "%2"."%2" ]
-| ) [ ] [ "sys"."quantile" no nil (decimal(18,3)["x"."y" NOT NULL] NOT NULL,
"%2"."%2" NOT NULL) UNIQUE as "%1"."%1" ]
+| | | table("sys"."x") [ "x"."y" NOT NULL UNIQUE ]
+| | ) [ "x"."y" NOT NULL UNIQUE, double(53) "0" as "%2"."%2" ]
+| ) [ ] [ "sys"."quantile" no nil (decimal(18,3)["x"."y" NOT NULL UNIQUE] NOT
NULL, "%2"."%2" NOT NULL) UNIQUE as "%1"."%1" ]
) [ "%1"."%1" UNIQUE ]
statement ok
diff --git a/sql/test/BugTracker-2015/Tests/schema_view.Bug-3708.test
b/sql/test/BugTracker-2015/Tests/schema_view.Bug-3708.test
--- a/sql/test/BugTracker-2015/Tests/schema_view.Bug-3708.test
+++ b/sql/test/BugTracker-2015/Tests/schema_view.Bug-3708.test
@@ -55,8 +55,8 @@ query T nosort
PLAN select * from s1.s4
----
project (
-| table("s1"."s3") [ "s3"."x" NOT NULL ]
-) [ "s3"."x" NOT NULL as "s4"."x" ]
+| table("s1"."s3") [ "s3"."x" NOT NULL UNIQUE ]
+) [ "s3"."x" NOT NULL UNIQUE as "s4"."x" ]
statement ok
set schema s2
@@ -65,8 +65,8 @@ query T nosort
PLAN select * from s1.s4
----
project (
-| table("s1"."s3") [ "s3"."x" NOT NULL ]
-) [ "s3"."x" NOT NULL as "s4"."x" ]
+| table("s1"."s3") [ "s3"."x" NOT NULL UNIQUE ]
+) [ "s3"."x" NOT NULL UNIQUE as "s4"."x" ]
statement ok
set schema sys
diff --git
a/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.test
b/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.test
---
a/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.test
+++
b/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.test
@@ -134,27 +134,27 @@ top N (
| | | | | | | | | | | | | | | | | | | | | | | | | left outer join (
| | | | | | | | | | | | | | | | | | | | | | | | | | left outer join (
| | | | | | | | | | | | | | | | | | | | | | | | | | | left outer join (
-| | | | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table1")
[ "table1"."t1pkcol" NOT NULL UNIQUE HASHCOL , "table1"."t1cola1" NOT NULL,
"table1"."t1cola11" NOT NULL, "table1"."t1cola12" NOT NULL, "table1"."t1cola82"
NOT NULL, "table1"."t1cola91" NOT NULL, "table1"."t1cola101" NOT NULL,
"table1"."t1cola111" NOT NULL, "table1"."t1cola112" NOT NULL,
"table1"."t1cola114" NOT NULL, "table1"."t1colb1" NOT NULL,
"table1"."t1colb111" NOT NULL, "table1"."t1colb112" NOT NULL,
"table1"."t1colb113" NOT NULL, "table1"."t1colb114" NOT NULL,
"table1"."t1colc91" NOT NULL, "table1"."t1cold1" NOT NULL, "table1"."t1cold111"
NOT NULL, "table1"."t1cold112" NOT NULL, "table1"."t1cold113" NOT NULL ],
-| | | | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table4")
[ "table4"."t4cola1" NOT NULL, "table4"."t4cola2" NOT NULL,
"table4"."t4cola111" NOT NULL, "table4"."t4colb111" NOT NULL,
"table4"."t4colb112" NOT NULL, "table4"."t4colb114" NOT NULL,
"table4"."t4colb115" NOT NULL ]
-| | | | | | | | | | | | | | | | | | | | | | | | | | | ) [
("table1"."t1cola111" NOT NULL) = ("table4"."t4cola111" NOT NULL) ],
-| | | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table2") [
"table2"."t2cola1" NOT NULL, "table2"."t2cola10" NOT NULL, "table2"."t2cola81"
NOT NULL, "table2"."t2cola82" NOT NULL, "table2"."t2cola112" NOT NULL,
"table2"."t2cola113" NOT NULL, "table2"."t2colc111" NOT NULL,
"table2"."t2colc112" NOT NULL, "table2"."t2colc113" NOT NULL,
"table2"."t2colc114" NOT NULL, "table2"."t2colc115" NOT NULL ]
-| | | | | | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1cola112"
NOT NULL) = ("table2"."t2cola112" NOT NULL) ],
-| | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table5") [
"table5"."t5cola1" NOT NULL, "table5"."t5cola2" NOT NULL, "table5"."t5cola3"
NOT NULL, "table5"."t5cola5" NOT NULL, "table5"."t5cola81" NOT NULL,
"table5"."t5cola113" NOT NULL, "table5"."t5colb113" NOT NULL ]
-| | | | | | | | | | | | | | | | | | | | | | | | | ) [ ("table5"."t5cola113"
NOT NULL) = ("table2"."t2cola113") ],
+| | | | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table1")
[ "table1"."t1pkcol" NOT NULL UNIQUE HASHCOL , "table1"."t1cola1" NOT NULL
UNIQUE, "table1"."t1cola11" NOT NULL UNIQUE, "table1"."t1cola12" NOT NULL
UNIQUE, "table1"."t1cola82" NOT NULL UNIQUE, "table1"."t1cola91" NOT NULL
UNIQUE, "table1"."t1cola101" NOT NULL UNIQUE, "table1"."t1cola111" NOT NULL
UNIQUE, "table1"."t1cola112" NOT NULL UNIQUE, "table1"."t1cola114" NOT NULL
UNIQUE, "table1"."t1colb1" NOT NULL UNIQUE, "table1"."t1colb111" NOT NULL
UNIQUE, "table1"."t1colb112" NOT NULL UNIQUE, "table1"."t1colb113" NOT NULL
UNIQUE, "table1"."t1colb114" NOT NULL UNIQUE, "table1"."t1colc91" NOT NULL
UNIQUE, "table1"."t1cold1" NOT NULL UNIQUE, "table1"."t1cold111" NOT NULL
UNIQUE, "table1"."t1cold112" NOT NULL UNIQUE, "table1"."t1cold113" NOT NULL
UNIQUE ],
+| | | | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table4")
[ "table4"."t4cola1" NOT NULL UNIQUE, "table4"."t4cola2" NOT NULL UNIQUE,
"table4"."t4cola111" NOT NULL UNIQUE, "table4"."t4colb111" NOT NULL UNIQUE,
"table4"."t4colb112" NOT NULL UNIQUE, "table4"."t4colb114" NOT NULL UNIQUE,
"table4"."t4colb115" NOT NULL UNIQUE ]
+| | | | | | | | | | | | | | | | | | | | | | | | | | | ) [
("table1"."t1cola111" NOT NULL UNIQUE) = ("table4"."t4cola111" NOT NULL UNIQUE)
],
+| | | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table2") [
"table2"."t2cola1" NOT NULL UNIQUE, "table2"."t2cola10" NOT NULL UNIQUE,
"table2"."t2cola81" NOT NULL UNIQUE, "table2"."t2cola82" NOT NULL UNIQUE,
"table2"."t2cola112" NOT NULL UNIQUE, "table2"."t2cola113" NOT NULL UNIQUE,
"table2"."t2colc111" NOT NULL UNIQUE, "table2"."t2colc112" NOT NULL UNIQUE,
"table2"."t2colc113" NOT NULL UNIQUE, "table2"."t2colc114" NOT NULL UNIQUE,
"table2"."t2colc115" NOT NULL UNIQUE ]
+| | | | | | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1cola112"
NOT NULL) = ("table2"."t2cola112" NOT NULL UNIQUE) ],
+| | | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table5") [
"table5"."t5cola1" NOT NULL UNIQUE, "table5"."t5cola2" NOT NULL UNIQUE,
"table5"."t5cola3" NOT NULL UNIQUE, "table5"."t5cola5" NOT NULL UNIQUE,
"table5"."t5cola81" NOT NULL UNIQUE, "table5"."t5cola113" NOT NULL UNIQUE,
"table5"."t5colb113" NOT NULL UNIQUE ]
+| | | | | | | | | | | | | | | | | | | | | | | | | ) [ ("table5"."t5cola113"
NOT NULL UNIQUE) = ("table2"."t2cola113") ],
| | | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table6") [
"table6"."t6pkcol" NOT NULL UNIQUE HASHCOL as "lookup1"."t6pkcol" ]
| | | | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1cola114" NOT
NULL) = ("lookup1"."t6pkcol" NOT NULL UNIQUE HASHCOL ) ],
-| | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table2") [
"table2"."t2colb111" NOT NULL as "lookup2"."t2colb111" ]
-| | | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb111" NOT
NULL) = ("lookup2"."t2colb111" NOT NULL) ],
-| | | | | | | | | | | | | | | | | | | | | | | table("sys"."table5") [
"table5"."t5colb112" NOT NULL as "lookup3"."t5colb112" ]
-| | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb112" NOT
NULL) = ("lookup3"."t5colb112" NOT NULL) ],
-| | | | | | | | | | | | | | | | | | | | | | table("sys"."table7") [
"table7"."t7colb113" NOT NULL as "lookup4"."t7colb113" ]
-| | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb113" NOT NULL)
= ("lookup4"."t7colb113" NOT NULL) ],
-| | | | | | | | | | | | | | | | | | | | | table("sys"."table8") [
"table8"."t8colb114" NOT NULL as "lookup5"."t8colb114" ]
-| | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb114" NOT NULL) =
("lookup5"."t8colb114" NOT NULL) ],
+| | | | | | | | | | | | | | | | | | | | | | | | table("sys"."table2") [
"table2"."t2colb111" NOT NULL UNIQUE as "lookup2"."t2colb111" ]
+| | | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb111" NOT
NULL) = ("lookup2"."t2colb111" NOT NULL UNIQUE) ],
+| | | | | | | | | | | | | | | | | | | | | | | table("sys"."table5") [
"table5"."t5colb112" NOT NULL UNIQUE as "lookup3"."t5colb112" ]
+| | | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb112" NOT
NULL) = ("lookup3"."t5colb112" NOT NULL UNIQUE) ],
+| | | | | | | | | | | | | | | | | | | | | | table("sys"."table7") [
"table7"."t7colb113" NOT NULL UNIQUE as "lookup4"."t7colb113" ]
+| | | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb113" NOT NULL)
= ("lookup4"."t7colb113" NOT NULL UNIQUE) ],
+| | | | | | | | | | | | | | | | | | | | | table("sys"."table8") [
"table8"."t8colb114" NOT NULL UNIQUE as "lookup5"."t8colb114" ]
+| | | | | | | | | | | | | | | | | | | | ) [ ("table1"."t1colb114" NOT NULL) =
("lookup5"."t8colb114" NOT NULL UNIQUE) ],
| | | | | | | | | | | | | | | | | | | | table("sys"."table6") [
"table6"."t6pkcol" NOT NULL UNIQUE HASHCOL as "lookup11"."t6pkcol" ]
| | | | | | | | | | | | | | | | | | | ) [ ("table4"."t4colb111") =
("lookup11"."t6pkcol" NOT NULL UNIQUE HASHCOL ) ],
-| | | | | | | | | | | | | | | | | | | table("sys"."table2") [
"table2"."t2colb112" NOT NULL as "lookup21"."t2colb112" ]
-| | | | | | | | | | | | | | | | | | ) [ ("table4"."t4colb112") =
("lookup21"."t2colb112" NOT NULL) ],
+| | | | | | | | | | | | | | | | | | | table("sys"."table2") [
"table2"."t2colb112" NOT NULL UNIQUE as "lookup21"."t2colb112" ]
+| | | | | | | | | | | | | | | | | | ) [ ("table4"."t4colb112") =
("lookup21"."t2colb112" NOT NULL UNIQUE) ],
| | | | | | | | | | | | | | | | | | table("sys"."table5") [ "table5"."t5pkcol"
NOT NULL UNIQUE HASHCOL as "lookup31"."t5pkcol" ]
| | | | | | | | | | | | | | | | | ) [ ("table5"."t5colb113") =
("lookup31"."t5pkcol" NOT NULL UNIQUE HASHCOL ) ],
| | | | | | | | | | | | | | | | | table("sys"."table7") [ "table7"."t7pkcol"
NOT NULL UNIQUE HASHCOL as "lookup41"."t7pkcol" ]
@@ -171,20 +171,20 @@ top N (
| | | | | | | | | | | ) [ ("table2"."t2colc114") = ("clookup4"."t7pkcol" NOT
NULL UNIQUE HASHCOL ) ],
| | | | | | | | | | | table("sys"."table8") [ "table8"."t8pkcol" NOT NULL
UNIQUE HASHCOL as "clookup5"."t8pkcol" ]
| | | | | | | | | | ) [ ("table2"."t2colc115") = ("clookup5"."t8pkcol" NOT
NULL UNIQUE HASHCOL ) ],
-| | | | | | | | | | table("sys"."table9") [ "table9"."t9pkcol" NOT NULL UNIQUE
HASHCOL , "table9"."t9cola1" NOT NULL, "table9"."t9cola91" NOT NULL,
"table9"."t9cola111" NOT NULL ]
-| | | | | | | | | ) [ ("table1"."t1pkcol" NOT NULL HASHCOL ) =
("table9"."t9cola111" NOT NULL) ],
-| | | | | | | | | table("sys"."table10") [ "table10"."t10pkcol" NOT NULL
UNIQUE HASHCOL , "table10"."t10cola1" NOT NULL, "table10"."t10cola91" NOT NULL ]
+| | | | | | | | | | table("sys"."table9") [ "table9"."t9pkcol" NOT NULL UNIQUE
HASHCOL , "table9"."t9cola1" NOT NULL UNIQUE, "table9"."t9cola91" NOT NULL
UNIQUE, "table9"."t9cola111" NOT NULL UNIQUE ]
+| | | | | | | | | ) [ ("table1"."t1pkcol" NOT NULL HASHCOL ) =
("table9"."t9cola111" NOT NULL UNIQUE) ],
+| | | | | | | | | table("sys"."table10") [ "table10"."t10pkcol" NOT NULL
UNIQUE HASHCOL , "table10"."t10cola1" NOT NULL UNIQUE, "table10"."t10cola91"
NOT NULL UNIQUE ]
| | | | | | | | ) [ ("table9"."t9pkcol" HASHCOL ) = ("table10"."t10pkcol" NOT
NULL UNIQUE HASHCOL ) ],
-| | | | | | | | table("sys"."table11") [ "table11"."t11pkcol" NOT NULL UNIQUE
HASHCOL , "table11"."t11cola91" NOT NULL ]
+| | | | | | | | table("sys"."table11") [ "table11"."t11pkcol" NOT NULL UNIQUE
HASHCOL , "table11"."t11cola91" NOT NULL UNIQUE ]
| | | | | | | ) [ ("table9"."t9pkcol" HASHCOL ) = ("table11"."t11pkcol" NOT
NULL UNIQUE HASHCOL ) ],
-| | | | | | | table("sys"."table3") [ "table3"."t3pkcol" NOT NULL UNIQUE
HASHCOL as "a1"."t3pkcol", "table3"."t3cola1" NOT NULL as "a1"."t3cola1" ]
+| | | | | | | table("sys"."table3") [ "table3"."t3pkcol" NOT NULL UNIQUE
HASHCOL as "a1"."t3pkcol", "table3"."t3cola1" NOT NULL UNIQUE as
"a1"."t3cola1" ]
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]