| 1 | #include "catch.hpp" | 
|---|
| 2 | #include "duckdb/common/file_system.hpp" | 
|---|
| 3 | #include "dbgen.hpp" | 
|---|
| 4 | #include "test_helpers.hpp" | 
|---|
| 5 |  | 
|---|
| 6 | using namespace duckdb; | 
|---|
| 7 | using namespace std; | 
|---|
| 8 |  | 
|---|
| 9 | TEST_CASE( "Spinque test: many nested views", "[monetdb][.]") { | 
|---|
| 10 | unique_ptr<QueryResult> result; | 
|---|
| 11 | DuckDB db(nullptr); | 
|---|
| 12 | Connection con(db); | 
|---|
| 13 |  | 
|---|
| 14 | return; | 
|---|
| 15 |  | 
|---|
| 16 | REQUIRE_NO_FAIL(con.Query( "START TRANSACTION;")); | 
|---|
| 17 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE params_str (paramname VARCHAR, value VARCHAR, prob DOUBLE);")); | 
|---|
| 18 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE params_int (paramname VARCHAR, value BIGINT, prob DOUBLE);")); | 
|---|
| 19 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 20 | "CREATE TABLE bm_0_obj_dict (id INTEGER NOT NULL, idstr VARCHAR NOT NULL, prob DOUBLE NOT NULL, CONSTRAINT " | 
|---|
| 21 | "bm_0_obj_dict_id_pkey PRIMARY KEY (id), CONSTRAINT bm_0_obj_dict_idstr_unique UNIQUE (idstr));")); | 
|---|
| 22 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_6 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 23 | REQUIRE_NO_FAIL( | 
|---|
| 24 | con.Query( "CREATE TABLE _cachedrel_21 (a1 VARCHAR, a2 VARCHAR, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 25 | REQUIRE_NO_FAIL( | 
|---|
| 26 | con.Query( "CREATE TABLE _cachedrel_27 (a1 VARCHAR, a2 VARCHAR, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 27 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_31 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 28 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_40 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 29 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_41 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 30 | REQUIRE_NO_FAIL( | 
|---|
| 31 | con.Query( "CREATE TABLE _cachedrel_42 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 32 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_44 (a1 CHAR(1), prob DECIMAL);")); | 
|---|
| 33 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_49 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 34 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_52 (a1 INTEGER, a2 INTEGER, a3 INTEGER, prob DOUBLE);")); | 
|---|
| 35 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_60 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 36 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_64 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 37 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_68 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 38 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_77 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 39 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_78 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 40 | REQUIRE_NO_FAIL( | 
|---|
| 41 | con.Query( "CREATE TABLE _cachedrel_81 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 42 | REQUIRE_NO_FAIL( | 
|---|
| 43 | con.Query( "CREATE TABLE _cachedrel_82 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 44 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_90 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 45 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_99 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 46 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_100 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 47 | REQUIRE_NO_FAIL( | 
|---|
| 48 | con.Query( "CREATE TABLE _cachedrel_101 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 49 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_102 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 50 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_106 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 51 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_115 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 52 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_116 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 53 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_118 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 54 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_120 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 55 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_146 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 56 | REQUIRE_NO_FAIL(con.Query( "create view _cachedrel_147 as select a2 as a1, a1 as a2, prob from _cachedrel_146;")); | 
|---|
| 57 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_150 (a1 INTEGER, a2 INTEGER, a3 BIGINT, prob DOUBLE);")); | 
|---|
| 58 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_152 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 59 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_158 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 60 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_160 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 61 | REQUIRE_NO_FAIL( | 
|---|
| 62 | con.Query( "CREATE TABLE _cachedrel_163 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 63 | REQUIRE_NO_FAIL(con.Query( "create view _cachedrel_1 as select idstr as a1, id as a2, prob from bm_0_obj_dict;")); | 
|---|
| 64 | REQUIRE_NO_FAIL(con.Query( "create view _cachedrel_2 as select a2 as a1, prob from _cachedrel_1;")); | 
|---|
| 65 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x0 AS SELECT 0 AS a1, a2, prob FROM (SELECT paramName AS a1, value AS a2, " | 
|---|
| 66 | "prob FROM params_str WHERE paramName = 's0_keyword') AS t__x0;")); | 
|---|
| 67 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x1 AS SELECT a1, a2, prob FROM _x0;")); | 
|---|
| 68 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x2 AS SELECT a2 AS a1, prob FROM _x1;")); | 
|---|
| 69 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x3 AS SELECT a1, prob FROM (SELECT _x2.a1 AS a1, _x2.prob / t__x3.prob AS " | 
|---|
| 70 | "prob FROM _x2,(SELECT max(prob) AS prob FROM _x2) AS t__x3) AS t__x4;")); | 
|---|
| 71 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 72 | "CREATE VIEW _x4 AS SELECT a1||a2 AS a1, prob FROM (SELECT t__x5_1.a1 AS a1, t__x5_2.a1 AS a2, t__x5_1.prob * " | 
|---|
| 73 | "t__x5_2.prob AS prob FROM _x3 AS t__x5_1,_x3 AS t__x5_2 WHERE t__x5_1.a1 <> t__x5_2.a1) AS t__x6;")); | 
|---|
| 74 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x5 AS SELECT a1, prob FROM _x3 UNION ALL SELECT a1, prob FROM _x4;")); | 
|---|
| 75 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x6 AS SELECT lower(a1) AS a1, prob FROM _x5;")); | 
|---|
| 76 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x7 AS SELECT upper(a1) AS a1, prob FROM _x6;")); | 
|---|
| 77 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 78 | "CREATE VIEW _x8 AS SELECT a2 AS a1, a4 AS a2, max(prob) AS prob FROM (SELECT _cachedrel_21.a1 AS a1, " | 
|---|
| 79 | "_cachedrel_21.a2 AS a2, _cachedrel_21.a3 AS a3, _cachedrel_21.a4 AS a4, _x7.a1 AS a5, _cachedrel_21.prob * " | 
|---|
| 80 | "_x7.prob AS prob FROM _cachedrel_21,_x7 WHERE _cachedrel_21.a1 = _x7.a1) AS t__x8 GROUP BY a2, a4;")); | 
|---|
| 81 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x9 AS SELECT a1, max(prob) AS prob FROM (SELECT a2 AS a1, prob FROM _x8 " | 
|---|
| 82 | "UNION ALL SELECT a1, prob FROM _x5) AS t__x9 GROUP BY a1;")); | 
|---|
| 83 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x10 AS SELECT upper(a1) AS a1, prob FROM _x6;")); | 
|---|
| 84 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 85 | "CREATE VIEW _x11 AS SELECT a2 AS a1, a4 AS a2, max(prob) AS prob FROM (SELECT _cachedrel_27.a1 AS a1, " | 
|---|
| 86 | "_cachedrel_27.a2 AS a2, _cachedrel_27.a3 AS a3, _cachedrel_27.a4 AS a4, _x10.a1 AS a5, _cachedrel_27.prob * " | 
|---|
| 87 | "_x10.prob AS prob FROM _cachedrel_27,_x10 WHERE _cachedrel_27.a1 = _x10.a1) AS t__x11 GROUP BY a2, a4;")); | 
|---|
| 88 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x12 AS SELECT a1, max(prob) AS prob FROM (SELECT a2 AS a1, prob FROM _x11 " | 
|---|
| 89 | "UNION ALL SELECT a1, prob FROM _x5) AS t__x12 GROUP BY a1;")); | 
|---|
| 90 | REQUIRE_NO_FAIL( | 
|---|
| 91 | con.Query( "CREATE VIEW _x13 AS SELECT a1, prob FROM (SELECT _x9.a1 AS a1, t__x14.a1 AS a2, _x9.prob * " | 
|---|
| 92 | "t__x14.prob AS prob FROM _x9,(SELECT '1',1.0) AS t__x14(a1,prob)) AS t__x15;")); | 
|---|
| 93 | REQUIRE_NO_FAIL( | 
|---|
| 94 | con.Query( "CREATE VIEW _x14 AS SELECT a1, prob FROM (SELECT _x12.a1 AS a1, t__x17.a1 AS a2, _x12.prob * " | 
|---|
| 95 | "t__x17.prob AS prob FROM _x12,(SELECT '2',1.0) AS t__x17(a1,prob)) AS t__x18;")); | 
|---|
| 96 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x15 AS SELECT a1, prob FROM _x13 UNION ALL SELECT a1, prob FROM _x14;")); | 
|---|
| 97 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x16 AS SELECT a1, max(prob) AS prob FROM _x15 GROUP BY a1;")); | 
|---|
| 98 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x17 AS SELECT a1, prob FROM (SELECT _x16.a1 AS a1, t__x20.a1 AS a2, " | 
|---|
| 99 | "_x16.prob * t__x20.prob AS prob FROM _x16,(SELECT '3',1.0) AS t__x20(a1,prob) WHERE " | 
|---|
| 100 | "length(_x16.a1) >= CAST(t__x20.a1 AS INT)) AS t__x21;")); | 
|---|
| 101 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x18 AS SELECT a1, prob FROM _x17;")); | 
|---|
| 102 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x19 AS SELECT 0 AS a1, a1 AS a2, prob FROM _x18;")); | 
|---|
| 103 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x20 AS SELECT a1, a2, prob FROM _x19;")); | 
|---|
| 104 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x21 AS SELECT a1, upper(a2) AS a2, prob FROM _x20;")); | 
|---|
| 105 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x22 AS SELECT a1, lower(a2) AS a2, prob FROM _x21;")); | 
|---|
| 106 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x23 AS SELECT a1, a3 AS a2, prob FROM (SELECT _x22.a1 AS a1, _x22.a2 AS " | 
|---|
| 107 | "a2, _cachedrel_31.a1 AS a3, _cachedrel_31.a2 AS a4, _x22.prob * _cachedrel_31.prob AS " | 
|---|
| 108 | "prob FROM _x22,_cachedrel_31 WHERE _x22.a2 = _cachedrel_31.a2) AS t__x24;")); | 
|---|
| 109 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x24 AS SELECT a1, a2, sum(prob) AS prob FROM _x23 GROUP BY a1, a2;")); | 
|---|
| 110 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x25 AS SELECT a1, a2, 1 AS prob FROM _x24;")); | 
|---|
| 111 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x26 AS SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM " | 
|---|
| 112 | "_x24 GROUP BY a2) AS t__x25;")); | 
|---|
| 113 | REQUIRE_NO_FAIL( | 
|---|
| 114 | con.Query( "CREATE VIEW _x27 AS SELECT a1, a2, prob FROM (SELECT _x25.a1 AS a1, _x25.a2 AS a2, _x26.a1 AS a3, " | 
|---|
| 115 | "_x25.prob * _x26.prob AS prob FROM _x25,_x26 WHERE _x25.a2 = _x26.a1) AS t__x27;")); | 
|---|
| 116 | REQUIRE_NO_FAIL( | 
|---|
| 117 | con.Query( "CREATE VIEW _x28 AS SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_40.a1 AS a1, " | 
|---|
| 118 | "_cachedrel_40.a2 AS a2, _x27.a1 AS a3, _x27.a2 AS a4, _cachedrel_40.prob * _x27.prob AS prob FROM " | 
|---|
| 119 | "_cachedrel_40,_x27 WHERE _cachedrel_40.a2 = _x27.a2) AS t__x29 GROUP BY a1, a3;")); | 
|---|
| 120 | REQUIRE_NO_FAIL( | 
|---|
| 121 | con.Query( "CREATE VIEW _x29 AS SELECT a1, prob FROM (SELECT t__x30.a1 AS a1, t__x30.a2 AS a2, _cachedrel_41.a1 " | 
|---|
| 122 | "AS a3, t__x30.prob * _cachedrel_41.prob AS prob FROM (SELECT a1, a2, prob FROM _x28 WHERE a2 = 0) " | 
|---|
| 123 | "AS t__x30,_cachedrel_41 WHERE t__x30.a1 = _cachedrel_41.a1) AS t__x31;")); | 
|---|
| 124 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x30 AS SELECT a1, prob FROM (SELECT _x29.a1 AS a1, _x29.prob / t__x33.prob " | 
|---|
| 125 | "AS prob FROM _x29,(SELECT max(prob) AS prob FROM _x29) AS t__x33) AS t__x34;")); | 
|---|
| 126 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x31 AS SELECT lower(a1) AS a1, prob FROM _x16;")); | 
|---|
| 127 | REQUIRE_NO_FAIL( | 
|---|
| 128 | con.Query( "CREATE VIEW _x32 AS SELECT a1, prob FROM (SELECT _cachedrel_42.a1 AS a1, _cachedrel_42.a2 AS a2, " | 
|---|
| 129 | "_cachedrel_42.a3 AS a3, _cachedrel_42.a4 AS a4, _x31.a1 AS a5, _cachedrel_42.prob * _x31.prob AS " | 
|---|
| 130 | "prob FROM _cachedrel_42,_x31 WHERE _cachedrel_42.a3 =_x31.a1) AS t__x36;")); | 
|---|
| 131 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 132 | "CREATE VIEW _x33 AS SELECT a1, prob FROM (SELECT _cachedrel_6.a1 AS a1, _x32.a1 AS a2, _cachedrel_6.prob * " | 
|---|
| 133 | "_x32.prob AS prob FROM _cachedrel_6,_x32 WHERE _cachedrel_6.a1 = _x32.a1) AS t__x38;")); | 
|---|
| 134 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x34 AS SELECT a1, prob FROM (SELECT _x30.a1 AS a1, _x30.prob / t__x40.prob " | 
|---|
| 135 | "AS prob FROM _x30,(SELECT max(prob) AS prob FROM _x30) AS t__x40) AS t__x41;")); | 
|---|
| 136 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x35 AS SELECT a1, prob FROM (SELECT _x33.a1 AS a1, _x33.prob / t__x43.prob " | 
|---|
| 137 | "AS prob FROM _x33,(SELECT max(prob) AS prob FROM _x33) AS t__x43) AS t__x44;")); | 
|---|
| 138 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 139 | "CREATE VIEW _x36 AS SELECT a1, prob FROM (SELECT _x34.a1 AS a1, t__x46.a1 AS a2, _x34.prob * t__x46.prob AS " | 
|---|
| 140 | "prob FROM _x34,(SELECT a1, prob FROM _cachedrel_44 WHERE a1 = '1') AS t__x46) AS t__x47;")); | 
|---|
| 141 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 142 | "CREATE VIEW _x37 AS SELECT a1, prob FROM (SELECT _x35.a1 AS a1, t__x49.a1 AS a2, _x35.prob * t__x49.prob AS " | 
|---|
| 143 | "prob FROM _x35,(SELECT a1, prob FROM _cachedrel_44 WHERE a1 = '2') AS t__x49) AS t__x50;")); | 
|---|
| 144 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x38 AS SELECT a1, prob FROM _x36 UNION ALL SELECT a1, prob FROM _x37;")); | 
|---|
| 145 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x39 AS SELECT a1, sum(prob) AS prob FROM _x38 GROUP BY a1;")); | 
|---|
| 146 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x40 AS SELECT a1, a2, prob FROM (SELECT _cachedrel_49.a1 AS a1, " | 
|---|
| 147 | "_cachedrel_49.a2 AS a2, _x39.a1 AS a3, _cachedrel_49.prob * _x39.prob AS prob FROM " | 
|---|
| 148 | "_cachedrel_49,_x39 WHERE _cachedrel_49.a1 = _x39.a1) AS t__x52;")); | 
|---|
| 149 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x41 AS SELECT a2 AS a1, sum(prob) AS prob FROM _x40 GROUP BY a2;")); | 
|---|
| 150 | REQUIRE_NO_FAIL( | 
|---|
| 151 | con.Query( "CREATE VIEW _x42 AS SELECT a1, a3 AS a2, prob FROM (SELECT _x41.a1 AS a1, t__x55.a1 AS a2, " | 
|---|
| 152 | "t__x55.a2 AS a3, _x41.prob * t__x55.prob AS prob FROM _x41,(SELECT a1, a2, max(prob) AS prob FROM " | 
|---|
| 153 | "(SELECT a1, a3 AS a2, prob FROM _cachedrel_52 UNION ALL SELECT a3 AS a1, a1 AS a2, prob FROM " | 
|---|
| 154 | "_cachedrel_52) AS t__x54 GROUP BY a1, a2) AS t__x55 WHERE _x41.a1 = t__x55.a1) AS t__x56;")); | 
|---|
| 155 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x43 AS SELECT a2 AS a1, max(prob) AS prob FROM _x42 GROUP BY a2;")); | 
|---|
| 156 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x44 AS SELECT 0 AS a1, a1 AS a2, prob FROM _x16;")); | 
|---|
| 157 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x45 AS SELECT a1, a2, prob FROM _x44;")); | 
|---|
| 158 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x46 AS SELECT a1, upper(a2) AS a2, prob FROM _x45;")); | 
|---|
| 159 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x47 AS SELECT a1, lower(a2) AS a2, prob FROM _x46;")); | 
|---|
| 160 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x48 AS SELECT a1, a3 AS a2, prob FROM (SELECT _x47.a1 AS a1, _x47.a2 AS " | 
|---|
| 161 | "a2, _cachedrel_68.a1 AS a3, _cachedrel_68.a2 AS a4, _x47.prob * _cachedrel_68.prob AS " | 
|---|
| 162 | "prob FROM _x47,_cachedrel_68 WHERE _x47.a2 = _cachedrel_68.a2) AS t__x59;")); | 
|---|
| 163 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x49 AS SELECT a1, a2, sum(prob) AS prob FROM _x48 GROUP BY a1, a2;")); | 
|---|
| 164 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x50 AS SELECT a1, a2, 1 AS prob FROM _x49;")); | 
|---|
| 165 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x51 AS SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM " | 
|---|
| 166 | "_x49 GROUP BY a2) AS t__x60;")); | 
|---|
| 167 | REQUIRE_NO_FAIL( | 
|---|
| 168 | con.Query( "CREATE VIEW _x52 AS SELECT a1, a2, prob FROM (SELECT _x50.a1 AS a1, _x50.a2 AS a2, _x51.a1 AS a3, " | 
|---|
| 169 | "_x50.prob * _x51.prob AS prob FROM _x50,_x51 WHERE _x50.a2 = _x51.a1) AS t__x62;")); | 
|---|
| 170 | REQUIRE_NO_FAIL( | 
|---|
| 171 | con.Query( "CREATE VIEW _x53 AS SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_77.a1 AS a1, " | 
|---|
| 172 | "_cachedrel_77.a2 AS a2, _x52.a1 AS a3, _x52.a2 AS a4, _cachedrel_77.prob * _x52.prob AS prob FROM " | 
|---|
| 173 | "_cachedrel_77,_x52 WHERE _cachedrel_77.a2 = _x52.a2) AS t__x64 GROUP BY a1, a3;")); | 
|---|
| 174 | REQUIRE_NO_FAIL( | 
|---|
| 175 | con.Query( "CREATE VIEW _x54 AS SELECT a1, prob FROM (SELECT t__x65.a1 AS a1, t__x65.a2 AS a2, _cachedrel_78.a1 " | 
|---|
| 176 | "AS a3, t__x65.prob * _cachedrel_78.prob AS prob FROM (SELECT a1, a2, prob FROM _x53 WHERE a2 = 0) " | 
|---|
| 177 | "AS t__x65,_cachedrel_78 WHERE t__x65.a1 = _cachedrel_78.a1) AS t__x66;")); | 
|---|
| 178 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x55 AS SELECT a1, prob FROM (SELECT _x54.a1 AS a1, _x54.prob / t__x68.prob " | 
|---|
| 179 | "AS prob FROM _x54,(SELECT max(prob) AS prob FROM _x54) AS t__x68) AS t__x69;")); | 
|---|
| 180 | REQUIRE_NO_FAIL( | 
|---|
| 181 | con.Query( "CREATE VIEW _x56 AS SELECT a1, prob FROM (SELECT _cachedrel_82.a1 AS a1, _cachedrel_82.a2 AS a2, " | 
|---|
| 182 | "_cachedrel_82.a3 AS a3, _cachedrel_82.a4 AS a4, _x31.a1 AS a5, _cachedrel_82.prob * _x31.prob AS " | 
|---|
| 183 | "prob FROM _cachedrel_82,_x31 WHERE _cachedrel_82.a3 = _x31.a1) AS t__x71;")); | 
|---|
| 184 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 185 | "CREATE VIEW _x57 AS SELECT a1, prob FROM (SELECT _cachedrel_60.a1 AS a1, _x56.a1 AS a2, _cachedrel_60.prob * " | 
|---|
| 186 | "_x56.prob AS prob FROM _cachedrel_60,_x56 WHERE _cachedrel_60.a1 = _x56.a1) AS t__x73;")); | 
|---|
| 187 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x58 AS SELECT a1, a3 AS a2, prob FROM (SELECT _x47.a1 AS a1, _x47.a2 AS " | 
|---|
| 188 | "a2, _cachedrel_90.a1 AS a3, _cachedrel_90.a2 AS a4, _x47.prob * _cachedrel_90.prob AS " | 
|---|
| 189 | "prob FROM _x47,_cachedrel_90 WHERE _x47.a2 = _cachedrel_90.a2) AS t__x74;")); | 
|---|
| 190 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x59 AS SELECT a1, a2, sum(prob) AS prob FROM _x58 GROUP BY a1, a2;")); | 
|---|
| 191 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x60 AS SELECT a1, a2, 1 AS prob FROM _x59;")); | 
|---|
| 192 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x61 AS SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM " | 
|---|
| 193 | "_x59 GROUP BY a2) AS t__x75;")); | 
|---|
| 194 | REQUIRE_NO_FAIL( | 
|---|
| 195 | con.Query( "CREATE VIEW _x62 AS SELECT a1, a2, prob FROM (SELECT _x60.a1 AS a1, _x60.a2 AS a2, _x61.a1 AS a3, " | 
|---|
| 196 | "_x60.prob * _x61.prob AS prob FROM _x60,_x61 WHERE _x60.a2 = _x61.a1) AS t__x77;")); | 
|---|
| 197 | REQUIRE_NO_FAIL( | 
|---|
| 198 | con.Query( "CREATE VIEW _x63 AS SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_99.a1 AS a1, " | 
|---|
| 199 | "_cachedrel_99.a2 AS a2, _x62.a1 AS a3, _x62.a2 AS a4, _cachedrel_99.prob * _x62.prob AS prob FROM " | 
|---|
| 200 | "_cachedrel_99,_x62 WHERE _cachedrel_99.a2 = _x62.a2) AS t__x79 GROUP BY a1, a3;")); | 
|---|
| 201 | REQUIRE_NO_FAIL( | 
|---|
| 202 | con.Query( "CREATE VIEW _x64 AS SELECT a1, prob FROM (SELECT t__x80.a1 AS a1, t__x80.a2 AS a2, " | 
|---|
| 203 | "_cachedrel_100.a1 AS a3, t__x80.prob * _cachedrel_100.prob AS prob FROM (SELECT a1, a2, prob FROM " | 
|---|
| 204 | "_x63 WHERE a2 = 0) AS t__x80,_cachedrel_100 WHERE t__x80.a1 = _cachedrel_100.a1) AS t__x81;")); | 
|---|
| 205 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x65 AS SELECT a1, prob FROM (SELECT _x64.a1 AS a1, _x64.prob / t__x83.prob " | 
|---|
| 206 | "AS prob FROM _x64,(SELECT max(prob) AS prob FROM _x64) AS t__x83) AS t__x84;")); | 
|---|
| 207 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x66 AS SELECT lower(a1) AS a1, prob FROM _x18;")); | 
|---|
| 208 | REQUIRE_NO_FAIL( | 
|---|
| 209 | con.Query( "CREATE VIEW _x67 AS SELECT a1, prob FROM (SELECT _cachedrel_101.a1 AS a1, _cachedrel_101.a2 AS a2, " | 
|---|
| 210 | "_cachedrel_101.a3 AS a3, _cachedrel_101.a4 AS a4, _x66.a1 AS a5, _cachedrel_101.prob * _x66.prob AS " | 
|---|
| 211 | "prob FROM _cachedrel_101,_x66 WHERE _cachedrel_101.a3 =_x66.a1) AS t__x86;")); | 
|---|
| 212 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 213 | "CREATE VIEW _x68 AS SELECT a1, prob FROM (SELECT _cachedrel_60.a1 AS a1, _x67.a1 AS a2, _cachedrel_60.prob * " | 
|---|
| 214 | "_x67.prob AS prob FROM _cachedrel_60,_x67 WHERE _cachedrel_60.a1 = _x67.a1) AS t__x87;")); | 
|---|
| 215 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x69 AS SELECT a1, a3 AS a2, prob FROM (SELECT _x47.a1 AS a1, _x47.a2 AS " | 
|---|
| 216 | "a2, _cachedrel_106.a1 AS a3, _cachedrel_106.a2 AS a4, _x47.prob * _cachedrel_106.prob " | 
|---|
| 217 | "AS prob FROM _x47,_cachedrel_106 WHERE _x47.a2 = _cachedrel_106.a2) AS t__x88;")); | 
|---|
| 218 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x70 AS SELECT a1, a2, sum(prob) AS prob FROM _x69 GROUP BY a1, a2;")); | 
|---|
| 219 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x71 AS SELECT a1, a2, 1 AS prob FROM _x70;")); | 
|---|
| 220 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x72 AS SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM " | 
|---|
| 221 | "_x70 GROUP BY a2) AS t__x89;")); | 
|---|
| 222 | REQUIRE_NO_FAIL( | 
|---|
| 223 | con.Query( "CREATE VIEW _x73 AS SELECT a1, a2, prob FROM (SELECT _x71.a1 AS a1, _x71.a2 AS a2, _x72.a1 AS a3, " | 
|---|
| 224 | "_x71.prob * _x72.prob AS prob FROM _x71,_x72 WHERE _x71.a2 = _x72.a1) AS t__x91;")); | 
|---|
| 225 | REQUIRE_NO_FAIL( | 
|---|
| 226 | con.Query( "CREATE VIEW _x74 AS SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_115.a1 AS a1, " | 
|---|
| 227 | "_cachedrel_115.a2 AS a2, _x73.a1 AS a3, _x73.a2 AS a4, _cachedrel_115.prob * _x73.prob AS prob FROM " | 
|---|
| 228 | "_cachedrel_115,_x73 WHERE _cachedrel_115.a2 = _x73.a2) AS t__x93 GROUP BY a1, a3;")); | 
|---|
| 229 | REQUIRE_NO_FAIL( | 
|---|
| 230 | con.Query( "CREATE VIEW _x75 AS SELECT a1, prob FROM (SELECT t__x94.a1 AS a1, t__x94.a2 AS a2, " | 
|---|
| 231 | "_cachedrel_116.a1 AS a3, t__x94.prob * _cachedrel_116.prob AS prob FROM (SELECT a1, a2, prob FROM " | 
|---|
| 232 | "_x74 WHERE a2 = 0) AS t__x94,_cachedrel_116 WHERE t__x94.a1 = _cachedrel_116.a1) AS t__x95;")); | 
|---|
| 233 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x76 AS SELECT a1, prob FROM (SELECT _x75.a1 AS a1, _x75.prob / t__x97.prob " | 
|---|
| 234 | "AS prob FROM _x75,(SELECT max(prob) AS prob FROM _x75) AS t__x97) AS t__x98;")); | 
|---|
| 235 | REQUIRE_NO_FAIL( | 
|---|
| 236 | con.Query( "CREATE VIEW _x77 AS SELECT _cachedrel_64.a1 AS a1, _cachedrel_64.a2 AS a2, _x16.a1 AS a3, " | 
|---|
| 237 | "_cachedrel_64.prob * _x16.prob AS prob FROM _cachedrel_64,_x16 WHERE _cachedrel_64.a2 =_x16.a1;")); | 
|---|
| 238 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x78 AS SELECT a1, a2, max(prob) AS prob FROM _x77 GROUP BY a1, a2;")); | 
|---|
| 239 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 240 | "CREATE VIEW _x79 AS SELECT _cachedrel_102.a1 AS a1, _cachedrel_102.a2 AS a2, _x16.a1 AS a3, " | 
|---|
| 241 | "_cachedrel_102.prob * _x16.prob AS prob FROM _cachedrel_102,_x16 WHERE _cachedrel_102.a2 = _x16.a1;")); | 
|---|
| 242 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x80 AS SELECT a1, a2, max(prob) AS prob FROM _x79 GROUP BY a1, a2;")); | 
|---|
| 243 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x81 AS SELECT a1, a2, prob FROM (SELECT _x78.a1 AS a1, _x78.a2 AS a2, " | 
|---|
| 244 | "t__x102.a1 AS a3, _x78.prob * t__x102.prob AS prob FROM _x78,(SELECT a1, prob FROM " | 
|---|
| 245 | "_cachedrel_118 WHERE a1 = '1') AS t__x102) AS t__x103;")); | 
|---|
| 246 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x82 AS SELECT a1, a2, prob FROM (SELECT _x80.a1 AS a1, _x80.a2 AS a2, " | 
|---|
| 247 | "t__x105.a1 AS a3, _x80.prob * t__x105.prob AS prob FROM _x80,(SELECT a1, prob FROM " | 
|---|
| 248 | "_cachedrel_118 WHERE a1 = '2') AS t__x105) AS t__x106;")); | 
|---|
| 249 | REQUIRE_NO_FAIL( | 
|---|
| 250 | con.Query( "CREATE VIEW _x83 AS SELECT a1, a2, prob FROM _x81 UNION ALL SELECT a1, a2, prob FROM _x82;")); | 
|---|
| 251 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x84 AS SELECT a1, a2, sum(prob) AS prob FROM _x83 GROUP BY a1, a2;")); | 
|---|
| 252 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x85 AS SELECT a1, prob FROM (SELECT a1, prob FROM _x84) AS t__x107;")); | 
|---|
| 253 | REQUIRE_NO_FAIL( | 
|---|
| 254 | con.Query( "CREATE VIEW _x86 AS SELECT a1, prob FROM (SELECT _x43.a1 AS a1, _x43.prob / t__x109.prob AS prob " | 
|---|
| 255 | "FROM _x43,(SELECT max(prob) AS prob FROM _x43) AS t__x109) AS t__x110;")); | 
|---|
| 256 | REQUIRE_NO_FAIL( | 
|---|
| 257 | con.Query( "CREATE VIEW _x87 AS SELECT a1, prob FROM (SELECT _x55.a1 AS a1, _x55.prob / t__x112.prob AS prob " | 
|---|
| 258 | "FROM _x55,(SELECT max(prob) AS prob FROM _x55) AS t__x112) AS t__x113;")); | 
|---|
| 259 | REQUIRE_NO_FAIL( | 
|---|
| 260 | con.Query( "CREATE VIEW _x88 AS SELECT a1, prob FROM (SELECT _x57.a1 AS a1, _x57.prob / t__x115.prob AS prob " | 
|---|
| 261 | "FROM _x57,(SELECT max(prob) AS prob FROM _x57) AS t__x115) AS t__x116;")); | 
|---|
| 262 | REQUIRE_NO_FAIL( | 
|---|
| 263 | con.Query( "CREATE VIEW _x89 AS SELECT a1, prob FROM (SELECT _x65.a1 AS a1, _x65.prob / t__x118.prob AS prob " | 
|---|
| 264 | "FROM _x65,(SELECT max(prob) AS prob FROM _x65) AS t__x118) AS t__x119;")); | 
|---|
| 265 | REQUIRE_NO_FAIL( | 
|---|
| 266 | con.Query( "CREATE VIEW _x90 AS SELECT a1, prob FROM (SELECT _x68.a1 AS a1, _x68.prob / t__x121.prob AS prob " | 
|---|
| 267 | "FROM _x68,(SELECT max(prob) AS prob FROM _x68) AS t__x121) AS t__x122;")); | 
|---|
| 268 | REQUIRE_NO_FAIL( | 
|---|
| 269 | con.Query( "CREATE VIEW _x91 AS SELECT a1, prob FROM (SELECT _x76.a1 AS a1, _x76.prob / t__x124.prob AS prob " | 
|---|
| 270 | "FROM _x76,(SELECT max(prob) AS prob FROM _x76) AS t__x124) AS t__x125;")); | 
|---|
| 271 | REQUIRE_NO_FAIL( | 
|---|
| 272 | con.Query( "CREATE VIEW _x92 AS SELECT a1, prob FROM (SELECT _x85.a1 AS a1, _x85.prob / t__x127.prob AS prob " | 
|---|
| 273 | "FROM _x85,(SELECT max(prob) AS prob FROM _x85) AS t__x127) AS t__x128;")); | 
|---|
| 274 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 275 | "CREATE VIEW _x93 AS SELECT a1, prob FROM (SELECT _x86.a1 AS a1, t__x130.a1 AS a2, _x86.prob * t__x130.prob AS " | 
|---|
| 276 | "prob FROM _x86,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '1') AS t__x130) AS t__x131;")); | 
|---|
| 277 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 278 | "CREATE VIEW _x94 AS SELECT a1, prob FROM (SELECT _x87.a1 AS a1, t__x133.a1 AS a2, _x87.prob * t__x133.prob AS " | 
|---|
| 279 | "prob FROM _x87,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '2') AS t__x133) AS t__x134;")); | 
|---|
| 280 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 281 | "CREATE VIEW _x95 AS SELECT a1, prob FROM (SELECT _x88.a1 AS a1, t__x136.a1 AS a2, _x88.prob * t__x136.prob AS " | 
|---|
| 282 | "prob FROM _x88,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '3') AS t__x136) AS t__x137;")); | 
|---|
| 283 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 284 | "CREATE VIEW _x96 AS SELECT a1, prob FROM (SELECT _x89.a1 AS a1, t__x139.a1 AS a2, _x89.prob * t__x139.prob AS " | 
|---|
| 285 | "prob FROM _x89,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '4') AS t__x139) AS t__x140;")); | 
|---|
| 286 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 287 | "CREATE VIEW _x97 AS SELECT a1, prob FROM (SELECT _x90.a1 AS a1, t__x142.a1 AS a2, _x90.prob * t__x142.prob AS " | 
|---|
| 288 | "prob FROM _x90,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '5') AS t__x142) AS t__x143;")); | 
|---|
| 289 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 290 | "CREATE VIEW _x98 AS SELECT a1, prob FROM (SELECT _x91.a1 AS a1, t__x145.a1 AS a2, _x91.prob * t__x145.prob AS " | 
|---|
| 291 | "prob FROM _x91,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '6') AS t__x145) AS t__x146;")); | 
|---|
| 292 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 293 | "CREATE VIEW _x99 AS SELECT a1, prob FROM (SELECT _x92.a1 AS a1, t__x148.a1 AS a2, _x92.prob * t__x148.prob AS " | 
|---|
| 294 | "prob FROM _x92,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '7') AS t__x148) AS t__x149;")); | 
|---|
| 295 | REQUIRE_NO_FAIL( | 
|---|
| 296 | con.Query( "CREATE VIEW _x100 AS SELECT a1, prob FROM _x93 UNION ALL (SELECT a1, prob FROM _x94 UNION ALL " | 
|---|
| 297 | "(SELECT a1, prob FROM _x95 UNION ALL (SELECT a1, prob FROM _x96 UNION ALL (SELECT a1, prob FROM " | 
|---|
| 298 | "_x97 UNION ALL (SELECT a1, prob FROM _x98 UNION ALL SELECT a1, prob FROM _x99)))));")); | 
|---|
| 299 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x101 AS SELECT a1, sum(prob) AS prob FROM _x100 GROUP BY a1;")); | 
|---|
| 300 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 301 | "CREATE VIEW _x102 AS SELECT a1, prob FROM (SELECT _cachedrel_150.a1 AS a1, _cachedrel_150.a2 AS a2, " | 
|---|
| 302 | "_cachedrel_150.a3 AS a3, t__x152.a1 AS a4, _cachedrel_150.prob * t__x152.prob AS prob FROM " | 
|---|
| 303 | "_cachedrel_150,(SELECT a2 AS a1, prob FROM (SELECT paramName AS a1, value AS a2, prob FROM params_int WHERE " | 
|---|
| 304 | "paramName = 's0_userid') AS t__x151) AS t__x152 WHERE _cachedrel_150.a3 = t__x152.a1) AS t__x153;")); | 
|---|
| 305 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 306 | "CREATE VIEW _x103 AS SELECT a1, prob FROM (SELECT _cachedrel_2.a1 AS a1, _x102.a1 AS a2, _cachedrel_2.prob * " | 
|---|
| 307 | "_x102.prob AS prob FROM _cachedrel_2,_x102 WHERE _cachedrel_2.a1 = _x102.a1) AS t__x155;")); | 
|---|
| 308 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x104 AS SELECT a1, prob FROM (SELECT _cachedrel_147.a1 AS a1, " | 
|---|
| 309 | "_cachedrel_147.a2 AS a2, _x103.a1 AS a3, _cachedrel_147.prob * _x103.prob AS prob FROM " | 
|---|
| 310 | "_cachedrel_147,_x103 WHERE _cachedrel_147.a2 = _x103.a1) AS t__x157;")); | 
|---|
| 311 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x105 AS SELECT a1, 1 AS prob FROM _x104;")); | 
|---|
| 312 | REQUIRE_NO_FAIL( | 
|---|
| 313 | con.Query( "CREATE VIEW _x106 AS SELECT a1, a4 AS a2, prob FROM (SELECT _x105.a1 AS a1, _cachedrel_52.a1 AS a2, " | 
|---|
| 314 | "_cachedrel_52.a2 AS a3, _cachedrel_52.a3 AS a4, _x105.prob * _cachedrel_52.prob AS prob FROM " | 
|---|
| 315 | "_x105,_cachedrel_52 WHERE _x105.a1 = _cachedrel_52.a1) AS t__x159;")); | 
|---|
| 316 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x107 AS SELECT a2 AS a1, max(prob) AS prob FROM _x106 GROUP BY a2;")); | 
|---|
| 317 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x108 AS SELECT a1, a2, max(prob) AS prob FROM _x106 GROUP BY a1, a2;")); | 
|---|
| 318 | REQUIRE_NO_FAIL( | 
|---|
| 319 | con.Query( "CREATE VIEW _x109 AS SELECT a1, a4 AS a2, prob FROM (SELECT _x107.a1 AS a1, t__x161.a1 AS a2, " | 
|---|
| 320 | "t__x161.a2 AS a3, t__x161.a3 AS a4, _x107.prob * t__x161.prob AS prob FROM _x107,(SELECT a3 AS a1, " | 
|---|
| 321 | "a2, a1 AS a3, prob FROM _cachedrel_52) AS t__x161 WHERE _x107.a1 = t__x161.a1) AS t__x162;")); | 
|---|
| 322 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x110 AS SELECT a2 AS a1, prob FROM _x109;")); | 
|---|
| 323 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 324 | "CREATE VIEW _x111 AS SELECT a1, a3 AS a2, max(prob) AS prob FROM (SELECT _cachedrel_81.a1 AS a1, " | 
|---|
| 325 | "_cachedrel_81.a2 AS a2, _cachedrel_81.a3 AS a3, _cachedrel_81.a4 AS a4, _x110.a1 AS a5, _cachedrel_81.prob * " | 
|---|
| 326 | "_x110.prob AS prob FROM _cachedrel_81,_x110 WHERE _cachedrel_81.a1 = _x110.a1) AS t__x164 GROUP BY a1, a3;")); | 
|---|
| 327 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x112 AS SELECT a2 AS a1, a1 AS a2, prob FROM _x108;")); | 
|---|
| 328 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 329 | "CREATE VIEW _x113 AS SELECT a1, a3 AS a2, prob FROM (SELECT _cachedrel_81.a1 AS a1, _cachedrel_81.a2 AS a2, " | 
|---|
| 330 | "_cachedrel_81.a3 AS a3, _cachedrel_81.a4 AS a4, _x104.a1 AS a5, _cachedrel_81.prob * _x104.prob AS prob FROM " | 
|---|
| 331 | "_cachedrel_81,_x104 WHERE _cachedrel_81.a1 = _x104.a1) AS t__x165;")); | 
|---|
| 332 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x114 AS SELECT a1, a4 AS a2, sum(prob) AS prob FROM (SELECT _x112.a1 AS " | 
|---|
| 333 | "a1, _x112.a2 AS a2, _x113.a1 AS a3, _x113.a2 AS a4, _x112.prob * _x113.prob AS prob " | 
|---|
| 334 | "FROM _x112,_x113 WHERE _x112.a2 = _x113.a1) AS t__x167 GROUP BY a1, a4;")); | 
|---|
| 335 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x115 AS SELECT _x111.a1 AS a1, _x111.a2 AS a2, _x114.a1 AS a3, _x114.a2 AS " | 
|---|
| 336 | "a4, _x111.prob * _x114.prob AS prob FROM _x111,_x114 WHERE _x111.a2 = _x114.a2;")); | 
|---|
| 337 | REQUIRE_NO_FAIL( | 
|---|
| 338 | con.Query( "CREATE VIEW _x116 AS SELECT a1, a3 AS a2, max(prob) AS prob FROM _x115 GROUP BY a1, a3;")); | 
|---|
| 339 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x117 AS SELECT a1, prob FROM (SELECT a1, prob FROM _x116) AS t__x169;")); | 
|---|
| 340 | REQUIRE_NO_FAIL( | 
|---|
| 341 | con.Query( "CREATE VIEW _x118 AS SELECT a1, prob FROM (SELECT _x104.a1 AS a1, _x104.prob / t__x171.prob AS prob " | 
|---|
| 342 | "FROM _x104,(SELECT max(prob) AS prob FROM _x104) AS t__x171) AS t__x172;")); | 
|---|
| 343 | REQUIRE_NO_FAIL( | 
|---|
| 344 | con.Query( "CREATE VIEW _x119 AS SELECT a1, prob FROM (SELECT _x117.a1 AS a1, _x117.prob / t__x174.prob AS prob " | 
|---|
| 345 | "FROM _x117,(SELECT max(prob) AS prob FROM _x117) AS t__x174) AS t__x175;")); | 
|---|
| 346 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 347 | "CREATE VIEW _x120 AS SELECT a1, prob FROM (SELECT _x118.a1 AS a1, t__x177.a1 AS a2, _x118.prob * t__x177.prob " | 
|---|
| 348 | "AS prob FROM _x118,(SELECT a1, prob FROM _cachedrel_152 WHERE a1 = '1') AS t__x177) AS t__x178;")); | 
|---|
| 349 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 350 | "CREATE VIEW _x121 AS SELECT a1, prob FROM (SELECT _x119.a1 AS a1, t__x180.a1 AS a2, _x119.prob * t__x180.prob " | 
|---|
| 351 | "AS prob FROM _x119,(SELECT a1, prob FROM _cachedrel_152 WHERE a1 = '2') AS t__x180) AS t__x181;")); | 
|---|
| 352 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x122 AS SELECT a1, prob FROM _x120 UNION ALL SELECT a1, prob FROM _x121;")); | 
|---|
| 353 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x123 AS SELECT a1, sum(prob) AS prob FROM _x122 GROUP BY a1;")); | 
|---|
| 354 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 355 | "CREATE VIEW _x124 AS SELECT a1, sum(prob) AS prob FROM (SELECT _x101.a1 AS a1, _x123.a1 AS a2, _x101.prob * " | 
|---|
| 356 | "_x123.prob AS prob FROM _x101,_x123 WHERE _x101.a1 = _x123.a1) AS t__x183 GROUP BY a1;")); | 
|---|
| 357 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 358 | "CREATE VIEW _x125 AS SELECT a1, prob FROM (SELECT _x101.a1 AS a1, _cachedrel_158.a1 AS a2, _x101.prob * " | 
|---|
| 359 | "_cachedrel_158.prob AS prob FROM _x101,_cachedrel_158 WHERE _x101.a1 = _cachedrel_158.a1) AS t__x184;")); | 
|---|
| 360 | REQUIRE_NO_FAIL( | 
|---|
| 361 | con.Query( "CREATE VIEW _x126 AS SELECT a1, prob FROM (SELECT _x101.a1 AS a1, _x101.prob / t__x185.prob AS prob " | 
|---|
| 362 | "FROM _x101,(SELECT max(prob) AS prob FROM _x101) AS t__x185) AS t__x186;")); | 
|---|
| 363 | REQUIRE_NO_FAIL( | 
|---|
| 364 | con.Query( "CREATE VIEW _x127 AS SELECT a1, prob FROM (SELECT _x124.a1 AS a1, _x124.prob / t__x188.prob AS prob " | 
|---|
| 365 | "FROM _x124,(SELECT max(prob) AS prob FROM _x124) AS t__x188) AS t__x189;")); | 
|---|
| 366 | REQUIRE_NO_FAIL( | 
|---|
| 367 | con.Query( "CREATE VIEW _x128 AS SELECT a1, prob FROM (SELECT _x125.a1 AS a1, _x125.prob / t__x191.prob AS prob " | 
|---|
| 368 | "FROM _x125,(SELECT max(prob) AS prob FROM _x125) AS t__x191) AS t__x192;")); | 
|---|
| 369 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 370 | "CREATE VIEW _x129 AS SELECT a1, prob FROM (SELECT _x126.a1 AS a1, t__x194.a1 AS a2, _x126.prob * t__x194.prob " | 
|---|
| 371 | "AS prob FROM _x126,(SELECT a1, prob FROM _cachedrel_160 WHERE a1 = '1') AS t__x194) AS t__x195;")); | 
|---|
| 372 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 373 | "CREATE VIEW _x130 AS SELECT a1, prob FROM (SELECT _x127.a1 AS a1, t__x197.a1 AS a2, _x127.prob * t__x197.prob " | 
|---|
| 374 | "AS prob FROM _x127,(SELECT a1, prob FROM _cachedrel_160 WHERE a1 = '2') AS t__x197) AS t__x198;")); | 
|---|
| 375 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 376 | "CREATE VIEW _x131 AS SELECT a1, prob FROM (SELECT _x128.a1 AS a1, t__x200.a1 AS a2, _x128.prob * t__x200.prob " | 
|---|
| 377 | "AS prob FROM _x128,(SELECT a1, prob FROM _cachedrel_160 WHERE a1 = '3') AS t__x200) AS t__x201;")); | 
|---|
| 378 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x132 AS SELECT a1, prob FROM _x129 UNION ALL (SELECT a1, prob FROM _x130 " | 
|---|
| 379 | "UNION ALL SELECT a1, prob FROM _x131);")); | 
|---|
| 380 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x133 AS SELECT a1, sum(prob) AS prob FROM _x132 GROUP BY a1;")); | 
|---|
| 381 | REQUIRE_NO_FAIL( | 
|---|
| 382 | con.Query( "CREATE VIEW _x134 AS SELECT a1, prob FROM (SELECT _cachedrel_163.a1 AS a1, _cachedrel_163.a2 AS a2, " | 
|---|
| 383 | "_cachedrel_163.a3 AS a3, _cachedrel_163.a4 AS a4, _x31.a1 AS a5, _cachedrel_163.prob * _x31.prob AS " | 
|---|
| 384 | "prob FROM _cachedrel_163,_x31 WHERE _cachedrel_163.a3 = _x31.a1) AS t__x203;")); | 
|---|
| 385 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 386 | "CREATE VIEW _x135 AS SELECT a1, prob FROM (SELECT _cachedrel_60.a1 AS a1, _x134.a1 AS a2, _cachedrel_60.prob " | 
|---|
| 387 | "* _x134.prob AS prob FROM _cachedrel_60,_x134 WHERE _cachedrel_60.a1 = _x134.a1) AS t__x204;")); | 
|---|
| 388 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x136 AS SELECT CAST(count(prob) AS DOUBLE) AS prob FROM _x135;")); | 
|---|
| 389 | REQUIRE_NO_FAIL( | 
|---|
| 390 | con.Query( "CREATE VIEW _x137 AS SELECT a1, prob FROM (SELECT _x135.a1 AS a1, _x135.prob * t__x207.prob AS prob " | 
|---|
| 391 | "FROM _x135,(SELECT prob FROM (SELECT CASE WHEN prob > CAST(0 AS DOUBLE) THEN CAST(1 AS DOUBLE) ELSE " | 
|---|
| 392 | "CAST(0 AS DOUBLE) END AS prob FROM _x136) AS t__x206 WHERE prob > 0.0) AS t__x207 UNION ALL SELECT " | 
|---|
| 393 | "_x133.a1 AS a1, _x133.prob * t__x210.prob AS prob FROM _x133,(SELECT prob FROM (SELECT CASE WHEN " | 
|---|
| 394 | "prob > CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE CAST(1 AS DOUBLE) END AS prob FROM _x136) AS " | 
|---|
| 395 | "t__x209 WHERE prob > 0.0) AS t__x210) AS t__x211;")); | 
|---|
| 396 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW _x138 AS SELECT a1, sum(prob) AS prob FROM (SELECT _x137.a1 AS a1, " | 
|---|
| 397 | "_cachedrel_60.a1 AS a2, _x137.prob * _cachedrel_60.prob AS prob FROM " | 
|---|
| 398 | "_x137,_cachedrel_60 WHERE _x137.a1 = _cachedrel_60.a1) AS t__x213 GROUP BY a1;")); | 
|---|
| 399 | REQUIRE_NO_FAIL(con.Query( "CREATE VIEW s0_RESULTVIEW_result AS SELECT a1, prob FROM _x138;")); | 
|---|
| 400 |  | 
|---|
| 401 | result = con.Query( "SELECT * FROM s0_RESULTVIEW_result;"); | 
|---|
| 402 | result->Print(); | 
|---|
| 403 | REQUIRE_NO_FAIL(con.Query( "ROLLBACK;")); | 
|---|
| 404 | } | 
|---|
| 405 |  | 
|---|
| 406 | TEST_CASE( "Spinque test: many CTEs", "[monetdb][.]") { | 
|---|
| 407 | unique_ptr<QueryResult> result; | 
|---|
| 408 | DuckDB db(nullptr); | 
|---|
| 409 | Connection con(db); | 
|---|
| 410 |  | 
|---|
| 411 | return; | 
|---|
| 412 |  | 
|---|
| 413 | REQUIRE_NO_FAIL(con.Query( "START TRANSACTION;")); | 
|---|
| 414 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE params_str (paramname VARCHAR, value VARCHAR, prob DOUBLE);")); | 
|---|
| 415 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE params_int (paramname VARCHAR, value BIGINT, prob DOUBLE);")); | 
|---|
| 416 | REQUIRE_NO_FAIL(con.Query( | 
|---|
| 417 | "CREATE TABLE bm_0_obj_dict (id INTEGER NOT NULL, idstr VARCHAR NOT NULL, prob DOUBLE NOT NULL, CONSTRAINT " | 
|---|
| 418 | "bm_0_obj_dict_id_pkey PRIMARY KEY (id), CONSTRAINT bm_0_obj_dict_idstr_unique UNIQUE (idstr));")); | 
|---|
| 419 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_6 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 420 | REQUIRE_NO_FAIL( | 
|---|
| 421 | con.Query( "CREATE TABLE _cachedrel_21 (a1 VARCHAR, a2 VARCHAR, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 422 | REQUIRE_NO_FAIL( | 
|---|
| 423 | con.Query( "CREATE TABLE _cachedrel_27 (a1 VARCHAR, a2 VARCHAR, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 424 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_31 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 425 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_40 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 426 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_41 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 427 | REQUIRE_NO_FAIL( | 
|---|
| 428 | con.Query( "CREATE TABLE _cachedrel_42 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 429 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_44 (a1 CHAR(1), prob DECIMAL);")); | 
|---|
| 430 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_49 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 431 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_52 (a1 INTEGER, a2 INTEGER, a3 INTEGER, prob DOUBLE);")); | 
|---|
| 432 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_60 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 433 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_64 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 434 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_68 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 435 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_77 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 436 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_78 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 437 | REQUIRE_NO_FAIL( | 
|---|
| 438 | con.Query( "CREATE TABLE _cachedrel_81 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 439 | REQUIRE_NO_FAIL( | 
|---|
| 440 | con.Query( "CREATE TABLE _cachedrel_82 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 441 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_90 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 442 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_99 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 443 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_100 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 444 | REQUIRE_NO_FAIL( | 
|---|
| 445 | con.Query( "CREATE TABLE _cachedrel_101 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 446 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_102 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 447 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_106 (a1 INTEGER, a2 VARCHAR, prob DOUBLE);")); | 
|---|
| 448 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_115 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 449 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_116 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 450 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_118 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 451 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_120 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 452 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_146 (a1 INTEGER, a2 INTEGER, prob DOUBLE);")); | 
|---|
| 453 | REQUIRE_NO_FAIL(con.Query( "create view _cachedrel_147 as select a2 as a1, a1 as a2, prob from _cachedrel_146;")); | 
|---|
| 454 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_150 (a1 INTEGER, a2 INTEGER, a3 BIGINT, prob DOUBLE);")); | 
|---|
| 455 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_152 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 456 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_158 (a1 INTEGER, prob DOUBLE);")); | 
|---|
| 457 | REQUIRE_NO_FAIL(con.Query( "CREATE TABLE _cachedrel_160 (a1 CHAR(1), prob DOUBLE);")); | 
|---|
| 458 | REQUIRE_NO_FAIL( | 
|---|
| 459 | con.Query( "CREATE TABLE _cachedrel_163 (a1 INTEGER, a2 INTEGER, a3 VARCHAR, a4 VARCHAR, prob DOUBLE);")); | 
|---|
| 460 | REQUIRE_NO_FAIL(con.Query( "create view _cachedrel_1 as select idstr as a1, id as a2, prob from bm_0_obj_dict;")); | 
|---|
| 461 | REQUIRE_NO_FAIL(con.Query( "create view _cachedrel_2 as select a2 as a1, prob from _cachedrel_1;")); | 
|---|
| 462 |  | 
|---|
| 463 | result = con.Query( | 
|---|
| 464 | "WITH  _x0 AS (SELECT 0 AS a1, a2, prob FROM (SELECT paramName AS a1, value AS a2, prob FROM params_str WHERE " | 
|---|
| 465 | "paramName = 's0_keyword') AS t__x0)," | 
|---|
| 466 | "	_x1 AS (SELECT a1, a2, prob FROM _x0)," | 
|---|
| 467 | "	_x2 AS (SELECT a2 AS a1, prob FROM _x1)," | 
|---|
| 468 | "	_x3 AS (SELECT a1, prob FROM (SELECT _x2.a1 AS a1, _x2.prob / t__x3.prob AS prob FROM _x2,(SELECT " | 
|---|
| 469 | "max(prob) AS prob FROM _x2) AS t__x3) AS t__x4)," | 
|---|
| 470 | "	_x4 AS (SELECT a1||a2 AS a1, prob FROM (SELECT t__x5_1.a1 AS a1, t__x5_2.a1 AS a2, t__x5_1.prob * " | 
|---|
| 471 | "t__x5_2.prob AS prob FROM _x3 AS t__x5_1,_x3 AS t__x5_2 WHERE t__x5_1.a1 <> t__x5_2.a1) AS t__x6)," | 
|---|
| 472 | "	_x5 AS (SELECT a1, prob FROM _x3 UNION ALL SELECT a1, prob FROM _x4)," | 
|---|
| 473 | "	_x6 AS (SELECT lower(a1) AS a1, prob FROM _x5)," | 
|---|
| 474 | "	_x7 AS (SELECT upper(a1) AS a1, prob FROM _x6)," | 
|---|
| 475 | "	_x8 AS (SELECT a2 AS a1, a4 AS a2, max(prob) AS prob FROM (SELECT _cachedrel_21.a1 AS a1, _cachedrel_21.a2 " | 
|---|
| 476 | "AS a2, _cachedrel_21.a3 AS a3, _cachedrel_21.a4 AS a4, _x7.a1 AS a5, _cachedrel_21.prob * _x7.prob AS prob " | 
|---|
| 477 | "FROM _cachedrel_21,_x7 WHERE _cachedrel_21.a1 = _x7.a1) AS t__x8 GROUP BY a2, a4)," | 
|---|
| 478 | "	_x9 AS (SELECT a1, max(prob) AS prob FROM (SELECT a2 AS a1, prob FROM _x8 UNION ALL SELECT a1, prob FROM " | 
|---|
| 479 | "_x5) AS t__x9 GROUP BY a1)," | 
|---|
| 480 | "	_x10 AS (SELECT upper(a1) AS a1, prob FROM _x6)," | 
|---|
| 481 | "	_x11 AS (SELECT a2 AS a1, a4 AS a2, max(prob) AS prob FROM (SELECT _cachedrel_27.a1 AS a1, " | 
|---|
| 482 | "_cachedrel_27.a2 AS a2, _cachedrel_27.a3 AS a3, _cachedrel_27.a4 AS a4, _x10.a1 AS a5, _cachedrel_27.prob * " | 
|---|
| 483 | "_x10.prob AS prob FROM _cachedrel_27,_x10 WHERE _cachedrel_27.a1 = _x10.a1) AS t__x11 GROUP BY a2, a4)," | 
|---|
| 484 | "	_x12 AS (SELECT a1, max(prob) AS prob FROM (SELECT a2 AS a1, prob FROM _x11 UNION ALL SELECT a1, prob FROM " | 
|---|
| 485 | "_x5) AS t__x12 GROUP BY a1)," | 
|---|
| 486 | "	_x13 AS (SELECT a1, prob FROM (SELECT _x9.a1 AS a1, t__x14.a1 AS a2, _x9.prob * t__x14.prob AS prob FROM " | 
|---|
| 487 | "_x9,(SELECT '1',1.0) AS t__x14(a1,prob)) AS t__x15)," | 
|---|
| 488 | "	_x14 AS (SELECT a1, prob FROM (SELECT _x12.a1 AS a1, t__x17.a1 AS a2, _x12.prob * t__x17.prob AS prob FROM " | 
|---|
| 489 | "_x12,(SELECT '2',1.0) AS t__x17(a1,prob)) AS t__x18)," | 
|---|
| 490 | "	_x15 AS (SELECT a1, prob FROM _x13 UNION ALL SELECT a1, prob FROM _x14)," | 
|---|
| 491 | "	_x16 AS (SELECT a1, max(prob) AS prob FROM _x15 GROUP BY a1)," | 
|---|
| 492 | "	_x17 AS (SELECT a1, prob FROM (SELECT _x16.a1 AS a1, t__x20.a1 AS a2, _x16.prob * t__x20.prob AS prob FROM " | 
|---|
| 493 | "_x16,(SELECT '3',1.0) AS t__x20(a1,prob) WHERE length(_x16.a1) >= CAST(t__x20.a1 AS INT)) AS t__x21)," | 
|---|
| 494 | "	_x18 AS (SELECT a1, prob FROM _x17)," | 
|---|
| 495 | "	_x19 AS (SELECT 0 AS a1, a1 AS a2, prob FROM _x18)," | 
|---|
| 496 | "	_x20 AS (SELECT a1, a2, prob FROM _x19)," | 
|---|
| 497 | "	_x21 AS (SELECT a1, upper(a2) AS a2, prob FROM _x20)," | 
|---|
| 498 | "	_x22 AS (SELECT a1, lower(a2) AS a2, prob FROM _x21)," | 
|---|
| 499 | "	_x23 AS (SELECT a1, a3 AS a2, prob FROM (SELECT _x22.a1 AS a1, _x22.a2 AS a2, _cachedrel_31.a1 AS a3, " | 
|---|
| 500 | "_cachedrel_31.a2 AS a4, _x22.prob * _cachedrel_31.prob AS prob FROM _x22,_cachedrel_31 WHERE _x22.a2 = " | 
|---|
| 501 | "_cachedrel_31.a2) AS t__x24)," | 
|---|
| 502 | "	_x24 AS (SELECT a1, a2, sum(prob) AS prob FROM _x23 GROUP BY a1, a2)," | 
|---|
| 503 | "	_x25 AS (SELECT a1, a2, 1 AS prob FROM _x24)," | 
|---|
| 504 | "	_x26 AS (SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM _x24 GROUP BY a2) AS t__x25)," | 
|---|
| 505 | "	_x27 AS (SELECT a1, a2, prob FROM (SELECT _x25.a1 AS a1, _x25.a2 AS a2, _x26.a1 AS a3, _x25.prob * " | 
|---|
| 506 | "_x26.prob AS prob FROM _x25,_x26 WHERE _x25.a2 = _x26.a1) AS t__x27)," | 
|---|
| 507 | "	_x28 AS (SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_40.a1 AS a1, _cachedrel_40.a2 AS " | 
|---|
| 508 | "a2, _x27.a1 AS a3, _x27.a2 AS a4, _cachedrel_40.prob * _x27.prob AS prob FROM _cachedrel_40,_x27 WHERE " | 
|---|
| 509 | "_cachedrel_40.a2 = _x27.a2) AS t__x29 GROUP BY a1, a3)," | 
|---|
| 510 | "	_x29 AS (SELECT a1, prob FROM (SELECT t__x30.a1 AS a1, t__x30.a2 AS a2, _cachedrel_41.a1 AS a3, " | 
|---|
| 511 | "t__x30.prob * _cachedrel_41.prob AS prob FROM (SELECT a1, a2, prob FROM _x28 WHERE a2 = 0) AS " | 
|---|
| 512 | "t__x30,_cachedrel_41 WHERE t__x30.a1 = _cachedrel_41.a1) AS t__x31)," | 
|---|
| 513 | "	_x30 AS (SELECT a1, prob FROM (SELECT _x29.a1 AS a1, _x29.prob / t__x33.prob AS prob FROM _x29,(SELECT " | 
|---|
| 514 | "max(prob) AS prob FROM _x29) AS t__x33) AS t__x34)," | 
|---|
| 515 | "	_x31 AS (SELECT lower(a1) AS a1, prob FROM _x16)," | 
|---|
| 516 | "	_x32 AS (SELECT a1, prob FROM (SELECT _cachedrel_42.a1 AS a1, _cachedrel_42.a2 AS a2, _cachedrel_42.a3 AS " | 
|---|
| 517 | "a3, _cachedrel_42.a4 AS a4, _x31.a1 AS a5, _cachedrel_42.prob * _x31.prob AS prob FROM _cachedrel_42,_x31 " | 
|---|
| 518 | "WHERE _cachedrel_42.a3 =_x31.a1) AS t__x36)," | 
|---|
| 519 | "	_x33 AS (SELECT a1, prob FROM (SELECT _cachedrel_6.a1 AS a1, _x32.a1 AS a2, _cachedrel_6.prob * _x32.prob " | 
|---|
| 520 | "AS prob FROM _cachedrel_6,_x32 WHERE _cachedrel_6.a1 = _x32.a1) AS t__x38)," | 
|---|
| 521 | "	_x34 AS (SELECT a1, prob FROM (SELECT _x30.a1 AS a1, _x30.prob / t__x40.prob AS prob FROM _x30,(SELECT " | 
|---|
| 522 | "max(prob) AS prob FROM _x30) AS t__x40) AS t__x41)," | 
|---|
| 523 | "	_x35 AS (SELECT a1, prob FROM (SELECT _x33.a1 AS a1, _x33.prob / t__x43.prob AS prob FROM _x33,(SELECT " | 
|---|
| 524 | "max(prob) AS prob FROM _x33) AS t__x43) AS t__x44)," | 
|---|
| 525 | "	_x36 AS (SELECT a1, prob FROM (SELECT _x34.a1 AS a1, t__x46.a1 AS a2, _x34.prob * t__x46.prob AS prob FROM " | 
|---|
| 526 | "_x34,(SELECT a1, prob FROM _cachedrel_44 WHERE a1 = '1') AS t__x46) AS t__x47)," | 
|---|
| 527 | "	_x37 AS (SELECT a1, prob FROM (SELECT _x35.a1 AS a1, t__x49.a1 AS a2, _x35.prob * t__x49.prob AS prob FROM " | 
|---|
| 528 | "_x35,(SELECT a1, prob FROM _cachedrel_44 WHERE a1 = '2') AS t__x49) AS t__x50)," | 
|---|
| 529 | "	_x38 AS (SELECT a1, prob FROM _x36 UNION ALL SELECT a1, prob FROM _x37)," | 
|---|
| 530 | "	_x39 AS (SELECT a1, sum(prob) AS prob FROM _x38 GROUP BY a1)," | 
|---|
| 531 | "	_x40 AS (SELECT a1, a2, prob FROM (SELECT _cachedrel_49.a1 AS a1, _cachedrel_49.a2 AS a2, _x39.a1 AS a3, " | 
|---|
| 532 | "_cachedrel_49.prob * _x39.prob AS prob FROM _cachedrel_49,_x39 WHERE _cachedrel_49.a1 = _x39.a1) AS t__x52)," | 
|---|
| 533 | "	_x41 AS (SELECT a2 AS a1, sum(prob) AS prob FROM _x40 GROUP BY a2)," | 
|---|
| 534 | "	_x42 AS (SELECT a1, a3 AS a2, prob FROM (SELECT _x41.a1 AS a1, t__x55.a1 AS a2, t__x55.a2 AS a3, _x41.prob " | 
|---|
| 535 | "* t__x55.prob AS prob FROM _x41,(SELECT a1, a2, max(prob) AS prob FROM (SELECT a1, a3 AS a2, prob FROM " | 
|---|
| 536 | "_cachedrel_52 UNION ALL SELECT a3 AS a1, a1 AS a2, prob FROM _cachedrel_52) AS t__x54 GROUP BY a1, a2) AS " | 
|---|
| 537 | "t__x55 WHERE _x41.a1 = t__x55.a1) AS t__x56)," | 
|---|
| 538 | "	_x43 AS (SELECT a2 AS a1, max(prob) AS prob FROM _x42 GROUP BY a2)," | 
|---|
| 539 | "	_x44 AS (SELECT 0 AS a1, a1 AS a2, prob FROM _x16)," | 
|---|
| 540 | "	_x45 AS (SELECT a1, a2, prob FROM _x44)," | 
|---|
| 541 | "	_x46 AS (SELECT a1, upper(a2) AS a2, prob FROM _x45)," | 
|---|
| 542 | "	_x47 AS (SELECT a1, lower(a2) AS a2, prob FROM _x46)," | 
|---|
| 543 | "	_x48 AS (SELECT a1, a3 AS a2, prob FROM (SELECT _x47.a1 AS a1, _x47.a2 AS a2, _cachedrel_68.a1 AS a3, " | 
|---|
| 544 | "_cachedrel_68.a2 AS a4, _x47.prob * _cachedrel_68.prob AS prob FROM _x47,_cachedrel_68 WHERE _x47.a2 = " | 
|---|
| 545 | "_cachedrel_68.a2) AS t__x59)," | 
|---|
| 546 | "	_x49 AS (SELECT a1, a2, sum(prob) AS prob FROM _x48 GROUP BY a1, a2)," | 
|---|
| 547 | "	_x50 AS (SELECT a1, a2, 1 AS prob FROM _x49)," | 
|---|
| 548 | "	_x51 AS (SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM _x49 GROUP BY a2) AS t__x60)," | 
|---|
| 549 | "	_x52 AS (SELECT a1, a2, prob FROM (SELECT _x50.a1 AS a1, _x50.a2 AS a2, _x51.a1 AS a3, _x50.prob * " | 
|---|
| 550 | "_x51.prob AS prob FROM _x50,_x51 WHERE _x50.a2 = _x51.a1) AS t__x62)," | 
|---|
| 551 | "	_x53 AS (SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_77.a1 AS a1, _cachedrel_77.a2 AS " | 
|---|
| 552 | "a2, _x52.a1 AS a3, _x52.a2 AS a4, _cachedrel_77.prob * _x52.prob AS prob FROM _cachedrel_77,_x52 WHERE " | 
|---|
| 553 | "_cachedrel_77.a2 = _x52.a2) AS t__x64 GROUP BY a1, a3)," | 
|---|
| 554 | "	_x54 AS (SELECT a1, prob FROM (SELECT t__x65.a1 AS a1, t__x65.a2 AS a2, _cachedrel_78.a1 AS a3, " | 
|---|
| 555 | "t__x65.prob * _cachedrel_78.prob AS prob FROM (SELECT a1, a2, prob FROM _x53 WHERE a2 = 0) AS " | 
|---|
| 556 | "t__x65,_cachedrel_78 WHERE t__x65.a1 = _cachedrel_78.a1) AS t__x66)," | 
|---|
| 557 | "	_x55 AS (SELECT a1, prob FROM (SELECT _x54.a1 AS a1, _x54.prob / t__x68.prob AS prob FROM _x54,(SELECT " | 
|---|
| 558 | "max(prob) AS prob FROM _x54) AS t__x68) AS t__x69)," | 
|---|
| 559 | "	_x56 AS (SELECT a1, prob FROM (SELECT _cachedrel_82.a1 AS a1, _cachedrel_82.a2 AS a2, _cachedrel_82.a3 AS " | 
|---|
| 560 | "a3, _cachedrel_82.a4 AS a4, _x31.a1 AS a5, _cachedrel_82.prob * _x31.prob AS prob FROM _cachedrel_82,_x31 " | 
|---|
| 561 | "WHERE _cachedrel_82.a3 = _x31.a1) AS t__x71)," | 
|---|
| 562 | "	_x57 AS (SELECT a1, prob FROM (SELECT _cachedrel_60.a1 AS a1, _x56.a1 AS a2, _cachedrel_60.prob * " | 
|---|
| 563 | "_x56.prob AS prob FROM _cachedrel_60,_x56 WHERE _cachedrel_60.a1 = _x56.a1) AS t__x73)," | 
|---|
| 564 | "	_x58 AS (SELECT a1, a3 AS a2, prob FROM (SELECT _x47.a1 AS a1, _x47.a2 AS a2, _cachedrel_90.a1 AS a3, " | 
|---|
| 565 | "_cachedrel_90.a2 AS a4, _x47.prob * _cachedrel_90.prob AS prob FROM _x47,_cachedrel_90 WHERE _x47.a2 = " | 
|---|
| 566 | "_cachedrel_90.a2) AS t__x74)," | 
|---|
| 567 | "	_x59 AS (SELECT a1, a2, sum(prob) AS prob FROM _x58 GROUP BY a1, a2)," | 
|---|
| 568 | "	_x60 AS (SELECT a1, a2, 1 AS prob FROM _x59)," | 
|---|
| 569 | "	_x61 AS (SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM _x59 GROUP BY a2) AS t__x75)," | 
|---|
| 570 | "	_x62 AS (SELECT a1, a2, prob FROM (SELECT _x60.a1 AS a1, _x60.a2 AS a2, _x61.a1 AS a3, _x60.prob * " | 
|---|
| 571 | "_x61.prob AS prob FROM _x60,_x61 WHERE _x60.a2 = _x61.a1) AS t__x77)," | 
|---|
| 572 | "	_x63 AS (SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_99.a1 AS a1, _cachedrel_99.a2 AS " | 
|---|
| 573 | "a2, _x62.a1 AS a3, _x62.a2 AS a4, _cachedrel_99.prob * _x62.prob AS prob FROM _cachedrel_99,_x62 WHERE " | 
|---|
| 574 | "_cachedrel_99.a2 = _x62.a2) AS t__x79 GROUP BY a1, a3)," | 
|---|
| 575 | "	_x64 AS (SELECT a1, prob FROM (SELECT t__x80.a1 AS a1, t__x80.a2 AS a2, _cachedrel_100.a1 AS a3, " | 
|---|
| 576 | "t__x80.prob * _cachedrel_100.prob AS prob FROM (SELECT a1, a2, prob FROM _x63 WHERE a2 = 0) AS " | 
|---|
| 577 | "t__x80,_cachedrel_100 WHERE t__x80.a1 = _cachedrel_100.a1) AS t__x81)," | 
|---|
| 578 | "	_x65 AS (SELECT a1, prob FROM (SELECT _x64.a1 AS a1, _x64.prob / t__x83.prob AS prob FROM _x64,(SELECT " | 
|---|
| 579 | "max(prob) AS prob FROM _x64) AS t__x83) AS t__x84)," | 
|---|
| 580 | "	_x66 AS (SELECT lower(a1) AS a1, prob FROM _x18)," | 
|---|
| 581 | "	_x67 AS (SELECT a1, prob FROM (SELECT _cachedrel_101.a1 AS a1, _cachedrel_101.a2 AS a2, _cachedrel_101.a3 " | 
|---|
| 582 | "AS a3, _cachedrel_101.a4 AS a4, _x66.a1 AS a5, _cachedrel_101.prob * _x66.prob AS prob FROM " | 
|---|
| 583 | "_cachedrel_101,_x66 WHERE _cachedrel_101.a3 =_x66.a1) AS t__x86)," | 
|---|
| 584 | "	_x68 AS (SELECT a1, prob FROM (SELECT _cachedrel_60.a1 AS a1, _x67.a1 AS a2, _cachedrel_60.prob * " | 
|---|
| 585 | "_x67.prob AS prob FROM _cachedrel_60,_x67 WHERE _cachedrel_60.a1 = _x67.a1) AS t__x87)," | 
|---|
| 586 | "	_x69 AS (SELECT a1, a3 AS a2, prob FROM (SELECT _x47.a1 AS a1, _x47.a2 AS a2, _cachedrel_106.a1 AS a3, " | 
|---|
| 587 | "_cachedrel_106.a2 AS a4, _x47.prob * _cachedrel_106.prob AS prob FROM _x47,_cachedrel_106 WHERE _x47.a2 = " | 
|---|
| 588 | "_cachedrel_106.a2) AS t__x88)," | 
|---|
| 589 | "	_x70 AS (SELECT a1, a2, sum(prob) AS prob FROM _x69 GROUP BY a1, a2)," | 
|---|
| 590 | "	_x71 AS (SELECT a1, a2, 1 AS prob FROM _x70)," | 
|---|
| 591 | "	_x72 AS (SELECT a1, 1 AS prob FROM (SELECT a2 AS a1, max(prob) AS prob FROM _x70 GROUP BY a2) AS t__x89)," | 
|---|
| 592 | "	_x73 AS (SELECT a1, a2, prob FROM (SELECT _x71.a1 AS a1, _x71.a2 AS a2, _x72.a1 AS a3, _x71.prob * " | 
|---|
| 593 | "_x72.prob AS prob FROM _x71,_x72 WHERE _x71.a2 = _x72.a1) AS t__x91)," | 
|---|
| 594 | "	_x74 AS (SELECT a1, a3 AS a2, sum(prob) AS prob FROM (SELECT _cachedrel_115.a1 AS a1, _cachedrel_115.a2 AS " | 
|---|
| 595 | "a2, _x73.a1 AS a3, _x73.a2 AS a4, _cachedrel_115.prob * _x73.prob AS prob FROM _cachedrel_115,_x73 WHERE " | 
|---|
| 596 | "_cachedrel_115.a2 = _x73.a2) AS t__x93 GROUP BY a1, a3)," | 
|---|
| 597 | "	_x75 AS (SELECT a1, prob FROM (SELECT t__x94.a1 AS a1, t__x94.a2 AS a2, _cachedrel_116.a1 AS a3, " | 
|---|
| 598 | "t__x94.prob * _cachedrel_116.prob AS prob FROM (SELECT a1, a2, prob FROM _x74 WHERE a2 = 0) AS " | 
|---|
| 599 | "t__x94,_cachedrel_116 WHERE t__x94.a1 = _cachedrel_116.a1) AS t__x95)," | 
|---|
| 600 | "	_x76 AS (SELECT a1, prob FROM (SELECT _x75.a1 AS a1, _x75.prob / t__x97.prob AS prob FROM _x75,(SELECT " | 
|---|
| 601 | "max(prob) AS prob FROM _x75) AS t__x97) AS t__x98)," | 
|---|
| 602 | "	_x77 AS (SELECT _cachedrel_64.a1 AS a1, _cachedrel_64.a2 AS a2, _x16.a1 AS a3, _cachedrel_64.prob * " | 
|---|
| 603 | "_x16.prob AS prob FROM _cachedrel_64,_x16 WHERE _cachedrel_64.a2 =_x16.a1)," | 
|---|
| 604 | "	_x78 AS (SELECT a1, a2, max(prob) AS prob FROM _x77 GROUP BY a1, a2)," | 
|---|
| 605 | "	_x79 AS (SELECT _cachedrel_102.a1 AS a1, _cachedrel_102.a2 AS a2, _x16.a1 AS a3, _cachedrel_102.prob * " | 
|---|
| 606 | "_x16.prob AS prob FROM _cachedrel_102,_x16 WHERE _cachedrel_102.a2 = _x16.a1)," | 
|---|
| 607 | "	_x80 AS (SELECT a1, a2, max(prob) AS prob FROM _x79 GROUP BY a1, a2)," | 
|---|
| 608 | "	_x81 AS (SELECT a1, a2, prob FROM (SELECT _x78.a1 AS a1, _x78.a2 AS a2, t__x102.a1 AS a3, _x78.prob * " | 
|---|
| 609 | "t__x102.prob AS prob FROM _x78,(SELECT a1, prob FROM _cachedrel_118 WHERE a1 = '1') AS t__x102) AS t__x103)," | 
|---|
| 610 | "	_x82 AS (SELECT a1, a2, prob FROM (SELECT _x80.a1 AS a1, _x80.a2 AS a2, t__x105.a1 AS a3, _x80.prob * " | 
|---|
| 611 | "t__x105.prob AS prob FROM _x80,(SELECT a1, prob FROM _cachedrel_118 WHERE a1 = '2') AS t__x105) AS t__x106)," | 
|---|
| 612 | "	_x83 AS (SELECT a1, a2, prob FROM _x81 UNION ALL SELECT a1, a2, prob FROM _x82)," | 
|---|
| 613 | "	_x84 AS (SELECT a1, a2, sum(prob) AS prob FROM _x83 GROUP BY a1, a2)," | 
|---|
| 614 | "	_x85 AS (SELECT a1, prob FROM (SELECT a1, prob FROM _x84) AS t__x107)," | 
|---|
| 615 | "	_x86 AS (SELECT a1, prob FROM (SELECT _x43.a1 AS a1, _x43.prob / t__x109.prob AS prob FROM _x43,(SELECT " | 
|---|
| 616 | "max(prob) AS prob FROM _x43) AS t__x109) AS t__x110)," | 
|---|
| 617 | "	_x87 AS (SELECT a1, prob FROM (SELECT _x55.a1 AS a1, _x55.prob / t__x112.prob AS prob FROM _x55,(SELECT " | 
|---|
| 618 | "max(prob) AS prob FROM _x55) AS t__x112) AS t__x113)," | 
|---|
| 619 | "	_x88 AS (SELECT a1, prob FROM (SELECT _x57.a1 AS a1, _x57.prob / t__x115.prob AS prob FROM _x57,(SELECT " | 
|---|
| 620 | "max(prob) AS prob FROM _x57) AS t__x115) AS t__x116)," | 
|---|
| 621 | "	_x89 AS (SELECT a1, prob FROM (SELECT _x65.a1 AS a1, _x65.prob / t__x118.prob AS prob FROM _x65,(SELECT " | 
|---|
| 622 | "max(prob) AS prob FROM _x65) AS t__x118) AS t__x119)," | 
|---|
| 623 | "	_x90 AS (SELECT a1, prob FROM (SELECT _x68.a1 AS a1, _x68.prob / t__x121.prob AS prob FROM _x68,(SELECT " | 
|---|
| 624 | "max(prob) AS prob FROM _x68) AS t__x121) AS t__x122)," | 
|---|
| 625 | "	_x91 AS (SELECT a1, prob FROM (SELECT _x76.a1 AS a1, _x76.prob / t__x124.prob AS prob FROM _x76,(SELECT " | 
|---|
| 626 | "max(prob) AS prob FROM _x76) AS t__x124) AS t__x125)," | 
|---|
| 627 | "	_x92 AS (SELECT a1, prob FROM (SELECT _x85.a1 AS a1, _x85.prob / t__x127.prob AS prob FROM _x85,(SELECT " | 
|---|
| 628 | "max(prob) AS prob FROM _x85) AS t__x127) AS t__x128)," | 
|---|
| 629 | "	_x93 AS (SELECT a1, prob FROM (SELECT _x86.a1 AS a1, t__x130.a1 AS a2, _x86.prob * t__x130.prob AS prob " | 
|---|
| 630 | "FROM _x86,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '1') AS t__x130) AS t__x131)," | 
|---|
| 631 | "	_x94 AS (SELECT a1, prob FROM (SELECT _x87.a1 AS a1, t__x133.a1 AS a2, _x87.prob * t__x133.prob AS prob " | 
|---|
| 632 | "FROM _x87,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '2') AS t__x133) AS t__x134)," | 
|---|
| 633 | "	_x95 AS (SELECT a1, prob FROM (SELECT _x88.a1 AS a1, t__x136.a1 AS a2, _x88.prob * t__x136.prob AS prob " | 
|---|
| 634 | "FROM _x88,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '3') AS t__x136) AS t__x137)," | 
|---|
| 635 | "	_x96 AS (SELECT a1, prob FROM (SELECT _x89.a1 AS a1, t__x139.a1 AS a2, _x89.prob * t__x139.prob AS prob " | 
|---|
| 636 | "FROM _x89,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '4') AS t__x139) AS t__x140)," | 
|---|
| 637 | "	_x97 AS (SELECT a1, prob FROM (SELECT _x90.a1 AS a1, t__x142.a1 AS a2, _x90.prob * t__x142.prob AS prob " | 
|---|
| 638 | "FROM _x90,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '5') AS t__x142) AS t__x143)," | 
|---|
| 639 | "	_x98 AS (SELECT a1, prob FROM (SELECT _x91.a1 AS a1, t__x145.a1 AS a2, _x91.prob * t__x145.prob AS prob " | 
|---|
| 640 | "FROM _x91,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '6') AS t__x145) AS t__x146)," | 
|---|
| 641 | "	_x99 AS (SELECT a1, prob FROM (SELECT _x92.a1 AS a1, t__x148.a1 AS a2, _x92.prob * t__x148.prob AS prob " | 
|---|
| 642 | "FROM _x92,(SELECT a1, prob FROM _cachedrel_120 WHERE a1 = '7') AS t__x148) AS t__x149)," | 
|---|
| 643 | "	_x100 AS (SELECT a1, prob FROM _x93 UNION ALL (SELECT a1, prob FROM _x94 UNION ALL (SELECT a1, prob FROM " | 
|---|
| 644 | "_x95 UNION ALL (SELECT a1, prob FROM _x96 UNION ALL (SELECT a1, prob FROM _x97 UNION ALL (SELECT a1, prob " | 
|---|
| 645 | "FROM _x98 UNION ALL SELECT a1, prob FROM _x99))))))," | 
|---|
| 646 | "	_x101 AS (SELECT a1, sum(prob) AS prob FROM _x100 GROUP BY a1)," | 
|---|
| 647 | "	_x102 AS (SELECT a1, prob FROM (SELECT _cachedrel_150.a1 AS a1, _cachedrel_150.a2 AS a2, _cachedrel_150.a3 " | 
|---|
| 648 | "AS a3, t__x152.a1 AS a4, _cachedrel_150.prob * t__x152.prob AS prob FROM _cachedrel_150,(SELECT a2 AS a1, " | 
|---|
| 649 | "prob FROM (SELECT paramName AS a1, value AS a2, prob FROM params_int WHERE paramName = 's0_userid') AS " | 
|---|
| 650 | "t__x151) AS t__x152 WHERE _cachedrel_150.a3 = t__x152.a1) AS t__x153)," | 
|---|
| 651 | "	_x103 AS (SELECT a1, prob FROM (SELECT _cachedrel_2.a1 AS a1, _x102.a1 AS a2, _cachedrel_2.prob * " | 
|---|
| 652 | "_x102.prob AS prob FROM _cachedrel_2,_x102 WHERE _cachedrel_2.a1 = _x102.a1) AS t__x155)," | 
|---|
| 653 | "	_x104 AS (SELECT a1, prob FROM (SELECT _cachedrel_147.a1 AS a1, _cachedrel_147.a2 AS a2, _x103.a1 AS a3, " | 
|---|
| 654 | "_cachedrel_147.prob * _x103.prob AS prob FROM _cachedrel_147,_x103 WHERE _cachedrel_147.a2 = _x103.a1) AS " | 
|---|
| 655 | "t__x157)," | 
|---|
| 656 | "	_x105 AS (SELECT a1, 1 AS prob FROM _x104)," | 
|---|
| 657 | "	_x106 AS (SELECT a1, a4 AS a2, prob FROM (SELECT _x105.a1 AS a1, _cachedrel_52.a1 AS a2, _cachedrel_52.a2 " | 
|---|
| 658 | "AS a3, _cachedrel_52.a3 AS a4, _x105.prob * _cachedrel_52.prob AS prob FROM _x105,_cachedrel_52 WHERE " | 
|---|
| 659 | "_x105.a1 = _cachedrel_52.a1) AS t__x159)," | 
|---|
| 660 | "	_x107 AS (SELECT a2 AS a1, max(prob) AS prob FROM _x106 GROUP BY a2)," | 
|---|
| 661 | "	_x108 AS (SELECT a1, a2, max(prob) AS prob FROM _x106 GROUP BY a1, a2)," | 
|---|
| 662 | "	_x109 AS (SELECT a1, a4 AS a2, prob FROM (SELECT _x107.a1 AS a1, t__x161.a1 AS a2, t__x161.a2 AS a3, " | 
|---|
| 663 | "t__x161.a3 AS a4, _x107.prob * t__x161.prob AS prob FROM _x107,(SELECT a3 AS a1, a2, a1 AS a3, prob FROM " | 
|---|
| 664 | "_cachedrel_52) AS t__x161 WHERE _x107.a1 = t__x161.a1) AS t__x162)," | 
|---|
| 665 | "	_x110 AS (SELECT a2 AS a1, prob FROM _x109)," | 
|---|
| 666 | "	_x111 AS (SELECT a1, a3 AS a2, max(prob) AS prob FROM (SELECT _cachedrel_81.a1 AS a1, _cachedrel_81.a2 AS " | 
|---|
| 667 | "a2, _cachedrel_81.a3 AS a3, _cachedrel_81.a4 AS a4, _x110.a1 AS a5, _cachedrel_81.prob * _x110.prob AS prob " | 
|---|
| 668 | "FROM _cachedrel_81,_x110 WHERE _cachedrel_81.a1 = _x110.a1) AS t__x164 GROUP BY a1, a3)," | 
|---|
| 669 | "	_x112 AS (SELECT a2 AS a1, a1 AS a2, prob FROM _x108)," | 
|---|
| 670 | "	_x113 AS (SELECT a1, a3 AS a2, prob FROM (SELECT _cachedrel_81.a1 AS a1, _cachedrel_81.a2 AS a2, " | 
|---|
| 671 | "_cachedrel_81.a3 AS a3, _cachedrel_81.a4 AS a4, _x104.a1 AS a5, _cachedrel_81.prob * _x104.prob AS prob FROM " | 
|---|
| 672 | "_cachedrel_81,_x104 WHERE _cachedrel_81.a1 = _x104.a1) AS t__x165)," | 
|---|
| 673 | "	_x114 AS (SELECT a1, a4 AS a2, sum(prob) AS prob FROM (SELECT _x112.a1 AS a1, _x112.a2 AS a2, _x113.a1 AS " | 
|---|
| 674 | "a3, _x113.a2 AS a4, _x112.prob * _x113.prob AS prob FROM _x112,_x113 WHERE _x112.a2 = _x113.a1) AS t__x167 " | 
|---|
| 675 | "GROUP BY a1, a4)," | 
|---|
| 676 | "	_x115 AS (SELECT _x111.a1 AS a1, _x111.a2 AS a2, _x114.a1 AS a3, _x114.a2 AS a4, _x111.prob * _x114.prob " | 
|---|
| 677 | "AS prob FROM _x111,_x114 WHERE _x111.a2 = _x114.a2)," | 
|---|
| 678 | "	_x116 AS (SELECT a1, a3 AS a2, max(prob) AS prob FROM _x115 GROUP BY a1, a3)," | 
|---|
| 679 | "	_x117 AS (SELECT a1, prob FROM (SELECT a1, prob FROM _x116) AS t__x169)," | 
|---|
| 680 | "	_x118 AS (SELECT a1, prob FROM (SELECT _x104.a1 AS a1, _x104.prob / t__x171.prob AS prob FROM " | 
|---|
| 681 | "_x104,(SELECT max(prob) AS prob FROM _x104) AS t__x171) AS t__x172)," | 
|---|
| 682 | "	_x119 AS (SELECT a1, prob FROM (SELECT _x117.a1 AS a1, _x117.prob / t__x174.prob AS prob FROM " | 
|---|
| 683 | "_x117,(SELECT max(prob) AS prob FROM _x117) AS t__x174) AS t__x175)," | 
|---|
| 684 | "	_x120 AS (SELECT a1, prob FROM (SELECT _x118.a1 AS a1, t__x177.a1 AS a2, _x118.prob * t__x177.prob AS prob " | 
|---|
| 685 | "FROM _x118,(SELECT a1, prob FROM _cachedrel_152 WHERE a1 = '1') AS t__x177) AS t__x178)," | 
|---|
| 686 | "	_x121 AS (SELECT a1, prob FROM (SELECT _x119.a1 AS a1, t__x180.a1 AS a2, _x119.prob * t__x180.prob AS prob " | 
|---|
| 687 | "FROM _x119,(SELECT a1, prob FROM _cachedrel_152 WHERE a1 = '2') AS t__x180) AS t__x181)," | 
|---|
| 688 | "	_x122 AS (SELECT a1, prob FROM _x120 UNION ALL SELECT a1, prob FROM _x121)," | 
|---|
| 689 | "	_x123 AS (SELECT a1, sum(prob) AS prob FROM _x122 GROUP BY a1)," | 
|---|
| 690 | "	_x124 AS (SELECT a1, sum(prob) AS prob FROM (SELECT _x101.a1 AS a1, _x123.a1 AS a2, _x101.prob * " | 
|---|
| 691 | "_x123.prob AS prob FROM _x101,_x123 WHERE _x101.a1 = _x123.a1) AS t__x183 GROUP BY a1)," | 
|---|
| 692 | "	_x125 AS (SELECT a1, prob FROM (SELECT _x101.a1 AS a1, _cachedrel_158.a1 AS a2, _x101.prob * " | 
|---|
| 693 | "_cachedrel_158.prob AS prob FROM _x101,_cachedrel_158 WHERE _x101.a1 = _cachedrel_158.a1) AS t__x184)," | 
|---|
| 694 | "	_x126 AS (SELECT a1, prob FROM (SELECT _x101.a1 AS a1, _x101.prob / t__x185.prob AS prob FROM " | 
|---|
| 695 | "_x101,(SELECT max(prob) AS prob FROM _x101) AS t__x185) AS t__x186)," | 
|---|
| 696 | "	_x127 AS (SELECT a1, prob FROM (SELECT _x124.a1 AS a1, _x124.prob / t__x188.prob AS prob FROM " | 
|---|
| 697 | "_x124,(SELECT max(prob) AS prob FROM _x124) AS t__x188) AS t__x189)," | 
|---|
| 698 | "	_x128 AS (SELECT a1, prob FROM (SELECT _x125.a1 AS a1, _x125.prob / t__x191.prob AS prob FROM " | 
|---|
| 699 | "_x125,(SELECT max(prob) AS prob FROM _x125) AS t__x191) AS t__x192)," | 
|---|
| 700 | "	_x129 AS (SELECT a1, prob FROM (SELECT _x126.a1 AS a1, t__x194.a1 AS a2, _x126.prob * t__x194.prob AS prob " | 
|---|
| 701 | "FROM _x126,(SELECT a1, prob FROM _cachedrel_160 WHERE a1 = '1') AS t__x194) AS t__x195)," | 
|---|
| 702 | "	_x130 AS (SELECT a1, prob FROM (SELECT _x127.a1 AS a1, t__x197.a1 AS a2, _x127.prob * t__x197.prob AS prob " | 
|---|
| 703 | "FROM _x127,(SELECT a1, prob FROM _cachedrel_160 WHERE a1 = '2') AS t__x197) AS t__x198)," | 
|---|
| 704 | "	_x131 AS (SELECT a1, prob FROM (SELECT _x128.a1 AS a1, t__x200.a1 AS a2, _x128.prob * t__x200.prob AS prob " | 
|---|
| 705 | "FROM _x128,(SELECT a1, prob FROM _cachedrel_160 WHERE a1 = '3') AS t__x200) AS t__x201)," | 
|---|
| 706 | "	_x132 AS (SELECT a1, prob FROM _x129 UNION ALL (SELECT a1, prob FROM _x130 UNION ALL SELECT a1, prob FROM " | 
|---|
| 707 | "_x131))," | 
|---|
| 708 | "	_x133 AS (SELECT a1, sum(prob) AS prob FROM _x132 GROUP BY a1)," | 
|---|
| 709 | "	_x134 AS (SELECT a1, prob FROM (SELECT _cachedrel_163.a1 AS a1, _cachedrel_163.a2 AS a2, _cachedrel_163.a3 " | 
|---|
| 710 | "AS a3, _cachedrel_163.a4 AS a4, _x31.a1 AS a5, _cachedrel_163.prob * _x31.prob AS prob FROM " | 
|---|
| 711 | "_cachedrel_163,_x31 WHERE _cachedrel_163.a3 = _x31.a1) AS t__x203)," | 
|---|
| 712 | "	_x135 AS (SELECT a1, prob FROM (SELECT _cachedrel_60.a1 AS a1, _x134.a1 AS a2, _cachedrel_60.prob * " | 
|---|
| 713 | "_x134.prob AS prob FROM _cachedrel_60,_x134 WHERE _cachedrel_60.a1 = _x134.a1) AS t__x204)," | 
|---|
| 714 | "	_x136 AS (SELECT CAST(count(prob) AS DECIMAL) AS prob FROM _x135)," | 
|---|
| 715 | "	_x137 AS (SELECT a1, prob FROM (SELECT _x135.a1 AS a1, _x135.prob * t__x207.prob AS prob FROM " | 
|---|
| 716 | "_x135,(SELECT prob FROM (SELECT CASE WHEN prob > CAST(0 AS DECIMAL) THEN CAST(1 AS DECIMAL) ELSE CAST(0 AS " | 
|---|
| 717 | "DECIMAL) END AS prob FROM _x136) AS t__x206 WHERE prob > 0.0) AS t__x207 UNION ALL SELECT _x133.a1 AS a1, " | 
|---|
| 718 | "_x133.prob * t__x210.prob AS prob FROM _x133,(SELECT prob FROM (SELECT CASE WHEN prob > CAST(0 AS DECIMAL) " | 
|---|
| 719 | "THEN CAST(0 AS DECIMAL) ELSE CAST(1 AS DECIMAL) END AS prob FROM _x136) AS t__x209 WHERE prob > 0.0) AS " | 
|---|
| 720 | "t__x210) AS t__x211)," | 
|---|
| 721 | "	_x138 AS (SELECT a1, sum(prob) AS prob FROM (SELECT _x137.a1 AS a1, _cachedrel_60.a1 AS a2, _x137.prob * " | 
|---|
| 722 | "_cachedrel_60.prob AS prob FROM _x137,_cachedrel_60 WHERE _x137.a1 = _cachedrel_60.a1) AS t__x213 GROUP BY a1)" | 
|---|
| 723 | "	 SELECT a1, prob FROM _x138;"); | 
|---|
| 724 |  | 
|---|
| 725 | REQUIRE_NO_FAIL(con.Query( "ROLLBACK;")); | 
|---|
| 726 | } | 
|---|
| 727 |  | 
|---|