Publish website for Apache Calcite 1.21.0 release
diff --git a/apidocs/allclasses-index.html b/apidocs/allclasses-index.html
index be8b8da..94ef555 100644
--- a/apidocs/allclasses-index.html
+++ b/apidocs/allclasses-index.html
@@ -27,7 +27,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":2,"i1":2,"i2":2,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":2,"i9":4,"i10":2,"i11":2,"i12":2,"i13":2,"i14":2,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":1,"i39":2,"i40":2,"i41":1,"i42":2,"i43":2,"i44":1,"i45":2,"i46":2,"i47":2,"i48":4,"i49":2,"i50":2,"i51":2,"i52":2,"i53":1,"i54":2,"i55":2,"i56":2,"i57":2,"i58":2,"i59":1,"i60":2,"i61":2,"i62":1,"i63":1,"i64":2,"i65":2,"i66":2,"i67":2,"i68":2,"i69":2,"i70":2,"i71":2,"i72":2,"i73":2,"i74":2,"i75":2,"i76":2,"i77":2,"i78":2,"i79":2,"i80":2,"i81":2,"i82":2,"i83":2,"i84":2,"i85":2,"i86":2,"i87":2,"i88":2,"i89":2,"i90":2,"i91":1,"i92":2,"i93":1,"i94":2,"i95":1,"i96":2,"i97":2,"i98":2,"i99":2,"i100":32,"i101":1,"i102":2,"i103":2,"i104":2,"i105":2,"i106":2,"i107":2,"i108":2,"i109":2,"i110":2,"i111":2,"i112":2,"i113":2,"i114":2,"i115":2,"i116":2,"i117":2,"i118":1,"i119":4,"i120":2,"i121":2,"i122":2,"i123":2,"i124":2,"i125":2,"i126":2,"i127":2,"i128":4,"i129":2,"i130":2,"i131":2,"i132":2,"i133":2,"i134":2,"i135":2,"i136":2,"i137":2,"i138":2,"i139":2,"i140":2,"i141":2,"i142":2,"i143":4,"i144":2,"i145":2,"i146":2,"i147":2,"i148":2,"i149":2,"i150":2,"i151":2,"i152":2,"i153":2,"i154":2,"i155":1,"i156":1,"i157":2,"i158":2,"i159":2,"i160":2,"i161":2,"i162":2,"i163":2,"i164":2,"i165":2,"i166":1,"i167":2,"i168":2,"i169":2,"i170":2,"i171":1,"i172":4,"i173":1,"i174":2,"i175":2,"i176":2,"i177":2,"i178":2,"i179":2,"i180":2,"i181":2,"i182":2,"i183":2,"i184":2,"i185":2,"i186":2,"i187":2,"i188":2,"i189":2,"i190":2,"i191":2,"i192":2,"i193":2,"i194":2,"i195":2,"i196":2,"i197":2,"i198":2,"i199":2,"i200":2,"i201":2,"i202":2,"i203":2,"i204":2,"i205":2,"i206":2,"i207":2,"i208":2,"i209":2,"i210":1,"i211":1,"i212":1,"i213":1,"i214":1,"i215":1,"i216":1,"i217":1,"i218":1,"i219":1,"i220":1,"i221":1,"i222":1,"i223":1,"i224":1,"i225":1,"i226":1,"i227":1,"i228":1,"i229":1,"i230":1,"i231":1,"i232":1,"i233":1,"i234":1,"i235":1,"i236":1,"i237":1,"i238":1,"i239":1,"i240":1,"i241":1,"i242":1,"i243":1,"i244":1,"i245":1,"i246":1,"i247":1,"i248":1,"i249":1,"i250":1,"i251":1,"i252":1,"i253":1,"i254":1,"i255":1,"i256":1,"i257":4,"i258":2,"i259":1,"i260":2,"i261":2,"i262":2,"i263":2,"i264":2,"i265":2,"i266":2,"i267":1,"i268":1,"i269":2,"i270":2,"i271":2,"i272":2,"i273":2,"i274":2,"i275":2,"i276":2,"i277":2,"i278":4,"i279":2,"i280":8,"i281":8,"i282":2,"i283":2,"i284":2,"i285":2,"i286":2,"i287":2,"i288":2,"i289":2,"i290":2,"i291":2,"i292":2,"i293":2,"i294":2,"i295":2,"i296":2,"i297":1,"i298":1,"i299":2,"i300":2,"i301":1,"i302":2,"i303":2,"i304":2,"i305":2,"i306":2,"i307":1,"i308":1,"i309":2,"i310":2,"i311":2,"i312":2,"i313":2,"i314":2,"i315":1,"i316":1,"i317":2,"i318":2,"i319":2,"i320":2,"i321":2,"i322":2,"i323":2,"i324":2,"i325":2,"i326":2,"i327":2,"i328":2,"i329":1,"i330":1,"i331":2,"i332":2,"i333":2,"i334":2,"i335":2,"i336":2,"i337":1,"i338":2,"i339":2,"i340":8,"i341":2,"i342":2,"i343":2,"i344":2,"i345":2,"i346":2,"i347":2,"i348":1,"i349":1,"i350":2,"i351":2,"i352":2,"i353":2,"i354":2,"i355":2,"i356":2,"i357":2,"i358":4,"i359":2,"i360":1,"i361":2,"i362":2,"i363":2,"i364":2,"i365":2,"i366":2,"i367":2,"i368":2,"i369":2,"i370":2,"i371":2,"i372":2,"i373":2,"i374":2,"i375":2,"i376":2,"i377":2,"i378":2,"i379":2,"i380":2,"i381":2,"i382":2,"i383":2,"i384":2,"i385":2,"i386":2,"i387":2,"i388":2,"i389":2,"i390":2,"i391":2,"i392":2,"i393":2,"i394":2,"i395":2,"i396":2,"i397":2,"i398":2,"i399":2,"i400":2,"i401":2,"i402":2,"i403":2,"i404":2,"i405":2,"i406":2,"i407":2,"i408":2,"i409":2,"i410":2,"i411":2,"i412":2,"i413":2,"i414":2,"i415":2,"i416":2,"i417":2,"i418":2,"i419":2,"i420":2,"i421":2,"i422":4,"i423":2,"i424":2,"i425":1,"i426":2,"i427":2,"i428":2,"i429":2,"i430":4,"i431":2,"i432":2,"i433":2,"i434":2,"i435":4,"i436":2,"i437":2,"i438":2,"i439":2,"i440":2,"i441":1,"i442":2,"i443":2,"i444":2,"i445":2,"i446":8,"i447":1,"i448":2,"i449":2,"i450":2,"i451":2,"i452":1,"i453":2,"i454":2,"i455":2,"i456":4,"i457":2,"i458":2,"i459":2,"i460":2,"i461":2,"i462":2,"i463":2,"i464":4,"i465":2,"i466":2,"i467":2,"i468":2,"i469":2,"i470":2,"i471":2,"i472":2,"i473":2,"i474":2,"i475":4,"i476":2,"i477":2,"i478":2,"i479":2,"i480":1,"i481":2,"i482":8,"i483":8,"i484":1,"i485":4,"i486":2,"i487":2,"i488":2,"i489":2,"i490":2,"i491":2,"i492":2,"i493":2,"i494":2,"i495":2,"i496":2,"i497":2,"i498":2,"i499":2,"i500":2,"i501":2,"i502":2,"i503":2,"i504":2,"i505":2,"i506":2,"i507":2,"i508":2,"i509":2,"i510":2,"i511":2,"i512":2,"i513":2,"i514":2,"i515":2,"i516":2,"i517":32,"i518":2,"i519":1,"i520":1,"i521":1,"i522":2,"i523":1,"i524":2,"i525":1,"i526":2,"i527":2,"i528":2,"i529":2,"i530":2,"i531":2,"i532":1,"i533":2,"i534":2,"i535":1,"i536":2,"i537":2,"i538":2,"i539":2,"i540":2,"i541":2,"i542":2,"i543":4,"i544":2,"i545":2,"i546":2,"i547":2,"i548":2,"i549":2,"i550":2,"i551":2,"i552":2,"i553":2,"i554":2,"i555":2,"i556":2,"i557":2,"i558":2,"i559":2,"i560":2,"i561":2,"i562":2,"i563":2,"i564":2,"i565":2,"i566":2,"i567":2,"i568":2,"i569":2,"i570":2,"i571":2,"i572":2,"i573":1,"i574":2,"i575":2,"i576":2,"i577":4,"i578":2,"i579":2,"i580":2,"i581":2,"i582":2,"i583":1,"i584":2,"i585":2,"i586":2,"i587":2,"i588":1,"i589":2,"i590":2,"i591":2,"i592":2,"i593":1,"i594":2,"i595":2,"i596":2,"i597":2,"i598":2,"i599":2,"i600":2,"i601":2,"i602":2,"i603":2,"i604":4,"i605":2,"i606":1,"i607":2,"i608":2,"i609":2,"i610":2,"i611":2,"i612":2,"i613":2,"i614":2,"i615":2,"i616":2,"i617":2,"i618":2,"i619":2,"i620":2,"i621":2,"i622":2,"i623":2,"i624":2,"i625":2,"i626":2,"i627":2,"i628":2,"i629":4,"i630":2,"i631":2,"i632":1,"i633":2,"i634":2,"i635":2,"i636":2,"i637":2,"i638":2,"i639":2,"i640":2,"i641":4,"i642":2,"i643":2,"i644":2,"i645":2,"i646":2,"i647":2,"i648":2,"i649":2,"i650":2,"i651":2,"i652":2,"i653":2,"i654":2,"i655":2,"i656":2,"i657":2,"i658":2,"i659":2,"i660":2,"i661":2,"i662":2,"i663":2,"i664":2,"i665":2,"i666":2,"i667":2,"i668":2,"i669":2,"i670":2,"i671":2,"i672":2,"i673":2,"i674":2,"i675":2,"i676":2,"i677":1,"i678":4,"i679":2,"i680":2,"i681":2,"i682":2,"i683":2,"i684":2,"i685":2,"i686":2,"i687":2,"i688":2,"i689":2,"i690":2,"i691":2,"i692":2,"i693":2,"i694":2,"i695":2,"i696":2,"i697":2,"i698":2,"i699":2,"i700":2,"i701":2,"i702":2,"i703":2,"i704":2,"i705":2,"i706":2,"i707":2,"i708":2,"i709":1,"i710":2,"i711":2,"i712":2,"i713":4,"i714":1,"i715":2,"i716":2,"i717":2,"i718":2,"i719":2,"i720":2,"i721":2,"i722":32,"i723":2,"i724":2,"i725":2,"i726":2,"i727":2,"i728":2,"i729":1,"i730":1,"i731":1,"i732":1,"i733":4,"i734":1,"i735":2,"i736":2,"i737":1,"i738":1,"i739":1,"i740":1,"i741":1,"i742":2,"i743":2,"i744":1,"i745":2,"i746":1,"i747":2,"i748":2,"i749":2,"i750":2,"i751":2,"i752":4,"i753":2,"i754":2,"i755":8,"i756":2,"i757":2,"i758":2,"i759":2,"i760":2,"i761":2,"i762":2,"i763":1,"i764":2,"i765":2,"i766":2,"i767":2,"i768":2,"i769":2,"i770":2,"i771":1,"i772":2,"i773":2,"i774":2,"i775":2,"i776":2,"i777":2,"i778":2,"i779":2,"i780":2,"i781":2,"i782":2,"i783":2,"i784":2,"i785":1,"i786":2,"i787":2,"i788":2,"i789":2,"i790":2,"i791":2,"i792":2,"i793":2,"i794":1,"i795":2,"i796":2,"i797":1,"i798":2,"i799":2,"i800":1,"i801":2,"i802":2,"i803":1,"i804":1,"i805":1,"i806":1,"i807":1,"i808":2,"i809":1,"i810":1,"i811":2,"i812":2,"i813":2,"i814":2,"i815":2,"i816":2,"i817":2,"i818":2,"i819":2,"i820":2,"i821":2,"i822":2,"i823":2,"i824":2,"i825":2,"i826":1,"i827":2,"i828":2,"i829":2,"i830":2,"i831":2,"i832":2,"i833":2,"i834":2,"i835":2,"i836":2,"i837":2,"i838":2,"i839":2,"i840":2,"i841":2,"i842":2,"i843":2,"i844":2,"i845":2,"i846":2,"i847":2,"i848":2,"i849":4,"i850":1,"i851":4,"i852":2,"i853":2,"i854":4,"i855":2,"i856":1,"i857":4,"i858":2,"i859":2,"i860":4,"i861":2,"i862":1,"i863":4,"i864":2,"i865":2,"i866":2,"i867":1,"i868":2,"i869":2,"i870":2,"i871":2,"i872":2,"i873":2,"i874":2,"i875":2,"i876":2,"i877":2,"i878":2,"i879":2,"i880":2,"i881":2,"i882":4,"i883":2,"i884":2,"i885":2,"i886":2,"i887":2,"i888":2,"i889":2,"i890":2,"i891":2,"i892":4,"i893":1,"i894":2,"i895":2,"i896":2,"i897":2,"i898":2,"i899":2,"i900":2,"i901":2,"i902":2,"i903":2,"i904":2,"i905":2,"i906":2,"i907":1,"i908":1,"i909":2,"i910":2,"i911":2,"i912":2,"i913":2,"i914":1,"i915":1,"i916":1,"i917":2,"i918":1,"i919":2,"i920":4,"i921":2,"i922":1,"i923":2,"i924":2,"i925":2,"i926":2,"i927":2,"i928":2,"i929":2,"i930":2,"i931":2,"i932":1,"i933":2,"i934":2,"i935":2,"i936":2,"i937":2,"i938":2,"i939":8,"i940":2,"i941":2,"i942":2,"i943":2,"i944":2,"i945":2,"i946":8,"i947":2,"i948":2,"i949":1,"i950":2,"i951":2,"i952":2,"i953":4,"i954":2,"i955":1,"i956":1,"i957":2,"i958":2,"i959":2,"i960":2,"i961":2,"i962":2,"i963":2,"i964":2,"i965":2,"i966":1,"i967":2,"i968":2,"i969":2,"i970":2,"i971":2,"i972":2,"i973":2,"i974":2,"i975":2,"i976":2,"i977":2,"i978":2,"i979":2,"i980":2,"i981":2,"i982":2,"i983":2,"i984":2,"i985":2,"i986":2,"i987":2,"i988":2,"i989":2,"i990":2,"i991":2,"i992":2,"i993":2,"i994":1,"i995":2,"i996":2,"i997":2,"i998":2,"i999":2,"i1000":2,"i1001":2,"i1002":2,"i1003":2,"i1004":2,"i1005":2,"i1006":2,"i1007":1,"i1008":2,"i1009":2,"i1010":2,"i1011":2,"i1012":2,"i1013":2,"i1014":2,"i1015":4,"i1016":2,"i1017":2,"i1018":2,"i1019":2,"i1020":2,"i1021":2,"i1022":2,"i1023":2,"i1024":2,"i1025":2,"i1026":4,"i1027":2,"i1028":2,"i1029":2,"i1030":4,"i1031":4,"i1032":2,"i1033":2,"i1034":2,"i1035":2,"i1036":2,"i1037":2,"i1038":2,"i1039":2,"i1040":2,"i1041":2,"i1042":4,"i1043":2,"i1044":2,"i1045":2,"i1046":2,"i1047":2,"i1048":2,"i1049":2,"i1050":4,"i1051":2,"i1052":2,"i1053":2,"i1054":2,"i1055":2,"i1056":2,"i1057":2,"i1058":2,"i1059":1,"i1060":2,"i1061":2,"i1062":1,"i1063":2,"i1064":2,"i1065":2,"i1066":2,"i1067":2,"i1068":2,"i1069":2,"i1070":2,"i1071":2,"i1072":2,"i1073":2,"i1074":2,"i1075":2,"i1076":2,"i1077":2,"i1078":2,"i1079":2,"i1080":2,"i1081":2,"i1082":2,"i1083":2,"i1084":2,"i1085":1,"i1086":1,"i1087":2,"i1088":2,"i1089":2,"i1090":2,"i1091":2,"i1092":2,"i1093":2,"i1094":2,"i1095":2,"i1096":2,"i1097":2,"i1098":2,"i1099":2,"i1100":1,"i1101":2,"i1102":4,"i1103":32,"i1104":2,"i1105":2,"i1106":2,"i1107":2,"i1108":2,"i1109":2,"i1110":2,"i1111":2,"i1112":2,"i1113":2,"i1114":2,"i1115":2,"i1116":2,"i1117":2,"i1118":2,"i1119":2,"i1120":2,"i1121":2,"i1122":1,"i1123":2,"i1124":2,"i1125":2,"i1126":2,"i1127":2,"i1128":2,"i1129":2,"i1130":2,"i1131":2,"i1132":2,"i1133":2,"i1134":2,"i1135":2,"i1136":2,"i1137":2,"i1138":2,"i1139":2,"i1140":2,"i1141":2,"i1142":2,"i1143":2,"i1144":2,"i1145":2,"i1146":2,"i1147":2,"i1148":2,"i1149":1,"i1150":2,"i1151":1,"i1152":2,"i1153":2,"i1154":2,"i1155":2,"i1156":2,"i1157":2,"i1158":2,"i1159":2,"i1160":2,"i1161":2,"i1162":2,"i1163":2,"i1164":2,"i1165":2,"i1166":2,"i1167":32,"i1168":1,"i1169":2,"i1170":2,"i1171":1,"i1172":2,"i1173":1,"i1174":2,"i1175":2,"i1176":2,"i1177":8,"i1178":2,"i1179":2,"i1180":2,"i1181":2,"i1182":1,"i1183":2,"i1184":1,"i1185":8,"i1186":4,"i1187":2,"i1188":4,"i1189":2,"i1190":2,"i1191":2,"i1192":2,"i1193":2,"i1194":2,"i1195":2,"i1196":2,"i1197":2,"i1198":2,"i1199":2,"i1200":2,"i1201":2,"i1202":2,"i1203":2,"i1204":1,"i1205":2,"i1206":2,"i1207":2,"i1208":2,"i1209":2,"i1210":2,"i1211":2,"i1212":2,"i1213":1,"i1214":4,"i1215":2,"i1216":1,"i1217":2,"i1218":2,"i1219":2,"i1220":2,"i1221":2,"i1222":2,"i1223":2,"i1224":1,"i1225":2,"i1226":1,"i1227":2,"i1228":1,"i1229":2,"i1230":2,"i1231":2,"i1232":2,"i1233":2,"i1234":4,"i1235":1,"i1236":1,"i1237":2,"i1238":2,"i1239":2,"i1240":2,"i1241":2,"i1242":4,"i1243":2,"i1244":1,"i1245":2,"i1246":2,"i1247":2,"i1248":2,"i1249":2,"i1250":2,"i1251":2,"i1252":2,"i1253":2,"i1254":2,"i1255":2,"i1256":2,"i1257":2,"i1258":2,"i1259":2,"i1260":2,"i1261":2,"i1262":2,"i1263":2,"i1264":2,"i1265":2,"i1266":2,"i1267":2,"i1268":2,"i1269":2,"i1270":2,"i1271":2,"i1272":2,"i1273":2,"i1274":2,"i1275":2,"i1276":2,"i1277":2,"i1278":2,"i1279":2,"i1280":2,"i1281":2,"i1282":2,"i1283":2,"i1284":2,"i1285":2,"i1286":2,"i1287":4,"i1288":2,"i1289":2,"i1290":2,"i1291":2,"i1292":2,"i1293":2,"i1294":2,"i1295":2,"i1296":2,"i1297":2,"i1298":2,"i1299":2,"i1300":2,"i1301":2,"i1302":2,"i1303":2,"i1304":2,"i1305":2,"i1306":2,"i1307":1,"i1308":2,"i1309":2,"i1310":2,"i1311":2,"i1312":2,"i1313":1,"i1314":1,"i1315":2,"i1316":2,"i1317":32,"i1318":2,"i1319":2,"i1320":1,"i1321":1,"i1322":1,"i1323":1,"i1324":1,"i1325":1,"i1326":4,"i1327":2,"i1328":4,"i1329":4,"i1330":2,"i1331":2,"i1332":2,"i1333":2,"i1334":2,"i1335":2,"i1336":2,"i1337":4,"i1338":4,"i1339":2,"i1340":2,"i1341":2,"i1342":2,"i1343":2,"i1344":2,"i1345":2,"i1346":1,"i1347":1,"i1348":2,"i1349":2,"i1350":32,"i1351":2,"i1352":2,"i1353":2,"i1354":2,"i1355":2,"i1356":2,"i1357":2,"i1358":32,"i1359":2,"i1360":2,"i1361":2,"i1362":2,"i1363":2,"i1364":2,"i1365":1,"i1366":2,"i1367":2,"i1368":1,"i1369":2,"i1370":2,"i1371":1,"i1372":2,"i1373":4,"i1374":2,"i1375":4,"i1376":2,"i1377":2,"i1378":2,"i1379":1,"i1380":2,"i1381":2,"i1382":4,"i1383":1,"i1384":2,"i1385":2,"i1386":2,"i1387":2,"i1388":2,"i1389":2,"i1390":2,"i1391":2,"i1392":2,"i1393":2,"i1394":2,"i1395":2,"i1396":2,"i1397":2,"i1398":2,"i1399":2,"i1400":2,"i1401":2,"i1402":1,"i1403":2,"i1404":4,"i1405":2,"i1406":2,"i1407":2,"i1408":2,"i1409":2,"i1410":2,"i1411":1,"i1412":2,"i1413":2,"i1414":4,"i1415":2,"i1416":1,"i1417":1,"i1418":2,"i1419":2,"i1420":2,"i1421":1,"i1422":8,"i1423":2,"i1424":2,"i1425":2,"i1426":8,"i1427":2,"i1428":2,"i1429":1,"i1430":2,"i1431":2,"i1432":2,"i1433":2,"i1434":2,"i1435":2,"i1436":2,"i1437":1,"i1438":2,"i1439":2,"i1440":1,"i1441":2,"i1442":1,"i1443":4,"i1444":4,"i1445":1,"i1446":1,"i1447":2,"i1448":2,"i1449":2,"i1450":2,"i1451":2,"i1452":1,"i1453":2,"i1454":2,"i1455":2,"i1456":2,"i1457":2,"i1458":1,"i1459":2,"i1460":2,"i1461":2,"i1462":2,"i1463":2,"i1464":2,"i1465":2,"i1466":2,"i1467":2,"i1468":2,"i1469":2,"i1470":2,"i1471":1,"i1472":2,"i1473":2,"i1474":2,"i1475":2,"i1476":2,"i1477":2,"i1478":2,"i1479":1,"i1480":2,"i1481":2,"i1482":2,"i1483":2,"i1484":2,"i1485":2,"i1486":2,"i1487":2,"i1488":2,"i1489":2,"i1490":2,"i1491":2,"i1492":2,"i1493":2,"i1494":2,"i1495":2,"i1496":2,"i1497":2,"i1498":2,"i1499":2,"i1500":2,"i1501":2,"i1502":2,"i1503":1,"i1504":2,"i1505":2,"i1506":1,"i1507":1,"i1508":2,"i1509":2,"i1510":1,"i1511":2,"i1512":1,"i1513":2,"i1514":2,"i1515":1,"i1516":2,"i1517":2,"i1518":2,"i1519":2,"i1520":2,"i1521":2,"i1522":2,"i1523":2,"i1524":2,"i1525":2,"i1526":1,"i1527":2,"i1528":2,"i1529":2,"i1530":1,"i1531":4,"i1532":2,"i1533":1,"i1534":1,"i1535":2,"i1536":2,"i1537":2,"i1538":2,"i1539":2,"i1540":2,"i1541":2,"i1542":2,"i1543":2,"i1544":2,"i1545":4,"i1546":2,"i1547":2,"i1548":2,"i1549":2,"i1550":2,"i1551":2,"i1552":2,"i1553":2,"i1554":2,"i1555":2,"i1556":2,"i1557":2,"i1558":2,"i1559":2,"i1560":2,"i1561":2,"i1562":2,"i1563":2,"i1564":2,"i1565":1,"i1566":1,"i1567":2,"i1568":1,"i1569":2,"i1570":1,"i1571":2,"i1572":2,"i1573":2,"i1574":1,"i1575":2,"i1576":2,"i1577":1,"i1578":1,"i1579":2,"i1580":2,"i1581":2,"i1582":2,"i1583":2,"i1584":2,"i1585":8,"i1586":2,"i1587":1,"i1588":4,"i1589":1,"i1590":2,"i1591":1,"i1592":2,"i1593":2,"i1594":2,"i1595":1,"i1596":1,"i1597":2,"i1598":2,"i1599":2,"i1600":2,"i1601":2,"i1602":2,"i1603":1,"i1604":1,"i1605":2,"i1606":2,"i1607":2,"i1608":2,"i1609":2,"i1610":2,"i1611":2,"i1612":2,"i1613":1,"i1614":4,"i1615":2,"i1616":2,"i1617":2,"i1618":2,"i1619":1,"i1620":2,"i1621":1,"i1622":2,"i1623":1,"i1624":2,"i1625":1,"i1626":2,"i1627":1,"i1628":2,"i1629":1,"i1630":2,"i1631":1,"i1632":2,"i1633":1,"i1634":2,"i1635":1,"i1636":2,"i1637":1,"i1638":2,"i1639":1,"i1640":2,"i1641":1,"i1642":2,"i1643":1,"i1644":2,"i1645":1,"i1646":2,"i1647":1,"i1648":2,"i1649":1,"i1650":2,"i1651":1,"i1652":2,"i1653":2,"i1654":4,"i1655":4,"i1656":2,"i1657":2,"i1658":2,"i1659":1,"i1660":1,"i1661":2,"i1662":2,"i1663":2,"i1664":2,"i1665":2,"i1666":2,"i1667":2,"i1668":2,"i1669":2,"i1670":2,"i1671":2,"i1672":2,"i1673":2,"i1674":2,"i1675":2,"i1676":2,"i1677":2,"i1678":2,"i1679":2,"i1680":2,"i1681":2,"i1682":2,"i1683":2,"i1684":2,"i1685":2,"i1686":2,"i1687":2,"i1688":2,"i1689":1,"i1690":2,"i1691":1,"i1692":1,"i1693":1,"i1694":2,"i1695":2,"i1696":2,"i1697":2,"i1698":1,"i1699":1,"i1700":1,"i1701":2,"i1702":2,"i1703":2,"i1704":1,"i1705":2,"i1706":2,"i1707":2,"i1708":2,"i1709":2,"i1710":2,"i1711":2,"i1712":2,"i1713":2,"i1714":2,"i1715":1,"i1716":1,"i1717":8,"i1718":1,"i1719":2,"i1720":2,"i1721":2,"i1722":2,"i1723":2,"i1724":2,"i1725":4,"i1726":2,"i1727":2,"i1728":2,"i1729":1,"i1730":1,"i1731":1,"i1732":1,"i1733":1,"i1734":2,"i1735":2,"i1736":2,"i1737":2,"i1738":2,"i1739":2,"i1740":2,"i1741":4,"i1742":2,"i1743":4,"i1744":4,"i1745":2,"i1746":2,"i1747":2,"i1748":1,"i1749":2,"i1750":2,"i1751":1,"i1752":2,"i1753":2,"i1754":1,"i1755":2,"i1756":2,"i1757":1,"i1758":2,"i1759":2,"i1760":1,"i1761":2,"i1762":2,"i1763":2,"i1764":2,"i1765":2,"i1766":1,"i1767":2,"i1768":2,"i1769":2,"i1770":2,"i1771":2,"i1772":1,"i1773":2,"i1774":2,"i1775":2,"i1776":2,"i1777":32,"i1778":2,"i1779":4,"i1780":32,"i1781":2,"i1782":2,"i1783":4,"i1784":2,"i1785":2,"i1786":2,"i1787":2,"i1788":2,"i1789":8,"i1790":2,"i1791":2,"i1792":32,"i1793":1,"i1794":32,"i1795":2,"i1796":2,"i1797":4,"i1798":2,"i1799":1,"i1800":2,"i1801":2,"i1802":1,"i1803":2,"i1804":2,"i1805":1,"i1806":2,"i1807":2,"i1808":2,"i1809":2,"i1810":2,"i1811":2,"i1812":2,"i1813":4,"i1814":2,"i1815":2,"i1816":1,"i1817":2,"i1818":2,"i1819":2,"i1820":2,"i1821":2,"i1822":2,"i1823":2,"i1824":2,"i1825":2,"i1826":2,"i1827":2,"i1828":2,"i1829":2,"i1830":2,"i1831":2,"i1832":2,"i1833":2,"i1834":2,"i1835":2,"i1836":2,"i1837":2,"i1838":2,"i1839":2,"i1840":2,"i1841":2,"i1842":2,"i1843":2,"i1844":2,"i1845":2,"i1846":2,"i1847":2,"i1848":2,"i1849":2,"i1850":2,"i1851":2,"i1852":2,"i1853":2,"i1854":2,"i1855":2,"i1856":2,"i1857":2,"i1858":4,"i1859":2,"i1860":2,"i1861":2,"i1862":2,"i1863":2,"i1864":2,"i1865":2,"i1866":2,"i1867":2,"i1868":2,"i1869":2,"i1870":2,"i1871":4,"i1872":2,"i1873":2,"i1874":2,"i1875":2,"i1876":2,"i1877":2,"i1878":2,"i1879":8,"i1880":1,"i1881":2,"i1882":2,"i1883":2,"i1884":2,"i1885":2,"i1886":2,"i1887":2,"i1888":2,"i1889":2,"i1890":2,"i1891":2,"i1892":2,"i1893":2,"i1894":1,"i1895":4,"i1896":2,"i1897":2,"i1898":1,"i1899":1,"i1900":2,"i1901":2,"i1902":2,"i1903":2,"i1904":2,"i1905":2,"i1906":8,"i1907":1,"i1908":2,"i1909":1,"i1910":2,"i1911":2,"i1912":4,"i1913":2,"i1914":2,"i1915":8,"i1916":2,"i1917":2,"i1918":2,"i1919":2,"i1920":8,"i1921":2,"i1922":2,"i1923":2,"i1924":2,"i1925":8,"i1926":2,"i1927":2,"i1928":2,"i1929":1,"i1930":2,"i1931":2,"i1932":2,"i1933":2,"i1934":2,"i1935":2,"i1936":2,"i1937":2,"i1938":2,"i1939":2,"i1940":2,"i1941":1,"i1942":2,"i1943":2,"i1944":1,"i1945":2,"i1946":2,"i1947":2,"i1948":2,"i1949":1,"i1950":1,"i1951":2,"i1952":1,"i1953":1,"i1954":4,"i1955":1,"i1956":2,"i1957":1,"i1958":2,"i1959":2,"i1960":2,"i1961":1,"i1962":2,"i1963":2,"i1964":2,"i1965":2,"i1966":1,"i1967":2,"i1968":2,"i1969":2,"i1970":2,"i1971":2,"i1972":2,"i1973":2,"i1974":2,"i1975":2,"i1976":2,"i1977":4,"i1978":1,"i1979":32,"i1980":2,"i1981":2,"i1982":2,"i1983":2,"i1984":2,"i1985":2,"i1986":2,"i1987":2,"i1988":2,"i1989":2,"i1990":1,"i1991":2,"i1992":2,"i1993":2,"i1994":2,"i1995":2,"i1996":2,"i1997":2,"i1998":2,"i1999":2,"i2000":2,"i2001":2,"i2002":2,"i2003":1,"i2004":1,"i2005":2,"i2006":2,"i2007":2,"i2008":2,"i2009":2,"i2010":2,"i2011":2,"i2012":4,"i2013":1,"i2014":2,"i2015":2,"i2016":2,"i2017":2,"i2018":2,"i2019":2,"i2020":2,"i2021":2,"i2022":2,"i2023":2,"i2024":2,"i2025":2,"i2026":2,"i2027":2,"i2028":1,"i2029":2,"i2030":2,"i2031":2,"i2032":2,"i2033":2,"i2034":2,"i2035":2,"i2036":2,"i2037":2,"i2038":2,"i2039":2,"i2040":2,"i2041":2,"i2042":2,"i2043":4,"i2044":2,"i2045":2,"i2046":2,"i2047":2,"i2048":4,"i2049":1,"i2050":2,"i2051":2,"i2052":2,"i2053":4,"i2054":2,"i2055":2,"i2056":2,"i2057":2,"i2058":2,"i2059":2,"i2060":2,"i2061":2,"i2062":2,"i2063":2,"i2064":2,"i2065":2,"i2066":2,"i2067":2,"i2068":2,"i2069":2,"i2070":4,"i2071":2,"i2072":2,"i2073":2,"i2074":1,"i2075":2,"i2076":2,"i2077":2,"i2078":4,"i2079":2,"i2080":2,"i2081":2,"i2082":2,"i2083":2,"i2084":2,"i2085":2,"i2086":2,"i2087":2,"i2088":2,"i2089":2,"i2090":2,"i2091":2,"i2092":4,"i2093":2,"i2094":2,"i2095":2,"i2096":1,"i2097":4,"i2098":2,"i2099":2,"i2100":2,"i2101":4,"i2102":2,"i2103":2,"i2104":2,"i2105":2,"i2106":2,"i2107":2,"i2108":2,"i2109":2,"i2110":2,"i2111":2,"i2112":2,"i2113":2,"i2114":2,"i2115":2,"i2116":2,"i2117":2,"i2118":2,"i2119":2,"i2120":2,"i2121":2,"i2122":2,"i2123":4,"i2124":2,"i2125":2,"i2126":2,"i2127":2,"i2128":2,"i2129":2,"i2130":4,"i2131":1,"i2132":2,"i2133":4,"i2134":2,"i2135":1,"i2136":2,"i2137":2,"i2138":2,"i2139":2,"i2140":2,"i2141":2,"i2142":2,"i2143":2,"i2144":2,"i2145":2,"i2146":2,"i2147":1,"i2148":2,"i2149":4,"i2150":4,"i2151":4,"i2152":2,"i2153":2,"i2154":2,"i2155":2,"i2156":2,"i2157":2,"i2158":2,"i2159":2,"i2160":4,"i2161":4,"i2162":2,"i2163":4,"i2164":2,"i2165":2,"i2166":2,"i2167":2,"i2168":2,"i2169":2,"i2170":2,"i2171":2,"i2172":2,"i2173":4,"i2174":2,"i2175":2,"i2176":2,"i2177":2,"i2178":2,"i2179":4,"i2180":2,"i2181":2,"i2182":2,"i2183":2,"i2184":2,"i2185":4,"i2186":2,"i2187":2,"i2188":1,"i2189":2,"i2190":2,"i2191":2,"i2192":2,"i2193":2,"i2194":2,"i2195":4,"i2196":2,"i2197":4,"i2198":4,"i2199":4,"i2200":2,"i2201":2,"i2202":2,"i2203":2,"i2204":2,"i2205":2,"i2206":4,"i2207":2,"i2208":4,"i2209":2,"i2210":2,"i2211":2,"i2212":4,"i2213":2,"i2214":2,"i2215":2,"i2216":4,"i2217":2,"i2218":2,"i2219":2,"i2220":4,"i2221":2,"i2222":2,"i2223":2,"i2224":2,"i2225":1,"i2226":2,"i2227":2,"i2228":2,"i2229":2,"i2230":4,"i2231":4,"i2232":2,"i2233":2,"i2234":2,"i2235":4,"i2236":1,"i2237":2,"i2238":4,"i2239":2,"i2240":4,"i2241":2,"i2242":2,"i2243":2,"i2244":2,"i2245":2,"i2246":1,"i2247":2,"i2248":2,"i2249":2,"i2250":2,"i2251":2,"i2252":2,"i2253":1,"i2254":2,"i2255":2,"i2256":2,"i2257":2,"i2258":4,"i2259":2,"i2260":2,"i2261":1,"i2262":2,"i2263":2,"i2264":1,"i2265":4,"i2266":1,"i2267":2,"i2268":2,"i2269":1,"i2270":2,"i2271":2,"i2272":2,"i2273":2,"i2274":2,"i2275":8,"i2276":2,"i2277":1,"i2278":2,"i2279":2,"i2280":1,"i2281":2,"i2282":2,"i2283":2,"i2284":2,"i2285":2,"i2286":2,"i2287":2,"i2288":2,"i2289":2,"i2290":2,"i2291":2,"i2292":2,"i2293":2,"i2294":2,"i2295":2,"i2296":2,"i2297":2,"i2298":2,"i2299":2,"i2300":2,"i2301":2,"i2302":1,"i2303":2,"i2304":1,"i2305":1,"i2306":1,"i2307":2,"i2308":2,"i2309":2,"i2310":2,"i2311":2,"i2312":2,"i2313":2,"i2314":4,"i2315":2,"i2316":2,"i2317":2,"i2318":2,"i2319":2,"i2320":4,"i2321":2,"i2322":2,"i2323":2,"i2324":2,"i2325":2,"i2326":2,"i2327":4,"i2328":1,"i2329":2,"i2330":2,"i2331":2,"i2332":2,"i2333":1,"i2334":1,"i2335":2,"i2336":2,"i2337":1,"i2338":2,"i2339":2,"i2340":2,"i2341":4,"i2342":1,"i2343":2,"i2344":2,"i2345":2,"i2346":2,"i2347":2,"i2348":2,"i2349":4,"i2350":2,"i2351":2,"i2352":8,"i2353":2,"i2354":2,"i2355":2,"i2356":2,"i2357":2,"i2358":1,"i2359":2,"i2360":2,"i2361":2,"i2362":2,"i2363":2,"i2364":2,"i2365":2,"i2366":2,"i2367":2,"i2368":4,"i2369":2,"i2370":2,"i2371":2,"i2372":2,"i2373":2,"i2374":4,"i2375":4,"i2376":4,"i2377":1,"i2378":1,"i2379":2,"i2380":2,"i2381":2,"i2382":2,"i2383":2,"i2384":2,"i2385":2,"i2386":2,"i2387":2,"i2388":2,"i2389":8,"i2390":2,"i2391":2,"i2392":2,"i2393":1,"i2394":1,"i2395":8,"i2396":2,"i2397":2,"i2398":2,"i2399":2,"i2400":2,"i2401":2,"i2402":2,"i2403":2,"i2404":2,"i2405":2,"i2406":2,"i2407":2,"i2408":4,"i2409":2,"i2410":1,"i2411":1,"i2412":2,"i2413":2,"i2414":2,"i2415":1,"i2416":2,"i2417":2,"i2418":1,"i2419":2,"i2420":2,"i2421":2,"i2422":1,"i2423":1,"i2424":2,"i2425":1,"i2426":2,"i2427":4,"i2428":2,"i2429":2,"i2430":2,"i2431":2,"i2432":2,"i2433":2,"i2434":1,"i2435":1,"i2436":1,"i2437":4,"i2438":4,"i2439":2,"i2440":2,"i2441":2,"i2442":2,"i2443":2,"i2444":2,"i2445":2,"i2446":2,"i2447":2,"i2448":2,"i2449":2,"i2450":2,"i2451":2,"i2452":2,"i2453":2,"i2454":2,"i2455":2,"i2456":2,"i2457":2,"i2458":1,"i2459":2,"i2460":2,"i2461":2,"i2462":2,"i2463":1,"i2464":2,"i2465":2,"i2466":2,"i2467":2,"i2468":2,"i2469":2,"i2470":2,"i2471":2,"i2472":2,"i2473":32,"i2474":2,"i2475":2,"i2476":2,"i2477":2,"i2478":2,"i2479":2,"i2480":2,"i2481":2,"i2482":4,"i2483":4,"i2484":1,"i2485":2,"i2486":2,"i2487":2,"i2488":2,"i2489":2,"i2490":2,"i2491":2,"i2492":2,"i2493":2,"i2494":2,"i2495":2,"i2496":2,"i2497":2,"i2498":2,"i2499":8,"i2500":2,"i2501":2,"i2502":2,"i2503":2,"i2504":2,"i2505":2,"i2506":2,"i2507":2,"i2508":2,"i2509":2,"i2510":2,"i2511":2,"i2512":2,"i2513":2,"i2514":2,"i2515":1,"i2516":2,"i2517":4,"i2518":2,"i2519":1,"i2520":1,"i2521":2,"i2522":2,"i2523":2,"i2524":1,"i2525":2,"i2526":2,"i2527":4,"i2528":2,"i2529":2,"i2530":2,"i2531":2,"i2532":2,"i2533":2,"i2534":2,"i2535":1,"i2536":2,"i2537":2,"i2538":2,"i2539":2,"i2540":2,"i2541":2,"i2542":2,"i2543":2,"i2544":2,"i2545":2,"i2546":2,"i2547":2,"i2548":2,"i2549":2,"i2550":2,"i2551":2,"i2552":2,"i2553":2,"i2554":2,"i2555":2,"i2556":2,"i2557":1,"i2558":1,"i2559":2,"i2560":2,"i2561":2,"i2562":2,"i2563":1,"i2564":2,"i2565":1,"i2566":2,"i2567":2,"i2568":2,"i2569":2,"i2570":1,"i2571":1,"i2572":2,"i2573":2,"i2574":2,"i2575":1,"i2576":2,"i2577":2,"i2578":2,"i2579":2,"i2580":2,"i2581":2,"i2582":2,"i2583":2,"i2584":2,"i2585":2,"i2586":2,"i2587":2,"i2588":2,"i2589":8,"i2590":2,"i2591":2,"i2592":2,"i2593":2,"i2594":8,"i2595":2,"i2596":2,"i2597":2,"i2598":2,"i2599":2,"i2600":2,"i2601":2,"i2602":2,"i2603":2,"i2604":2,"i2605":1,"i2606":2,"i2607":2,"i2608":2,"i2609":2,"i2610":2,"i2611":2,"i2612":2,"i2613":2,"i2614":2,"i2615":2,"i2616":2,"i2617":4,"i2618":1,"i2619":2,"i2620":2,"i2621":2,"i2622":2,"i2623":1,"i2624":2,"i2625":1,"i2626":1,"i2627":1,"i2628":1,"i2629":4,"i2630":1,"i2631":2,"i2632":1,"i2633":2,"i2634":2,"i2635":2,"i2636":2,"i2637":2,"i2638":2,"i2639":2,"i2640":2,"i2641":1,"i2642":2,"i2643":2,"i2644":2};
+var data = {"i0":2,"i1":2,"i2":2,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":2,"i9":4,"i10":2,"i11":2,"i12":2,"i13":2,"i14":2,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":1,"i40":2,"i41":2,"i42":1,"i43":2,"i44":2,"i45":1,"i46":2,"i47":2,"i48":2,"i49":4,"i50":2,"i51":2,"i52":2,"i53":2,"i54":2,"i55":1,"i56":2,"i57":2,"i58":2,"i59":2,"i60":2,"i61":1,"i62":2,"i63":2,"i64":1,"i65":1,"i66":2,"i67":2,"i68":2,"i69":2,"i70":2,"i71":2,"i72":2,"i73":2,"i74":2,"i75":2,"i76":2,"i77":2,"i78":2,"i79":2,"i80":2,"i81":2,"i82":2,"i83":2,"i84":2,"i85":2,"i86":2,"i87":2,"i88":2,"i89":2,"i90":2,"i91":2,"i92":2,"i93":1,"i94":2,"i95":1,"i96":2,"i97":1,"i98":2,"i99":2,"i100":2,"i101":2,"i102":32,"i103":1,"i104":2,"i105":2,"i106":2,"i107":2,"i108":2,"i109":2,"i110":2,"i111":2,"i112":2,"i113":2,"i114":2,"i115":2,"i116":2,"i117":2,"i118":2,"i119":2,"i120":1,"i121":4,"i122":2,"i123":2,"i124":2,"i125":2,"i126":2,"i127":2,"i128":2,"i129":2,"i130":4,"i131":2,"i132":2,"i133":2,"i134":2,"i135":2,"i136":2,"i137":2,"i138":2,"i139":2,"i140":2,"i141":2,"i142":2,"i143":2,"i144":2,"i145":4,"i146":2,"i147":2,"i148":2,"i149":2,"i150":2,"i151":2,"i152":2,"i153":2,"i154":2,"i155":2,"i156":2,"i157":1,"i158":2,"i159":2,"i160":2,"i161":2,"i162":2,"i163":2,"i164":1,"i165":2,"i166":2,"i167":2,"i168":2,"i169":2,"i170":2,"i171":2,"i172":2,"i173":2,"i174":1,"i175":2,"i176":2,"i177":2,"i178":2,"i179":1,"i180":4,"i181":1,"i182":2,"i183":2,"i184":2,"i185":2,"i186":2,"i187":2,"i188":2,"i189":2,"i190":2,"i191":2,"i192":2,"i193":2,"i194":2,"i195":2,"i196":2,"i197":2,"i198":2,"i199":2,"i200":2,"i201":2,"i202":2,"i203":2,"i204":2,"i205":2,"i206":2,"i207":2,"i208":2,"i209":2,"i210":2,"i211":2,"i212":2,"i213":2,"i214":2,"i215":2,"i216":2,"i217":2,"i218":2,"i219":2,"i220":1,"i221":1,"i222":1,"i223":1,"i224":1,"i225":1,"i226":1,"i227":1,"i228":1,"i229":1,"i230":1,"i231":1,"i232":1,"i233":1,"i234":1,"i235":1,"i236":1,"i237":1,"i238":1,"i239":1,"i240":1,"i241":1,"i242":1,"i243":1,"i244":1,"i245":1,"i246":1,"i247":1,"i248":1,"i249":1,"i250":1,"i251":1,"i252":1,"i253":1,"i254":1,"i255":1,"i256":1,"i257":1,"i258":1,"i259":1,"i260":1,"i261":1,"i262":1,"i263":1,"i264":1,"i265":1,"i266":1,"i267":4,"i268":2,"i269":1,"i270":2,"i271":2,"i272":2,"i273":2,"i274":2,"i275":2,"i276":2,"i277":1,"i278":1,"i279":2,"i280":2,"i281":2,"i282":2,"i283":2,"i284":2,"i285":2,"i286":2,"i287":2,"i288":4,"i289":2,"i290":8,"i291":8,"i292":2,"i293":2,"i294":2,"i295":2,"i296":2,"i297":2,"i298":2,"i299":2,"i300":2,"i301":2,"i302":2,"i303":2,"i304":2,"i305":2,"i306":2,"i307":1,"i308":1,"i309":2,"i310":2,"i311":1,"i312":2,"i313":2,"i314":2,"i315":2,"i316":2,"i317":1,"i318":1,"i319":2,"i320":2,"i321":2,"i322":2,"i323":2,"i324":2,"i325":1,"i326":1,"i327":2,"i328":2,"i329":2,"i330":2,"i331":2,"i332":2,"i333":2,"i334":2,"i335":2,"i336":2,"i337":2,"i338":2,"i339":1,"i340":1,"i341":2,"i342":2,"i343":2,"i344":2,"i345":2,"i346":2,"i347":1,"i348":2,"i349":2,"i350":8,"i351":2,"i352":2,"i353":2,"i354":2,"i355":2,"i356":2,"i357":2,"i358":1,"i359":1,"i360":2,"i361":2,"i362":2,"i363":2,"i364":2,"i365":2,"i366":2,"i367":2,"i368":4,"i369":2,"i370":1,"i371":2,"i372":2,"i373":2,"i374":2,"i375":2,"i376":2,"i377":2,"i378":2,"i379":2,"i380":2,"i381":2,"i382":2,"i383":2,"i384":2,"i385":2,"i386":2,"i387":2,"i388":2,"i389":2,"i390":2,"i391":2,"i392":2,"i393":2,"i394":2,"i395":2,"i396":2,"i397":2,"i398":2,"i399":2,"i400":2,"i401":2,"i402":2,"i403":2,"i404":2,"i405":2,"i406":2,"i407":2,"i408":2,"i409":2,"i410":2,"i411":2,"i412":2,"i413":2,"i414":2,"i415":2,"i416":2,"i417":2,"i418":2,"i419":2,"i420":2,"i421":2,"i422":2,"i423":2,"i424":2,"i425":2,"i426":2,"i427":2,"i428":2,"i429":2,"i430":2,"i431":2,"i432":4,"i433":2,"i434":2,"i435":1,"i436":2,"i437":2,"i438":2,"i439":2,"i440":4,"i441":2,"i442":2,"i443":2,"i444":2,"i445":4,"i446":2,"i447":2,"i448":2,"i449":2,"i450":2,"i451":1,"i452":2,"i453":2,"i454":2,"i455":2,"i456":2,"i457":8,"i458":1,"i459":2,"i460":2,"i461":2,"i462":2,"i463":1,"i464":2,"i465":2,"i466":2,"i467":2,"i468":2,"i469":2,"i470":2,"i471":2,"i472":2,"i473":2,"i474":4,"i475":2,"i476":2,"i477":2,"i478":2,"i479":2,"i480":2,"i481":2,"i482":2,"i483":2,"i484":2,"i485":4,"i486":2,"i487":2,"i488":2,"i489":2,"i490":1,"i491":2,"i492":8,"i493":8,"i494":1,"i495":4,"i496":2,"i497":2,"i498":2,"i499":2,"i500":2,"i501":2,"i502":2,"i503":2,"i504":2,"i505":2,"i506":2,"i507":2,"i508":2,"i509":2,"i510":2,"i511":2,"i512":2,"i513":2,"i514":2,"i515":2,"i516":2,"i517":2,"i518":2,"i519":2,"i520":2,"i521":2,"i522":2,"i523":2,"i524":2,"i525":2,"i526":2,"i527":32,"i528":2,"i529":2,"i530":2,"i531":2,"i532":1,"i533":1,"i534":1,"i535":2,"i536":1,"i537":2,"i538":1,"i539":2,"i540":2,"i541":2,"i542":2,"i543":2,"i544":2,"i545":1,"i546":2,"i547":2,"i548":1,"i549":2,"i550":2,"i551":2,"i552":2,"i553":2,"i554":2,"i555":2,"i556":4,"i557":2,"i558":2,"i559":2,"i560":2,"i561":2,"i562":2,"i563":2,"i564":2,"i565":2,"i566":2,"i567":2,"i568":2,"i569":2,"i570":2,"i571":2,"i572":2,"i573":2,"i574":2,"i575":2,"i576":2,"i577":2,"i578":2,"i579":2,"i580":2,"i581":2,"i582":2,"i583":2,"i584":2,"i585":2,"i586":1,"i587":2,"i588":2,"i589":2,"i590":4,"i591":2,"i592":2,"i593":2,"i594":2,"i595":2,"i596":2,"i597":1,"i598":2,"i599":2,"i600":2,"i601":2,"i602":1,"i603":2,"i604":2,"i605":2,"i606":2,"i607":1,"i608":2,"i609":2,"i610":2,"i611":2,"i612":2,"i613":2,"i614":2,"i615":2,"i616":2,"i617":2,"i618":4,"i619":2,"i620":1,"i621":2,"i622":2,"i623":2,"i624":2,"i625":2,"i626":2,"i627":2,"i628":2,"i629":2,"i630":2,"i631":2,"i632":2,"i633":2,"i634":2,"i635":2,"i636":2,"i637":2,"i638":2,"i639":2,"i640":2,"i641":2,"i642":2,"i643":4,"i644":2,"i645":2,"i646":1,"i647":2,"i648":2,"i649":2,"i650":2,"i651":2,"i652":2,"i653":2,"i654":2,"i655":2,"i656":2,"i657":4,"i658":2,"i659":2,"i660":2,"i661":2,"i662":2,"i663":2,"i664":2,"i665":2,"i666":2,"i667":2,"i668":2,"i669":2,"i670":2,"i671":2,"i672":2,"i673":2,"i674":2,"i675":2,"i676":2,"i677":2,"i678":2,"i679":2,"i680":2,"i681":2,"i682":2,"i683":2,"i684":2,"i685":2,"i686":2,"i687":2,"i688":2,"i689":2,"i690":2,"i691":2,"i692":2,"i693":2,"i694":2,"i695":2,"i696":2,"i697":1,"i698":4,"i699":2,"i700":2,"i701":2,"i702":2,"i703":2,"i704":2,"i705":2,"i706":1,"i707":2,"i708":2,"i709":2,"i710":2,"i711":2,"i712":2,"i713":2,"i714":2,"i715":2,"i716":2,"i717":2,"i718":2,"i719":2,"i720":2,"i721":2,"i722":2,"i723":2,"i724":2,"i725":2,"i726":2,"i727":2,"i728":1,"i729":2,"i730":2,"i731":2,"i732":4,"i733":1,"i734":2,"i735":2,"i736":2,"i737":2,"i738":2,"i739":2,"i740":2,"i741":32,"i742":2,"i743":2,"i744":2,"i745":2,"i746":2,"i747":2,"i748":1,"i749":1,"i750":1,"i751":1,"i752":4,"i753":1,"i754":2,"i755":1,"i756":1,"i757":1,"i758":1,"i759":1,"i760":2,"i761":2,"i762":1,"i763":2,"i764":1,"i765":2,"i766":2,"i767":2,"i768":2,"i769":2,"i770":4,"i771":2,"i772":2,"i773":8,"i774":2,"i775":2,"i776":2,"i777":2,"i778":2,"i779":2,"i780":2,"i781":1,"i782":2,"i783":2,"i784":2,"i785":2,"i786":2,"i787":2,"i788":2,"i789":1,"i790":2,"i791":2,"i792":2,"i793":2,"i794":2,"i795":2,"i796":2,"i797":2,"i798":2,"i799":2,"i800":2,"i801":2,"i802":2,"i803":1,"i804":2,"i805":2,"i806":2,"i807":2,"i808":2,"i809":2,"i810":2,"i811":2,"i812":1,"i813":2,"i814":2,"i815":2,"i816":1,"i817":2,"i818":1,"i819":2,"i820":1,"i821":2,"i822":2,"i823":1,"i824":1,"i825":1,"i826":1,"i827":1,"i828":2,"i829":1,"i830":1,"i831":2,"i832":2,"i833":2,"i834":2,"i835":2,"i836":2,"i837":2,"i838":2,"i839":2,"i840":2,"i841":2,"i842":2,"i843":2,"i844":2,"i845":2,"i846":1,"i847":2,"i848":2,"i849":2,"i850":2,"i851":2,"i852":2,"i853":2,"i854":2,"i855":2,"i856":2,"i857":2,"i858":2,"i859":2,"i860":2,"i861":2,"i862":2,"i863":2,"i864":2,"i865":2,"i866":2,"i867":2,"i868":2,"i869":4,"i870":1,"i871":4,"i872":2,"i873":2,"i874":4,"i875":2,"i876":1,"i877":4,"i878":2,"i879":2,"i880":4,"i881":2,"i882":1,"i883":4,"i884":2,"i885":2,"i886":2,"i887":1,"i888":2,"i889":2,"i890":2,"i891":2,"i892":2,"i893":2,"i894":2,"i895":2,"i896":2,"i897":2,"i898":2,"i899":2,"i900":2,"i901":2,"i902":4,"i903":2,"i904":2,"i905":2,"i906":2,"i907":2,"i908":2,"i909":2,"i910":2,"i911":2,"i912":4,"i913":1,"i914":2,"i915":2,"i916":2,"i917":2,"i918":2,"i919":2,"i920":2,"i921":2,"i922":2,"i923":2,"i924":2,"i925":2,"i926":2,"i927":1,"i928":1,"i929":1,"i930":2,"i931":2,"i932":2,"i933":2,"i934":2,"i935":1,"i936":1,"i937":1,"i938":2,"i939":1,"i940":2,"i941":4,"i942":2,"i943":1,"i944":2,"i945":2,"i946":2,"i947":2,"i948":2,"i949":2,"i950":2,"i951":2,"i952":2,"i953":1,"i954":2,"i955":2,"i956":2,"i957":2,"i958":2,"i959":2,"i960":8,"i961":2,"i962":2,"i963":2,"i964":2,"i965":2,"i966":2,"i967":8,"i968":2,"i969":2,"i970":1,"i971":2,"i972":2,"i973":2,"i974":4,"i975":2,"i976":1,"i977":1,"i978":2,"i979":2,"i980":2,"i981":2,"i982":2,"i983":2,"i984":2,"i985":2,"i986":2,"i987":1,"i988":2,"i989":2,"i990":2,"i991":2,"i992":2,"i993":2,"i994":2,"i995":2,"i996":2,"i997":2,"i998":2,"i999":2,"i1000":2,"i1001":2,"i1002":2,"i1003":2,"i1004":2,"i1005":2,"i1006":2,"i1007":2,"i1008":2,"i1009":2,"i1010":2,"i1011":2,"i1012":2,"i1013":2,"i1014":2,"i1015":1,"i1016":2,"i1017":2,"i1018":2,"i1019":2,"i1020":2,"i1021":2,"i1022":2,"i1023":2,"i1024":2,"i1025":2,"i1026":2,"i1027":2,"i1028":1,"i1029":2,"i1030":2,"i1031":2,"i1032":2,"i1033":2,"i1034":2,"i1035":2,"i1036":4,"i1037":2,"i1038":2,"i1039":2,"i1040":2,"i1041":2,"i1042":2,"i1043":2,"i1044":2,"i1045":4,"i1046":2,"i1047":2,"i1048":2,"i1049":4,"i1050":4,"i1051":2,"i1052":2,"i1053":2,"i1054":2,"i1055":2,"i1056":2,"i1057":2,"i1058":2,"i1059":2,"i1060":2,"i1061":2,"i1062":2,"i1063":4,"i1064":2,"i1065":2,"i1066":2,"i1067":2,"i1068":2,"i1069":2,"i1070":2,"i1071":2,"i1072":4,"i1073":2,"i1074":2,"i1075":2,"i1076":2,"i1077":2,"i1078":2,"i1079":2,"i1080":2,"i1081":1,"i1082":2,"i1083":2,"i1084":1,"i1085":2,"i1086":2,"i1087":2,"i1088":2,"i1089":2,"i1090":2,"i1091":2,"i1092":2,"i1093":2,"i1094":2,"i1095":2,"i1096":2,"i1097":2,"i1098":2,"i1099":2,"i1100":2,"i1101":2,"i1102":2,"i1103":2,"i1104":2,"i1105":2,"i1106":2,"i1107":1,"i1108":1,"i1109":2,"i1110":2,"i1111":2,"i1112":2,"i1113":2,"i1114":2,"i1115":2,"i1116":2,"i1117":2,"i1118":2,"i1119":2,"i1120":2,"i1121":2,"i1122":1,"i1123":2,"i1124":4,"i1125":32,"i1126":2,"i1127":2,"i1128":2,"i1129":2,"i1130":2,"i1131":2,"i1132":2,"i1133":2,"i1134":2,"i1135":2,"i1136":2,"i1137":2,"i1138":2,"i1139":2,"i1140":2,"i1141":2,"i1142":2,"i1143":2,"i1144":1,"i1145":2,"i1146":2,"i1147":2,"i1148":2,"i1149":2,"i1150":2,"i1151":2,"i1152":2,"i1153":2,"i1154":2,"i1155":2,"i1156":2,"i1157":2,"i1158":2,"i1159":2,"i1160":2,"i1161":2,"i1162":2,"i1163":2,"i1164":2,"i1165":2,"i1166":2,"i1167":2,"i1168":2,"i1169":2,"i1170":2,"i1171":1,"i1172":2,"i1173":1,"i1174":2,"i1175":2,"i1176":2,"i1177":2,"i1178":2,"i1179":2,"i1180":2,"i1181":2,"i1182":2,"i1183":2,"i1184":2,"i1185":2,"i1186":2,"i1187":2,"i1188":2,"i1189":32,"i1190":1,"i1191":2,"i1192":2,"i1193":1,"i1194":2,"i1195":1,"i1196":2,"i1197":2,"i1198":2,"i1199":8,"i1200":2,"i1201":2,"i1202":2,"i1203":2,"i1204":1,"i1205":2,"i1206":1,"i1207":8,"i1208":4,"i1209":2,"i1210":4,"i1211":2,"i1212":2,"i1213":2,"i1214":2,"i1215":2,"i1216":2,"i1217":2,"i1218":2,"i1219":2,"i1220":2,"i1221":2,"i1222":2,"i1223":2,"i1224":2,"i1225":2,"i1226":2,"i1227":2,"i1228":2,"i1229":2,"i1230":2,"i1231":2,"i1232":2,"i1233":1,"i1234":2,"i1235":2,"i1236":2,"i1237":2,"i1238":2,"i1239":2,"i1240":2,"i1241":2,"i1242":2,"i1243":1,"i1244":4,"i1245":2,"i1246":1,"i1247":2,"i1248":2,"i1249":2,"i1250":2,"i1251":2,"i1252":2,"i1253":2,"i1254":2,"i1255":2,"i1256":2,"i1257":2,"i1258":1,"i1259":2,"i1260":1,"i1261":2,"i1262":1,"i1263":2,"i1264":2,"i1265":2,"i1266":2,"i1267":2,"i1268":4,"i1269":1,"i1270":1,"i1271":2,"i1272":2,"i1273":2,"i1274":2,"i1275":2,"i1276":2,"i1277":4,"i1278":2,"i1279":1,"i1280":2,"i1281":2,"i1282":2,"i1283":2,"i1284":2,"i1285":2,"i1286":2,"i1287":2,"i1288":2,"i1289":2,"i1290":2,"i1291":2,"i1292":2,"i1293":2,"i1294":2,"i1295":2,"i1296":2,"i1297":2,"i1298":2,"i1299":2,"i1300":2,"i1301":2,"i1302":2,"i1303":2,"i1304":2,"i1305":2,"i1306":2,"i1307":2,"i1308":2,"i1309":2,"i1310":2,"i1311":2,"i1312":2,"i1313":2,"i1314":2,"i1315":2,"i1316":2,"i1317":2,"i1318":2,"i1319":2,"i1320":2,"i1321":2,"i1322":2,"i1323":4,"i1324":2,"i1325":2,"i1326":2,"i1327":2,"i1328":2,"i1329":2,"i1330":2,"i1331":2,"i1332":2,"i1333":2,"i1334":2,"i1335":2,"i1336":2,"i1337":2,"i1338":2,"i1339":2,"i1340":2,"i1341":2,"i1342":1,"i1343":2,"i1344":2,"i1345":2,"i1346":2,"i1347":2,"i1348":1,"i1349":1,"i1350":2,"i1351":2,"i1352":32,"i1353":2,"i1354":2,"i1355":1,"i1356":1,"i1357":1,"i1358":1,"i1359":1,"i1360":1,"i1361":4,"i1362":2,"i1363":4,"i1364":4,"i1365":2,"i1366":2,"i1367":2,"i1368":2,"i1369":2,"i1370":2,"i1371":2,"i1372":4,"i1373":4,"i1374":2,"i1375":2,"i1376":2,"i1377":2,"i1378":2,"i1379":2,"i1380":2,"i1381":1,"i1382":1,"i1383":2,"i1384":2,"i1385":32,"i1386":2,"i1387":2,"i1388":2,"i1389":2,"i1390":2,"i1391":2,"i1392":2,"i1393":2,"i1394":2,"i1395":32,"i1396":2,"i1397":2,"i1398":2,"i1399":2,"i1400":2,"i1401":2,"i1402":1,"i1403":2,"i1404":2,"i1405":1,"i1406":1,"i1407":2,"i1408":4,"i1409":2,"i1410":2,"i1411":2,"i1412":2,"i1413":2,"i1414":2,"i1415":1,"i1416":2,"i1417":4,"i1418":2,"i1419":2,"i1420":4,"i1421":2,"i1422":2,"i1423":2,"i1424":1,"i1425":2,"i1426":2,"i1427":2,"i1428":4,"i1429":1,"i1430":2,"i1431":2,"i1432":2,"i1433":2,"i1434":2,"i1435":2,"i1436":2,"i1437":2,"i1438":2,"i1439":4,"i1440":2,"i1441":2,"i1442":2,"i1443":2,"i1444":2,"i1445":2,"i1446":2,"i1447":2,"i1448":2,"i1449":2,"i1450":2,"i1451":2,"i1452":2,"i1453":2,"i1454":2,"i1455":2,"i1456":2,"i1457":2,"i1458":2,"i1459":2,"i1460":2,"i1461":2,"i1462":2,"i1463":2,"i1464":2,"i1465":1,"i1466":2,"i1467":4,"i1468":2,"i1469":2,"i1470":2,"i1471":2,"i1472":2,"i1473":2,"i1474":1,"i1475":2,"i1476":2,"i1477":4,"i1478":2,"i1479":1,"i1480":1,"i1481":2,"i1482":2,"i1483":2,"i1484":1,"i1485":8,"i1486":2,"i1487":2,"i1488":2,"i1489":8,"i1490":2,"i1491":2,"i1492":1,"i1493":2,"i1494":2,"i1495":2,"i1496":2,"i1497":2,"i1498":2,"i1499":2,"i1500":1,"i1501":2,"i1502":2,"i1503":1,"i1504":2,"i1505":1,"i1506":4,"i1507":4,"i1508":1,"i1509":1,"i1510":2,"i1511":2,"i1512":2,"i1513":2,"i1514":2,"i1515":1,"i1516":2,"i1517":2,"i1518":2,"i1519":2,"i1520":2,"i1521":1,"i1522":2,"i1523":2,"i1524":2,"i1525":2,"i1526":2,"i1527":2,"i1528":2,"i1529":2,"i1530":2,"i1531":2,"i1532":2,"i1533":2,"i1534":1,"i1535":2,"i1536":2,"i1537":2,"i1538":2,"i1539":2,"i1540":2,"i1541":2,"i1542":1,"i1543":2,"i1544":2,"i1545":2,"i1546":2,"i1547":2,"i1548":2,"i1549":2,"i1550":2,"i1551":2,"i1552":2,"i1553":2,"i1554":2,"i1555":2,"i1556":2,"i1557":2,"i1558":2,"i1559":2,"i1560":2,"i1561":2,"i1562":2,"i1563":2,"i1564":2,"i1565":2,"i1566":1,"i1567":2,"i1568":2,"i1569":1,"i1570":1,"i1571":2,"i1572":2,"i1573":1,"i1574":2,"i1575":1,"i1576":2,"i1577":2,"i1578":1,"i1579":2,"i1580":2,"i1581":2,"i1582":2,"i1583":2,"i1584":2,"i1585":2,"i1586":2,"i1587":2,"i1588":2,"i1589":1,"i1590":2,"i1591":2,"i1592":2,"i1593":1,"i1594":4,"i1595":2,"i1596":1,"i1597":1,"i1598":2,"i1599":2,"i1600":2,"i1601":2,"i1602":2,"i1603":2,"i1604":2,"i1605":2,"i1606":2,"i1607":2,"i1608":4,"i1609":2,"i1610":2,"i1611":2,"i1612":2,"i1613":2,"i1614":2,"i1615":2,"i1616":2,"i1617":2,"i1618":2,"i1619":2,"i1620":2,"i1621":2,"i1622":2,"i1623":2,"i1624":2,"i1625":2,"i1626":2,"i1627":2,"i1628":1,"i1629":1,"i1630":2,"i1631":1,"i1632":2,"i1633":1,"i1634":2,"i1635":2,"i1636":2,"i1637":2,"i1638":2,"i1639":1,"i1640":2,"i1641":2,"i1642":2,"i1643":1,"i1644":1,"i1645":2,"i1646":2,"i1647":2,"i1648":2,"i1649":2,"i1650":2,"i1651":8,"i1652":2,"i1653":1,"i1654":4,"i1655":1,"i1656":2,"i1657":1,"i1658":2,"i1659":2,"i1660":2,"i1661":1,"i1662":1,"i1663":2,"i1664":2,"i1665":2,"i1666":2,"i1667":2,"i1668":2,"i1669":1,"i1670":1,"i1671":2,"i1672":2,"i1673":2,"i1674":2,"i1675":2,"i1676":2,"i1677":2,"i1678":2,"i1679":1,"i1680":4,"i1681":2,"i1682":2,"i1683":2,"i1684":2,"i1685":2,"i1686":1,"i1687":2,"i1688":1,"i1689":2,"i1690":1,"i1691":2,"i1692":1,"i1693":2,"i1694":1,"i1695":2,"i1696":1,"i1697":2,"i1698":1,"i1699":2,"i1700":1,"i1701":2,"i1702":1,"i1703":2,"i1704":1,"i1705":2,"i1706":1,"i1707":2,"i1708":1,"i1709":2,"i1710":1,"i1711":2,"i1712":1,"i1713":2,"i1714":1,"i1715":2,"i1716":1,"i1717":2,"i1718":1,"i1719":2,"i1720":2,"i1721":4,"i1722":4,"i1723":2,"i1724":2,"i1725":2,"i1726":1,"i1727":1,"i1728":2,"i1729":2,"i1730":2,"i1731":2,"i1732":2,"i1733":2,"i1734":2,"i1735":2,"i1736":2,"i1737":2,"i1738":2,"i1739":2,"i1740":2,"i1741":2,"i1742":2,"i1743":2,"i1744":2,"i1745":2,"i1746":2,"i1747":2,"i1748":2,"i1749":2,"i1750":2,"i1751":2,"i1752":2,"i1753":2,"i1754":2,"i1755":2,"i1756":1,"i1757":2,"i1758":1,"i1759":1,"i1760":1,"i1761":2,"i1762":2,"i1763":2,"i1764":2,"i1765":1,"i1766":1,"i1767":1,"i1768":2,"i1769":2,"i1770":2,"i1771":1,"i1772":2,"i1773":2,"i1774":2,"i1775":2,"i1776":2,"i1777":2,"i1778":2,"i1779":2,"i1780":2,"i1781":2,"i1782":1,"i1783":1,"i1784":8,"i1785":1,"i1786":2,"i1787":2,"i1788":2,"i1789":2,"i1790":2,"i1791":2,"i1792":4,"i1793":2,"i1794":2,"i1795":2,"i1796":1,"i1797":1,"i1798":1,"i1799":1,"i1800":1,"i1801":2,"i1802":2,"i1803":2,"i1804":2,"i1805":2,"i1806":2,"i1807":2,"i1808":4,"i1809":2,"i1810":4,"i1811":4,"i1812":2,"i1813":2,"i1814":2,"i1815":1,"i1816":2,"i1817":2,"i1818":1,"i1819":2,"i1820":2,"i1821":1,"i1822":2,"i1823":2,"i1824":1,"i1825":2,"i1826":2,"i1827":1,"i1828":2,"i1829":2,"i1830":2,"i1831":2,"i1832":2,"i1833":1,"i1834":2,"i1835":2,"i1836":2,"i1837":2,"i1838":2,"i1839":1,"i1840":2,"i1841":2,"i1842":2,"i1843":2,"i1844":32,"i1845":2,"i1846":4,"i1847":32,"i1848":2,"i1849":2,"i1850":4,"i1851":2,"i1852":2,"i1853":2,"i1854":2,"i1855":2,"i1856":8,"i1857":2,"i1858":2,"i1859":32,"i1860":1,"i1861":32,"i1862":2,"i1863":2,"i1864":4,"i1865":2,"i1866":1,"i1867":2,"i1868":2,"i1869":1,"i1870":2,"i1871":2,"i1872":1,"i1873":2,"i1874":2,"i1875":2,"i1876":2,"i1877":2,"i1878":2,"i1879":2,"i1880":4,"i1881":2,"i1882":2,"i1883":1,"i1884":2,"i1885":2,"i1886":2,"i1887":2,"i1888":2,"i1889":2,"i1890":2,"i1891":2,"i1892":2,"i1893":2,"i1894":2,"i1895":2,"i1896":2,"i1897":2,"i1898":2,"i1899":2,"i1900":2,"i1901":2,"i1902":2,"i1903":2,"i1904":2,"i1905":2,"i1906":2,"i1907":2,"i1908":2,"i1909":2,"i1910":2,"i1911":2,"i1912":2,"i1913":2,"i1914":2,"i1915":2,"i1916":2,"i1917":2,"i1918":2,"i1919":2,"i1920":2,"i1921":2,"i1922":2,"i1923":2,"i1924":2,"i1925":4,"i1926":2,"i1927":2,"i1928":2,"i1929":2,"i1930":2,"i1931":2,"i1932":2,"i1933":2,"i1934":2,"i1935":2,"i1936":2,"i1937":2,"i1938":2,"i1939":4,"i1940":2,"i1941":2,"i1942":2,"i1943":2,"i1944":2,"i1945":2,"i1946":2,"i1947":8,"i1948":1,"i1949":2,"i1950":2,"i1951":2,"i1952":2,"i1953":2,"i1954":2,"i1955":2,"i1956":2,"i1957":2,"i1958":2,"i1959":2,"i1960":2,"i1961":2,"i1962":1,"i1963":4,"i1964":2,"i1965":2,"i1966":1,"i1967":1,"i1968":2,"i1969":2,"i1970":2,"i1971":2,"i1972":2,"i1973":2,"i1974":8,"i1975":1,"i1976":2,"i1977":1,"i1978":2,"i1979":2,"i1980":4,"i1981":2,"i1982":2,"i1983":8,"i1984":2,"i1985":2,"i1986":2,"i1987":2,"i1988":8,"i1989":2,"i1990":2,"i1991":2,"i1992":2,"i1993":8,"i1994":2,"i1995":2,"i1996":2,"i1997":1,"i1998":2,"i1999":2,"i2000":2,"i2001":2,"i2002":2,"i2003":2,"i2004":2,"i2005":2,"i2006":2,"i2007":2,"i2008":2,"i2009":1,"i2010":2,"i2011":2,"i2012":1,"i2013":2,"i2014":2,"i2015":2,"i2016":2,"i2017":1,"i2018":1,"i2019":2,"i2020":1,"i2021":1,"i2022":4,"i2023":1,"i2024":2,"i2025":1,"i2026":2,"i2027":2,"i2028":2,"i2029":1,"i2030":2,"i2031":2,"i2032":2,"i2033":2,"i2034":1,"i2035":2,"i2036":2,"i2037":2,"i2038":2,"i2039":2,"i2040":2,"i2041":2,"i2042":2,"i2043":2,"i2044":1,"i2045":32,"i2046":2,"i2047":2,"i2048":2,"i2049":2,"i2050":2,"i2051":2,"i2052":2,"i2053":2,"i2054":2,"i2055":2,"i2056":1,"i2057":2,"i2058":2,"i2059":2,"i2060":2,"i2061":2,"i2062":2,"i2063":2,"i2064":2,"i2065":2,"i2066":2,"i2067":2,"i2068":2,"i2069":2,"i2070":1,"i2071":1,"i2072":2,"i2073":2,"i2074":2,"i2075":2,"i2076":2,"i2077":2,"i2078":2,"i2079":4,"i2080":1,"i2081":2,"i2082":2,"i2083":2,"i2084":2,"i2085":2,"i2086":2,"i2087":2,"i2088":2,"i2089":2,"i2090":2,"i2091":2,"i2092":2,"i2093":2,"i2094":2,"i2095":1,"i2096":2,"i2097":2,"i2098":2,"i2099":2,"i2100":2,"i2101":2,"i2102":2,"i2103":2,"i2104":2,"i2105":2,"i2106":2,"i2107":2,"i2108":2,"i2109":2,"i2110":4,"i2111":2,"i2112":2,"i2113":2,"i2114":2,"i2115":4,"i2116":1,"i2117":2,"i2118":2,"i2119":2,"i2120":4,"i2121":2,"i2122":2,"i2123":2,"i2124":2,"i2125":2,"i2126":2,"i2127":2,"i2128":2,"i2129":2,"i2130":2,"i2131":2,"i2132":2,"i2133":2,"i2134":2,"i2135":2,"i2136":2,"i2137":4,"i2138":2,"i2139":2,"i2140":2,"i2141":2,"i2142":1,"i2143":2,"i2144":2,"i2145":2,"i2146":4,"i2147":2,"i2148":2,"i2149":2,"i2150":2,"i2151":2,"i2152":2,"i2153":2,"i2154":2,"i2155":2,"i2156":2,"i2157":2,"i2158":2,"i2159":2,"i2160":2,"i2161":4,"i2162":2,"i2163":2,"i2164":2,"i2165":2,"i2166":1,"i2167":4,"i2168":2,"i2169":2,"i2170":2,"i2171":4,"i2172":2,"i2173":2,"i2174":2,"i2175":2,"i2176":2,"i2177":2,"i2178":2,"i2179":2,"i2180":2,"i2181":2,"i2182":2,"i2183":2,"i2184":2,"i2185":2,"i2186":2,"i2187":2,"i2188":2,"i2189":2,"i2190":2,"i2191":2,"i2192":2,"i2193":4,"i2194":2,"i2195":2,"i2196":2,"i2197":2,"i2198":2,"i2199":2,"i2200":4,"i2201":1,"i2202":2,"i2203":4,"i2204":2,"i2205":1,"i2206":2,"i2207":2,"i2208":2,"i2209":2,"i2210":2,"i2211":2,"i2212":2,"i2213":2,"i2214":2,"i2215":2,"i2216":2,"i2217":1,"i2218":2,"i2219":4,"i2220":4,"i2221":4,"i2222":2,"i2223":2,"i2224":2,"i2225":2,"i2226":2,"i2227":2,"i2228":2,"i2229":2,"i2230":4,"i2231":4,"i2232":2,"i2233":4,"i2234":2,"i2235":2,"i2236":2,"i2237":2,"i2238":2,"i2239":2,"i2240":2,"i2241":2,"i2242":2,"i2243":4,"i2244":2,"i2245":2,"i2246":2,"i2247":2,"i2248":2,"i2249":4,"i2250":2,"i2251":2,"i2252":2,"i2253":2,"i2254":2,"i2255":4,"i2256":2,"i2257":2,"i2258":1,"i2259":2,"i2260":2,"i2261":2,"i2262":2,"i2263":2,"i2264":2,"i2265":4,"i2266":2,"i2267":4,"i2268":4,"i2269":4,"i2270":2,"i2271":2,"i2272":2,"i2273":2,"i2274":2,"i2275":2,"i2276":4,"i2277":2,"i2278":4,"i2279":2,"i2280":2,"i2281":2,"i2282":4,"i2283":2,"i2284":2,"i2285":2,"i2286":4,"i2287":2,"i2288":2,"i2289":2,"i2290":4,"i2291":2,"i2292":2,"i2293":2,"i2294":2,"i2295":1,"i2296":2,"i2297":2,"i2298":2,"i2299":2,"i2300":4,"i2301":4,"i2302":2,"i2303":2,"i2304":2,"i2305":4,"i2306":1,"i2307":2,"i2308":4,"i2309":2,"i2310":4,"i2311":2,"i2312":2,"i2313":2,"i2314":2,"i2315":2,"i2316":1,"i2317":2,"i2318":2,"i2319":2,"i2320":2,"i2321":2,"i2322":2,"i2323":1,"i2324":2,"i2325":2,"i2326":2,"i2327":2,"i2328":4,"i2329":2,"i2330":2,"i2331":1,"i2332":2,"i2333":2,"i2334":1,"i2335":4,"i2336":1,"i2337":2,"i2338":2,"i2339":1,"i2340":2,"i2341":2,"i2342":2,"i2343":2,"i2344":2,"i2345":8,"i2346":2,"i2347":1,"i2348":2,"i2349":2,"i2350":1,"i2351":2,"i2352":2,"i2353":2,"i2354":2,"i2355":2,"i2356":2,"i2357":2,"i2358":2,"i2359":2,"i2360":2,"i2361":2,"i2362":2,"i2363":2,"i2364":2,"i2365":2,"i2366":2,"i2367":2,"i2368":2,"i2369":2,"i2370":2,"i2371":2,"i2372":2,"i2373":2,"i2374":1,"i2375":2,"i2376":1,"i2377":1,"i2378":1,"i2379":2,"i2380":2,"i2381":2,"i2382":2,"i2383":2,"i2384":2,"i2385":2,"i2386":2,"i2387":4,"i2388":2,"i2389":2,"i2390":2,"i2391":2,"i2392":2,"i2393":4,"i2394":2,"i2395":2,"i2396":2,"i2397":2,"i2398":2,"i2399":2,"i2400":4,"i2401":1,"i2402":2,"i2403":2,"i2404":2,"i2405":2,"i2406":1,"i2407":1,"i2408":2,"i2409":2,"i2410":1,"i2411":2,"i2412":2,"i2413":2,"i2414":4,"i2415":1,"i2416":2,"i2417":2,"i2418":2,"i2419":2,"i2420":2,"i2421":2,"i2422":4,"i2423":2,"i2424":2,"i2425":8,"i2426":2,"i2427":2,"i2428":2,"i2429":2,"i2430":2,"i2431":1,"i2432":2,"i2433":2,"i2434":2,"i2435":2,"i2436":2,"i2437":2,"i2438":2,"i2439":2,"i2440":2,"i2441":4,"i2442":2,"i2443":2,"i2444":2,"i2445":2,"i2446":2,"i2447":4,"i2448":4,"i2449":4,"i2450":1,"i2451":2,"i2452":1,"i2453":2,"i2454":2,"i2455":2,"i2456":2,"i2457":2,"i2458":2,"i2459":2,"i2460":2,"i2461":2,"i2462":2,"i2463":8,"i2464":2,"i2465":2,"i2466":2,"i2467":2,"i2468":1,"i2469":1,"i2470":8,"i2471":2,"i2472":2,"i2473":2,"i2474":2,"i2475":2,"i2476":2,"i2477":2,"i2478":2,"i2479":2,"i2480":2,"i2481":2,"i2482":2,"i2483":4,"i2484":2,"i2485":1,"i2486":1,"i2487":2,"i2488":2,"i2489":2,"i2490":1,"i2491":2,"i2492":2,"i2493":1,"i2494":2,"i2495":2,"i2496":2,"i2497":1,"i2498":1,"i2499":2,"i2500":1,"i2501":2,"i2502":4,"i2503":2,"i2504":2,"i2505":2,"i2506":2,"i2507":2,"i2508":2,"i2509":1,"i2510":1,"i2511":1,"i2512":4,"i2513":4,"i2514":2,"i2515":2,"i2516":2,"i2517":2,"i2518":2,"i2519":2,"i2520":2,"i2521":2,"i2522":2,"i2523":2,"i2524":2,"i2525":2,"i2526":2,"i2527":2,"i2528":2,"i2529":2,"i2530":2,"i2531":2,"i2532":2,"i2533":1,"i2534":2,"i2535":2,"i2536":2,"i2537":2,"i2538":1,"i2539":2,"i2540":2,"i2541":2,"i2542":2,"i2543":2,"i2544":2,"i2545":2,"i2546":2,"i2547":2,"i2548":32,"i2549":2,"i2550":2,"i2551":2,"i2552":2,"i2553":2,"i2554":2,"i2555":2,"i2556":2,"i2557":4,"i2558":4,"i2559":1,"i2560":2,"i2561":2,"i2562":2,"i2563":2,"i2564":2,"i2565":2,"i2566":2,"i2567":2,"i2568":2,"i2569":2,"i2570":2,"i2571":2,"i2572":2,"i2573":2,"i2574":8,"i2575":2,"i2576":2,"i2577":2,"i2578":2,"i2579":2,"i2580":2,"i2581":2,"i2582":2,"i2583":2,"i2584":2,"i2585":2,"i2586":2,"i2587":2,"i2588":2,"i2589":2,"i2590":1,"i2591":2,"i2592":4,"i2593":2,"i2594":1,"i2595":1,"i2596":2,"i2597":2,"i2598":2,"i2599":1,"i2600":2,"i2601":2,"i2602":4,"i2603":2,"i2604":2,"i2605":2,"i2606":2,"i2607":2,"i2608":2,"i2609":2,"i2610":1,"i2611":2,"i2612":2,"i2613":2,"i2614":2,"i2615":2,"i2616":2,"i2617":2,"i2618":2,"i2619":2,"i2620":2,"i2621":2,"i2622":2,"i2623":2,"i2624":2,"i2625":2,"i2626":2,"i2627":2,"i2628":2,"i2629":2,"i2630":2,"i2631":2,"i2632":2,"i2633":1,"i2634":1,"i2635":2,"i2636":2,"i2637":2,"i2638":2,"i2639":1,"i2640":2,"i2641":1,"i2642":2,"i2643":2,"i2644":1,"i2645":2,"i2646":2,"i2647":2,"i2648":2,"i2649":1,"i2650":1,"i2651":2,"i2652":2,"i2653":2,"i2654":1,"i2655":2,"i2656":2,"i2657":2,"i2658":2,"i2659":2,"i2660":2,"i2661":2,"i2662":2,"i2663":2,"i2664":2,"i2665":2,"i2666":2,"i2667":2,"i2668":8,"i2669":2,"i2670":2,"i2671":2,"i2672":2,"i2673":8,"i2674":2,"i2675":2,"i2676":2,"i2677":2,"i2678":2,"i2679":2,"i2680":2,"i2681":2,"i2682":2,"i2683":2,"i2684":1,"i2685":2,"i2686":2,"i2687":2,"i2688":2,"i2689":2,"i2690":2,"i2691":2,"i2692":2,"i2693":2,"i2694":2,"i2695":2,"i2696":4,"i2697":1,"i2698":2,"i2699":2,"i2700":2,"i2701":2,"i2702":1,"i2703":2,"i2704":1,"i2705":1,"i2706":1,"i2707":1,"i2708":4,"i2709":1,"i2710":2,"i2711":1,"i2712":2,"i2713":2,"i2714":2,"i2715":2,"i2716":2,"i2717":2,"i2718":2,"i2719":2,"i2720":1,"i2721":2,"i2722":2,"i2723":2};
 var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"],8:["t4","Exception Summary"],32:["t6","Annotation Types Summary"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -354,39 +354,45 @@
 </th>
 </tr>
 <tr id="i37" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.html" title="class in org.apache.calcite.sql.validate.implicit">AbstractTypeCoercion</a></td>
+<th class="colLast" scope="row">
+<div class="block">Base class for all the type coercion rules.</div>
+</th>
+</tr>
+<tr id="i38" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/AccessSqlDialect.html" title="class in org.apache.calcite.sql.dialect">AccessSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Access database.</div>
 </th>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggAddContext.html" title="interface in org.apache.calcite.adapter.enumerable">AggAddContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information for a call to
  <a href="org/apache/calcite/adapter/enumerable/AggImplementor.html#implementAdd(org.apache.calcite.adapter.enumerable.AggContext,org.apache.calcite.adapter.enumerable.AggAddContext)"><code>AggImplementor.implementAdd(AggContext, AggAddContext)</code></a>.</div>
 </th>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/impl/AggAddContextImpl.html" title="class in org.apache.calcite.adapter.enumerable.impl">AggAddContextImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
  <a href="org/apache/calcite/adapter/enumerable/AggAddContext.html" title="interface in org.apache.calcite.adapter.enumerable"><code>AggAddContext</code></a>.</div>
 </th>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AggChecker.html" title="class in org.apache.calcite.sql.validate">AggChecker</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor which throws an exception if any component of the expression is not a
  group expression.</div>
 </th>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggContext.html" title="interface in org.apache.calcite.adapter.enumerable">AggContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information on the aggregate calculation context.</div>
 </th>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AggFinder.html" title="class in org.apache.calcite.sql.validate">AggFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor that looks for an aggregate function inside a tree of
@@ -394,33 +400,33 @@
  one.</div>
 </th>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AggFinder.AggIterable.html" title="class in org.apache.calcite.sql.validate">AggFinder.AggIterable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Iterates over all aggregates.</div>
 </th>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggImplementor.html" title="interface in org.apache.calcite.adapter.enumerable">AggImplementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implements an aggregate function by generating expressions to
  initialize, add to, and get a result from, an accumulator.</div>
 </th>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggImpState.html" title="class in org.apache.calcite.adapter.enumerable">AggImpState</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents internal state when implementing aggregate functions.</div>
 </th>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational operator that eliminates
  duplicates and computes totals.</div>
 </th>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Aggregate.AggCallBinding.html" title="class in org.apache.calcite.rel.core">Aggregate.AggCallBinding</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of the <a href="org/apache/calcite/sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql"><code>SqlOperatorBinding</code></a> interface for an
@@ -428,20 +434,27 @@
  context of a <a href="org/apache/calcite/rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Aggregate.Group.html" title="enum in org.apache.calcite.rel.core">Aggregate.Group</a></td>
 <th class="colLast" scope="row">
 <div class="block">What kind of roll-up is it?</div>
 </th>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></td>
 <th class="colLast" scope="row">
 <div class="block">Call to an aggregate function within an
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateCaseToFilterRule.html" title="class in org.apache.calcite.rel.rules">AggregateCaseToFilterRule</a></td>
+<th class="colLast" scope="row">
+<div class="block">Rule that converts CASE-style filtered aggregates into true filtered
+ aggregates.</div>
+</th>
+</tr>
+<tr id="i52" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that expands distinct aggregates
@@ -449,7 +462,7 @@
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateExtractProjectRule.html" title="class in org.apache.calcite.rel.rules">AggregateExtractProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to extract a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
@@ -457,7 +470,7 @@
  and push it down towards the input.</div>
 </th>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateFilterTransposeRule.html" title="class in org.apache.calcite.rel.rules">AggregateFilterTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
@@ -465,19 +478,19 @@
  pushing the aggregate below the filter.</div>
 </th>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/AggregateFunction.html" title="interface in org.apache.calcite.schema">AggregateFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function that combines several values into a scalar result.</div>
 </th>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/impl/AggregateFunctionImpl.html" title="class in org.apache.calcite.schema.impl">AggregateFunctionImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/schema/AggregateFunction.html" title="interface in org.apache.calcite.schema"><code>AggregateFunction</code></a> via user-defined class.</div>
 </th>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateJoinJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">AggregateJoinJoinRemoveRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
@@ -485,7 +498,7 @@
  of the join provided that the left input is also a left join if possible.</div>
 </th>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">AggregateJoinRemoveRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
@@ -494,7 +507,7 @@
  aggregate functions or all the aggregate calls have distinct.</div>
 </th>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateJoinTransposeRule.html" title="class in org.apache.calcite.rel.rules">AggregateJoinTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes an
@@ -502,19 +515,19 @@
  past a <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
 </th>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateJoinTransposeRule.Side.html" title="class in org.apache.calcite.rel.rules">AggregateJoinTransposeRule.Side</a></td>
 <th class="colLast" scope="row">
 <div class="block">Work space for an input to a join.</div>
 </th>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="interface in org.apache.calcite.adapter.enumerable">AggregateLambdaFactory</a>&lt;<a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="type parameter in AggregateLambdaFactory">TSource</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="type parameter in AggregateLambdaFactory">TOrigAccumulate</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="type parameter in AggregateLambdaFactory">TAccumulate</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="type parameter in AggregateLambdaFactory">TResult</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="type parameter in AggregateLambdaFactory">TKey</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Generates lambda functions used in <a href="org/apache/calcite/adapter/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableAggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateMergeRule.html" title="class in org.apache.calcite.rel.rules">AggregateMergeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> on a <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
@@ -523,153 +536,153 @@
  convert into a single aggregate.</div>
 </th>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.html" title="class in org.apache.calcite.interpreter">AggregateNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interpreter node that implements an
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.Accumulator.html" title="interface in org.apache.calcite.interpreter">AggregateNode.Accumulator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Defines function implementation for
  things like <code>count()</code> and <code>sum()</code>.</div>
 </th>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.AccumulatorFactory.html" title="interface in org.apache.calcite.interpreter">AggregateNode.AccumulatorFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Creates an <a href="org/apache/calcite/interpreter/AggregateNode.Accumulator.html" title="interface in org.apache.calcite.interpreter"><code>AggregateNode.Accumulator</code></a>.</div>
 </th>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.AccumulatorList.html" title="class in org.apache.calcite.interpreter">AggregateNode.AccumulatorList</a></td>
 <th class="colLast" scope="row">
 <div class="block">A list of accumulators used during grouping.</div>
 </th>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.CountAccumulator.html" title="class in org.apache.calcite.interpreter">AggregateNode.CountAccumulator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Accumulator for calls to the COUNT function.</div>
 </th>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.DoubleSum.html" title="class in org.apache.calcite.interpreter">AggregateNode.DoubleSum</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>SUM</code> over DOUBLE values as a user-defined
  aggregate.</div>
 </th>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.FilterAccumulator.html" title="class in org.apache.calcite.interpreter">AggregateNode.FilterAccumulator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Accumulator that applies a filter to another accumulator.</div>
 </th>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.IntSum.html" title="class in org.apache.calcite.interpreter">AggregateNode.IntSum</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>SUM</code> over INTEGER values as a user-defined
  aggregate.</div>
 </th>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.LongSum.html" title="class in org.apache.calcite.interpreter">AggregateNode.LongSum</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>SUM</code> over BIGINT values as a user-defined
  aggregate.</div>
 </th>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MaxDouble.html" title="class in org.apache.calcite.interpreter">AggregateNode.MaxDouble</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MAX</code> function to calculate the minimum of
  <code>double</code> and <code>real</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MaxFloat.html" title="class in org.apache.calcite.interpreter">AggregateNode.MaxFloat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MAX</code> function to calculate the minimum of
  <code>float</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MaxInt.html" title="class in org.apache.calcite.interpreter">AggregateNode.MaxInt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MAX</code> function to calculate the minimum of
  <code>integer</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MaxLong.html" title="class in org.apache.calcite.interpreter">AggregateNode.MaxLong</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MAX</code> function to calculate the minimum of
  <code>long</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MinDouble.html" title="class in org.apache.calcite.interpreter">AggregateNode.MinDouble</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MIN</code> function to calculate the minimum of
  <code>double</code> and <code>real</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MinFloat.html" title="class in org.apache.calcite.interpreter">AggregateNode.MinFloat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MIN</code> function to calculate the minimum of
  <code>float</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MinInt.html" title="class in org.apache.calcite.interpreter">AggregateNode.MinInt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MIN</code> function to calculate the minimum of
  <code>integer</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.MinLong.html" title="class in org.apache.calcite.interpreter">AggregateNode.MinLong</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>MIN</code> function to calculate the minimum of
  <code>long</code> values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.NumericComparison.html" title="class in org.apache.calcite.interpreter">AggregateNode.NumericComparison</a>&lt;<a href="org/apache/calcite/interpreter/AggregateNode.NumericComparison.html" title="type parameter in AggregateNode.NumericComparison">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Common implementation of comparison aggregate methods over numeric
  values as a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.ScalarAccumulator.html" title="class in org.apache.calcite.interpreter">AggregateNode.ScalarAccumulator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Accumulator powered by <a href="org/apache/calcite/interpreter/Scalar.html" title="interface in org.apache.calcite.interpreter"><code>Scalar</code></a> code fragments.</div>
 </th>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.ScalarAccumulatorDef.html" title="class in org.apache.calcite.interpreter">AggregateNode.ScalarAccumulatorDef</a></td>
 <th class="colLast" scope="row">
 <div class="block">Accumulator powered by <a href="org/apache/calcite/interpreter/Scalar.html" title="interface in org.apache.calcite.interpreter"><code>Scalar</code></a> code fragments.</div>
 </th>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.UdaAccumulator.html" title="class in org.apache.calcite.interpreter">AggregateNode.UdaAccumulator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Accumulator based upon a user-defined aggregate.</div>
 </th>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/AggregateNode.UdaAccumulatorFactory.html" title="class in org.apache.calcite.interpreter">AggregateNode.UdaAccumulatorFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Accumulator factory based on a user-defined aggregate function.</div>
 </th>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateProjectMergeRule.html" title="class in org.apache.calcite.rel.rules">AggregateProjectMergeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that recognizes a <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
@@ -677,21 +690,21 @@
  aggregate through the project or removes the project.</div>
 </th>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateProjectPullUpConstantsRule.html" title="class in org.apache.calcite.rel.rules">AggregateProjectPullUpConstantsRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that removes constant keys from an
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateReduceFunctionsRule.html" title="class in org.apache.calcite.rel.rules">AggregateReduceFunctionsRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that reduces aggregate functions in
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>s to simpler forms.</div>
 </th>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateRemoveRule.html" title="class in org.apache.calcite.rel.rules">AggregateRemoveRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that removes
@@ -702,14 +715,14 @@
  and the underlying relational expression is already distinct.</div>
 </th>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateStarTableRule.html" title="class in org.apache.calcite.rel.rules">AggregateStarTableRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> on
  top of a <a href="org/apache/calcite/schema/impl/StarTable.StarTableScan.html" title="class in org.apache.calcite.schema.impl"><code>StarTable.StarTableScan</code></a>.</div>
 </th>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateUnionAggregateRule.html" title="class in org.apache.calcite.rel.rules">AggregateUnionAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches
@@ -719,7 +732,7 @@
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> removes duplicates.</div>
 </th>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateUnionTransposeRule.html" title="class in org.apache.calcite.rel.rules">AggregateUnionTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes an
@@ -727,92 +740,92 @@
  past a non-distinct <a href="org/apache/calcite/rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>.</div>
 </th>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/AggregateValuesRule.html" title="class in org.apache.calcite.rel.rules">AggregateValuesRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that applies <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> to a <a href="org/apache/calcite/rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> (currently just an
  empty <code>Value</code>s).</div>
 </th>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AggregatingScope.html" title="interface in org.apache.calcite.sql.validate">AggregatingScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">An extension to the <a href="org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorScope</code></a> interface which indicates that
  the scope is aggregating.</div>
 </th>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AggregatingSelectScope.html" title="class in org.apache.calcite.sql.validate">AggregatingSelectScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">Scope for resolving identifiers within a SELECT statement that has a
  GROUP BY clause.</div>
 </th>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggResetContext.html" title="interface in org.apache.calcite.adapter.enumerable">AggResetContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information for a call to
  <a href="org/apache/calcite/adapter/enumerable/AggImplementor.html#implementReset(org.apache.calcite.adapter.enumerable.AggContext,org.apache.calcite.adapter.enumerable.AggResetContext)"><code>AggImplementor.implementReset(AggContext, AggResetContext)</code></a>.</div>
 </th>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/impl/AggResetContextImpl.html" title="class in org.apache.calcite.adapter.enumerable.impl">AggResetContextImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
  <a href="org/apache/calcite/adapter/enumerable/AggResetContext.html" title="interface in org.apache.calcite.adapter.enumerable"><code>AggResetContext</code></a></div>
 </th>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/AggResultContext.html" title="interface in org.apache.calcite.adapter.enumerable">AggResultContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information for a call to
  <a href="org/apache/calcite/adapter/enumerable/AggImplementor.html#implementResult(org.apache.calcite.adapter.enumerable.AggContext,org.apache.calcite.adapter.enumerable.AggResultContext)"><code>AggImplementor.implementResult(AggContext, AggResultContext)</code></a></div>
 </th>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/impl/AggResultContextImpl.html" title="class in org.apache.calcite.adapter.enumerable.impl">AggResultContextImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
  <a href="org/apache/calcite/adapter/enumerable/AggResultContext.html" title="interface in org.apache.calcite.adapter.enumerable"><code>AggResultContext</code></a></div>
 </th>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AggVisitor.html" title="class in org.apache.calcite.sql.validate">AggVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor that can find aggregate and windowed aggregate functions.</div>
 </th>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/AliasNamespace.html" title="class in org.apache.calcite.sql.validate">AliasNamespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Namespace for an <code>AS t(c1, c2, ...)</code> clause.</div>
 </th>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/AnsiSqlDialect.html" title="class in org.apache.calcite.sql.dialect">AnsiSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for an unknown ANSI compatible database.</div>
 </th>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/java/Array.html" title="annotation in org.apache.calcite.adapter.java">Array</a></td>
 <th class="colLast" scope="row">
 <div class="block">Annotation that indicates that a field is an array type.</div>
 </th>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/ArrayBindable.html" title="interface in org.apache.calcite.runtime">ArrayBindable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Extension to <a href="org/apache/calcite/runtime/Bindable.html" title="interface in org.apache.calcite.runtime"><code>Bindable</code></a> that returns rows that are arrays of objects.</div>
 </th>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/ArrayComparator.html" title="class in org.apache.calcite.runtime">ArrayComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compares arrays.</div>
 </th>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/ArrayEnumeratorCursor.html" title="class in org.apache.calcite.runtime">ArrayEnumeratorCursor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>Cursor</code> on top of an
@@ -820,115 +833,115 @@
  returns an array of <code>Object</code> for each row.</div>
 </th>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ArrayLengthRecordField.html" title="class in org.apache.calcite.linq4j.tree">ArrayLengthRecordField</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a length field of a RecordType</div>
 </th>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/ArraySqlType.html" title="class in org.apache.calcite.sql.type">ArraySqlType</a></td>
 <th class="colLast" scope="row">
 <div class="block">SQL array type.</div>
 </th>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.html" title="class in org.apache.calcite.adapter.clone">ArrayTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of table that reads rows from column stores, one per column.</div>
 </th>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.BitSlicedPrimitiveArray.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.BitSlicedPrimitiveArray</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores numeric values in a bit-sliced
  array.</div>
 </th>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.ByteStringDictionary.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.ByteStringDictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores byte-string column values.</div>
 </th>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.Column.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.Column</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column definition and value set.</div>
 </th>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.Constant.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.Constant</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation of a column that has the same value for every row.</div>
 </th>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.Content.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.Content</a></td>
 <th class="colLast" scope="row">
 <div class="block">Contents of a table.</div>
 </th>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.Content.ArrayEnumerator.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.Content.ArrayEnumerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator over a table with more than one column; each element
  returned is an array.</div>
 </th>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.Content.ObjectEnumerator.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.Content.ObjectEnumerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator over a table with a single column; each element
  returned is an object.</div>
 </th>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.ObjectArray.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.ObjectArray</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores the column values in an array.</div>
 </th>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.ObjectDictionary.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.ObjectDictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores the values of a column as a
  dictionary of objects.</div>
 </th>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.PrimitiveArray.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.PrimitiveArray</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores the values of a column in an array of
  primitive values.</div>
 </th>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.PrimitiveDictionary.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.PrimitiveDictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores column values in a dictionary of
  primitive values, then uses a short code for each row.</div>
 </th>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.Representation.html" title="interface in org.apache.calcite.adapter.clone">ArrayTable.Representation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation of the values of a column.</div>
 </th>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.RepresentationType.html" title="enum in org.apache.calcite.adapter.clone">ArrayTable.RepresentationType</a></td>
 <th class="colLast" scope="row">
 <div class="block">How a column's values are represented.</div>
 </th>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ArrayTable.StringDictionary.html" title="class in org.apache.calcite.adapter.clone">ArrayTable.StringDictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation that stores string column values.</div>
 </th>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/AssignableOperandTypeChecker.html" title="class in org.apache.calcite.sql.type">AssignableOperandTypeChecker</a></td>
 <th class="colLast" scope="row">
 <div class="block">AssignableOperandTypeChecker implements <a href="org/apache/calcite/sql/type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type"><code>SqlOperandTypeChecker</code></a> by
@@ -936,744 +949,794 @@
  parameter types (under the SQL definition of "assignable").</div>
 </th>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.html" title="class in org.apache.calcite.piglet">Ast</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract syntax tree.</div>
 </th>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Assignment.html" title="class in org.apache.calcite.piglet">Ast.Assignment</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for statements that assign to a named relation.</div>
 </th>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Assignment1.html" title="class in org.apache.calcite.piglet">Ast.Assignment1</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for an assignment with one source relation.</div>
 </th>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.BagType.html" title="class in org.apache.calcite.piglet">Ast.BagType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for a bag type.</div>
 </th>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Call.html" title="class in org.apache.calcite.piglet">Ast.Call</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for a call to a function or operator.</div>
 </th>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.DescribeStmt.html" title="class in org.apache.calcite.piglet">Ast.DescribeStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for DESCRIBE statement.</div>
 </th>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Direction.html" title="enum in org.apache.calcite.piglet">Ast.Direction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Sort direction.</div>
 </th>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.DistinctStmt.html" title="class in org.apache.calcite.piglet">Ast.DistinctStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for DISTINCT statement.</div>
 </th>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.DumpStmt.html" title="class in org.apache.calcite.piglet">Ast.DumpStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for DUMP statement.</div>
 </th>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.FieldSchema.html" title="class in org.apache.calcite.piglet">Ast.FieldSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for field schema.</div>
 </th>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.FilterStmt.html" title="class in org.apache.calcite.piglet">Ast.FilterStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for FILTER statement.</div>
 </th>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.ForeachNestedStmt.html" title="class in org.apache.calcite.piglet">Ast.ForeachNestedStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for FOREACH statement (nested).</div>
 </th>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.ForeachStmt.html" title="class in org.apache.calcite.piglet">Ast.ForeachStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for FOREACH statement (non-nested).</div>
 </th>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.GroupStmt.html" title="class in org.apache.calcite.piglet">Ast.GroupStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for GROUP statement.</div>
 </th>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Identifier.html" title="class in org.apache.calcite.piglet">Ast.Identifier</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for Identifier.</div>
 </th>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.LimitStmt.html" title="class in org.apache.calcite.piglet">Ast.LimitStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for LIMIT statement.</div>
 </th>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Literal.html" title="class in org.apache.calcite.piglet">Ast.Literal</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for Literal.</div>
 </th>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.LoadStmt.html" title="class in org.apache.calcite.piglet">Ast.LoadStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for LOAD statement.</div>
 </th>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.MapType.html" title="class in org.apache.calcite.piglet">Ast.MapType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for a map type.</div>
 </th>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Node.html" title="class in org.apache.calcite.piglet">Ast.Node</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for parse tree node.</div>
 </th>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.NumericLiteral.html" title="class in org.apache.calcite.piglet">Ast.NumericLiteral</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for NumericLiteral.</div>
 </th>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Op.html" title="enum in org.apache.calcite.piglet">Ast.Op</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node type.</div>
 </th>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.OrderStmt.html" title="class in org.apache.calcite.piglet">Ast.OrderStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for ORDER statement.</div>
 </th>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Program.html" title="class in org.apache.calcite.piglet">Ast.Program</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for a program.</div>
 </th>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.ScalarType.html" title="class in org.apache.calcite.piglet">Ast.ScalarType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for scalar type such as <code>int</code>.</div>
 </th>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Schema.html" title="class in org.apache.calcite.piglet">Ast.Schema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for schema.</div>
 </th>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.SpecialIdentifier.html" title="class in org.apache.calcite.piglet">Ast.SpecialIdentifier</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for "*", a special kind of identifier.</div>
 </th>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Stmt.html" title="class in org.apache.calcite.piglet">Ast.Stmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for parse tree node representing a statement.</div>
 </th>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.TupleType.html" title="class in org.apache.calcite.piglet">Ast.TupleType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for a tuple type.</div>
 </th>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.Type.html" title="class in org.apache.calcite.piglet">Ast.Type</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree for type.</div>
 </th>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.UnParser.html" title="class in org.apache.calcite.piglet">Ast.UnParser</a></td>
 <th class="colLast" scope="row">
 <div class="block">Contains output and indentation level while a tree of nodes is
  being converted to text.</div>
 </th>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Ast.ValuesStmt.html" title="class in org.apache.calcite.piglet">Ast.ValuesStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse tree node for VALUES statement.</div>
 </th>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/AttributedDirectedGraph.html" title="class in org.apache.calcite.util.graph">AttributedDirectedGraph</a>&lt;<a href="org/apache/calcite/util/graph/AttributedDirectedGraph.html" title="type parameter in AttributedDirectedGraph">V</a>,&#8203;<a href="org/apache/calcite/util/graph/AttributedDirectedGraph.html" title="type parameter in AttributedDirectedGraph">E</a> extends <a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Directed graph where edges have attributes and allows multiple edges between
  any two vertices provided that their attributes are different.</div>
 </th>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/AttributedDirectedGraph.AttributedEdgeFactory.html" title="interface in org.apache.calcite.util.graph">AttributedDirectedGraph.AttributedEdgeFactory</a>&lt;<a href="org/apache/calcite/util/graph/AttributedDirectedGraph.AttributedEdgeFactory.html" title="type parameter in AttributedDirectedGraph.AttributedEdgeFactory">V</a>,&#8203;<a href="org/apache/calcite/util/graph/AttributedDirectedGraph.AttributedEdgeFactory.html" title="type parameter in AttributedDirectedGraph.AttributedEdgeFactory">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Factory for edges that have attributes.</div>
 </th>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i158" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/Automaton.html" title="class in org.apache.calcite.runtime">Automaton</a></td>
+<th class="colLast" scope="row">
+<div class="block">A nondeterministic finite-state automaton (NFA).</div>
+</th>
+</tr>
+<tr id="i159" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/Automaton.EpsilonTransition.html" title="class in org.apache.calcite.runtime">Automaton.EpsilonTransition</a></td>
+<th class="colLast" scope="row">
+<div class="block">A transition that may happen without reading a symbol.</div>
+</th>
+</tr>
+<tr id="i160" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/Automaton.State.html" title="class in org.apache.calcite.runtime">Automaton.State</a></td>
+<th class="colLast" scope="row">
+<div class="block">Node in the finite-state automaton.</div>
+</th>
+</tr>
+<tr id="i161" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/Automaton.SymbolTransition.html" title="class in org.apache.calcite.runtime">Automaton.SymbolTransition</a></td>
+<th class="colLast" scope="row">
+<div class="block">A transition caused by reading a symbol.</div>
+</th>
+</tr>
+<tr id="i162" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/Automaton.Transition.html" title="class in org.apache.calcite.runtime">Automaton.Transition</a></td>
+<th class="colLast" scope="row">
+<div class="block">Transition from one state to another in the finite-state automaton.</div>
+</th>
+</tr>
+<tr id="i163" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/AutomatonBuilder.html" title="class in org.apache.calcite.runtime">AutomatonBuilder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Builds a state-transition graph for deterministic finite automaton.</div>
+</th>
+</tr>
+<tr id="i164" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/AuxiliaryConverter.html" title="interface in org.apache.calcite.sql2rel">AuxiliaryConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Converts an expression for a group window function (e.g.</div>
 </th>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/AuxiliaryConverter.Impl.html" title="class in org.apache.calcite.sql2rel">AuxiliaryConverter.Impl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple implementation of <a href="org/apache/calcite/sql2rel/AuxiliaryConverter.html" title="interface in org.apache.calcite.sql2rel"><code>AuxiliaryConverter</code></a>.</div>
 </th>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/babel/Babel.html" title="class in org.apache.calcite.sql.babel">Babel</a></td>
 <th class="colLast" scope="row">
 <div class="block">SQL parser that accepts a wide variety of dialects.</div>
 </th>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BarfingInvocationHandler.html" title="class in org.apache.calcite.util">BarfingInvocationHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">A class derived from <code>BarfingInvocationHandler</code> handles a method
  call by looking for a method in itself with identical parameters.</div>
 </th>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/BaseQueryable.html" title="class in org.apache.calcite.linq4j">BaseQueryable</a>&lt;<a href="org/apache/calcite/linq4j/BaseQueryable.html" title="type parameter in BaseQueryable">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Skeleton implementation of <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a>.</div>
 </th>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/BasicAggregateLambdaFactory.html" title="class in org.apache.calcite.adapter.enumerable">BasicAggregateLambdaFactory</a>&lt;<a href="org/apache/calcite/adapter/enumerable/BasicAggregateLambdaFactory.html" title="type parameter in BasicAggregateLambdaFactory">TSource</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/BasicAggregateLambdaFactory.html" title="type parameter in BasicAggregateLambdaFactory">TAccumulate</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/BasicAggregateLambdaFactory.html" title="type parameter in BasicAggregateLambdaFactory">TResult</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/BasicAggregateLambdaFactory.html" title="type parameter in BasicAggregateLambdaFactory">TKey</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.html" title="interface in org.apache.calcite.adapter.enumerable"><code>AggregateLambdaFactory</code></a> that applies a sequence of
  accumulator adders to input source.</div>
 </th>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/BasicLazyAccumulator.html" title="class in org.apache.calcite.adapter.enumerable">BasicLazyAccumulator</a>&lt;<a href="org/apache/calcite/adapter/enumerable/BasicLazyAccumulator.html" title="type parameter in BasicLazyAccumulator">TAccumulate</a>,&#8203;<a href="org/apache/calcite/adapter/enumerable/BasicLazyAccumulator.html" title="type parameter in BasicLazyAccumulator">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Performs accumulation against a pre-collected list of input sources,
  used with <a href="org/apache/calcite/adapter/enumerable/LazyAggregateLambdaFactory.html" title="class in org.apache.calcite.adapter.enumerable"><code>LazyAggregateLambdaFactory</code></a>.</div>
 </th>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/BasicSqlType.html" title="class in org.apache.calcite.sql.type">BasicSqlType</a></td>
 <th class="colLast" scope="row">
 <div class="block">BasicSqlType represents a standard atomic SQL type (excluding interval
  types).</div>
 </th>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Benchmark.html" title="class in org.apache.calcite.util">Benchmark</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helps to run benchmarks by running the same task repeatedly and averaging
  the running times.</div>
 </th>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Benchmark.Statistician.html" title="class in org.apache.calcite.util">Benchmark.Statistician</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collects statistics for a test that is run multiple times.</div>
 </th>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/BigDecimalFunction1.html" title="interface in org.apache.calcite.linq4j.function">BigDecimalFunction1</a>&lt;<a href="org/apache/calcite/linq4j/function/BigDecimalFunction1.html" title="type parameter in BigDecimalFunction1">T0</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function that takes one parameter and returns a <code>BigDecimal</code> value.</div>
 </th>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/BigQuerySqlDialect.html" title="class in org.apache.calcite.sql.dialect">BigQuerySqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for Google BigQuery's "Standard SQL"
  dialect.</div>
 </th>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BinaryExpression.html" title="class in org.apache.calcite.linq4j.tree">BinaryExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an expression that has a binary operator.</div>
 </th>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/BinaryOperatorConversion.html" title="class in org.apache.calcite.adapter.druid">BinaryOperatorConversion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Binary operator conversion utility class used to convert expression like exp1 Operator exp2</div>
 </th>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/BinarySearch.html" title="class in org.apache.calcite.runtime">BinarySearch</a></td>
 <th class="colLast" scope="row">
 <div class="block">Binary search for the implementation of
  RANGE BETWEEN XXX PRECEDING/FOLLOWING clause.</div>
 </th>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/Bindable.html" title="interface in org.apache.calcite.runtime">Bindable</a>&lt;<a href="org/apache/calcite/runtime/Bindable.html" title="type parameter in Bindable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Statement that can be bound to a <a href="org/apache/calcite/DataContext.html" title="interface in org.apache.calcite"><code>DataContext</code></a> and then executed.</div>
 </th>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/BindableConvention.html" title="enum in org.apache.calcite.interpreter">BindableConvention</a></td>
 <th class="colLast" scope="row">
 <div class="block">Calling convention that returns results as an
  <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> of object arrays.</div>
 </th>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/BindableRel.html" title="interface in org.apache.calcite.interpreter">BindableRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that can implement itself in Bindable
  convention.</div>
 </th>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.html" title="class in org.apache.calcite.interpreter">Bindables</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities pertaining to <a href="org/apache/calcite/interpreter/BindableRel.html" title="interface in org.apache.calcite.interpreter"><code>BindableRel</code></a> and <a href="org/apache/calcite/interpreter/BindableConvention.html" title="enum in org.apache.calcite.interpreter"><code>BindableConvention</code></a>.</div>
 </th>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableAggregate.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
  in bindable calling convention.</div>
 </th>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableAggregateRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> to bindable convention.</div>
 </th>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableFilter.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
  in bindable convention.</div>
 </th>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableFilterRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> to bindable convention.</div>
 </th>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableJoin.html" title="class in org.apache.calcite.interpreter">Bindables.BindableJoin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
  bindable calling convention.</div>
 </th>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableJoinRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>
  to a <a href="org/apache/calcite/interpreter/Bindables.BindableJoin.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableJoin</code></a>.</div>
 </th>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i189" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableMatch.html" title="class in org.apache.calcite.interpreter">Bindables.BindableMatch</a></td>
+<th class="colLast" scope="row">
+<div class="block">Implementation of <a href="org/apache/calcite/rel/core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a>
+ in bindable convention.</div>
+</th>
+</tr>
+<tr id="i190" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableMatchRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableMatchRule</a></td>
+<th class="colLast" scope="row">
+<div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMatch</code></a>
+ to a <a href="org/apache/calcite/interpreter/Bindables.BindableMatch.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableMatch</code></a>.</div>
+</th>
+</tr>
+<tr id="i191" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableProject.html" title="class in org.apache.calcite.interpreter">Bindables.BindableProject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
  bindable calling convention.</div>
 </th>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i192" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableProjectRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
  to a <a href="org/apache/calcite/interpreter/Bindables.BindableProject.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableProject</code></a>.</div>
 </th>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i193" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableSort.html" title="class in org.apache.calcite.interpreter">Bindables.BindableSort</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
  bindable calling convention.</div>
 </th>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i194" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableSortRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableSortRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
  <a href="org/apache/calcite/interpreter/Bindables.BindableSort.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableSort</code></a>.</div>
 </th>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i195" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableTableScan.html" title="class in org.apache.calcite.interpreter">Bindables.BindableTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Scan of a table that implements <a href="org/apache/calcite/schema/ScannableTable.html" title="interface in org.apache.calcite.schema"><code>ScannableTable</code></a> and therefore can
  be converted into an <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i196" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableTableScanRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableTableScanRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a <a href="org/apache/calcite/rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a>
  to bindable convention.</div>
 </th>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i197" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableUnion.html" title="class in org.apache.calcite.interpreter">Bindables.BindableUnion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> in
  bindable calling convention.</div>
 </th>
 </tr>
-<tr id="i188" class="altColor">
+<tr id="i198" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableUnionRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableUnionRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalUnion</code></a>
  to a <a href="org/apache/calcite/interpreter/Bindables.BindableUnion.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableUnion</code></a>.</div>
 </th>
 </tr>
-<tr id="i189" class="rowColor">
+<tr id="i199" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableValues.html" title="class in org.apache.calcite.interpreter">Bindables.BindableValues</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a>
  in bindable calling convention.</div>
 </th>
 </tr>
-<tr id="i190" class="altColor">
+<tr id="i200" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableValuesRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableValuesRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a <a href="org/apache/calcite/rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> to bindable convention.</div>
 </th>
 </tr>
-<tr id="i191" class="rowColor">
+<tr id="i201" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableWindow.html" title="class in org.apache.calcite.interpreter">Bindables.BindableWindow</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a>
  in bindable convention.</div>
 </th>
 </tr>
-<tr id="i192" class="altColor">
+<tr id="i202" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Bindables.BindableWindowRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableWindowRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a>
  to a <a href="org/apache/calcite/interpreter/Bindables.BindableWindow.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableWindow</code></a>.</div>
 </th>
 </tr>
-<tr id="i193" class="rowColor">
+<tr id="i203" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/BiRel.html" title="class in org.apache.calcite.rel">BiRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for relational expressions with a two inputs.</div>
 </th>
 </tr>
-<tr id="i194" class="altColor">
+<tr id="i204" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BitSets.html" title="class in org.apache.calcite.util">BitSets</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility functions for <code>BitSet</code>.</div>
 </th>
 </tr>
-<tr id="i195" class="rowColor">
+<tr id="i205" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BitSets.Closure.html" title="class in org.apache.calcite.util">BitSets.Closure</a></td>
 <th class="colLast" scope="row">
 <div class="block">Setup equivalence Sets for each position.</div>
 </th>
 </tr>
-<tr id="i196" class="altColor">
+<tr id="i206" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BitString.html" title="class in org.apache.calcite.util">BitString</a></td>
 <th class="colLast" scope="row">
 <div class="block">String of bits.</div>
 </th>
 </tr>
-<tr id="i197" class="rowColor">
+<tr id="i207" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BlackholeMap.html" title="class in org.apache.calcite.util">BlackholeMap</a>&lt;<a href="org/apache/calcite/util/BlackholeMap.html" title="type parameter in BlackholeMap">K</a>,&#8203;<a href="org/apache/calcite/util/BlackholeMap.html" title="type parameter in BlackholeMap">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">An implementation of <code>java.util.Map</code> that ignores any <code>put</code>
  operation.</div>
 </th>
 </tr>
-<tr id="i198" class="altColor">
+<tr id="i208" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BlackholeMap.BHIterator.html" title="class in org.apache.calcite.util">BlackholeMap.BHIterator</a>&lt;<a href="org/apache/calcite/util/BlackholeMap.BHIterator.html" title="type parameter in BlackholeMap.BHIterator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Blackhole implementation of <code>Iterator</code>.</div>
 </th>
 </tr>
-<tr id="i199" class="rowColor">
+<tr id="i209" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BlackholeMap.BHSet.html" title="class in org.apache.calcite.util">BlackholeMap.BHSet</a>&lt;<a href="org/apache/calcite/util/BlackholeMap.BHSet.html" title="type parameter in BlackholeMap.BHSet">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Blackhole implementation of <code>Set</code>.</div>
 </th>
 </tr>
-<tr id="i200" class="altColor">
+<tr id="i210" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BlockBuilder.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builder for <a href="org/apache/calcite/linq4j/tree/BlockStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>BlockStatement</code></a>.</div>
 </th>
 </tr>
-<tr id="i201" class="rowColor">
+<tr id="i211" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BlockBuilder.InlineVariableVisitor.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.InlineVariableVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Inline Variable Visitor.</div>
 </th>
 </tr>
-<tr id="i202" class="altColor">
+<tr id="i212" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BlockBuilder.Slot.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.Slot</a></td>
 <th class="colLast" scope="row">
 <div class="block">Holds the number of times a declaration was used.</div>
 </th>
 </tr>
-<tr id="i203" class="rowColor">
+<tr id="i213" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BlockBuilder.SubstituteVariableVisitor.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.SubstituteVariableVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Substitute Variable Visitor.</div>
 </th>
 </tr>
-<tr id="i204" class="altColor">
+<tr id="i214" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BlockBuilder.UseCounter.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.UseCounter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Use counter.</div>
 </th>
 </tr>
-<tr id="i205" class="rowColor">
+<tr id="i215" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Blocks.html" title="class in org.apache.calcite.linq4j.tree">Blocks</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper methods concerning <a href="org/apache/calcite/linq4j/tree/BlockStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>BlockStatement</code></a>s.</div>
 </th>
 </tr>
-<tr id="i206" class="altColor">
+<tr id="i216" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/BlockStatement.html" title="class in org.apache.calcite.linq4j.tree">BlockStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a block that contains a sequence of expressions where variables
  can be defined.</div>
 </th>
 </tr>
-<tr id="i207" class="rowColor">
+<tr id="i217" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/BreadthFirstIterator.html" title="class in org.apache.calcite.util.graph">BreadthFirstIterator</a>&lt;<a href="org/apache/calcite/util/graph/BreadthFirstIterator.html" title="type parameter in BreadthFirstIterator">V</a>,&#8203;<a href="org/apache/calcite/util/graph/BreadthFirstIterator.html" title="type parameter in BreadthFirstIterator">E</a> extends <a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Iterates over the vertices in a directed graph in breadth-first order.</div>
 </th>
 </tr>
-<tr id="i208" class="altColor">
+<tr id="i218" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Bug.html" title="class in org.apache.calcite.util">Bug</a></td>
 <th class="colLast" scope="row">
 <div class="block">Holder for a list of constants describing which bugs which have not been
  fixed.</div>
 </th>
 </tr>
-<tr id="i209" class="rowColor">
+<tr id="i219" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.html" title="class in org.apache.calcite.rel.metadata">BuiltInMetadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Contains the interfaces for several common forms of metadata.</div>
 </th>
 </tr>
-<tr id="i210" class="altColor">
+<tr id="i220" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.All.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.All</a></td>
 <th class="colLast" scope="row">
 <div class="block">The built-in forms of metadata.</div>
 </th>
 </tr>
-<tr id="i211" class="rowColor">
+<tr id="i221" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.AllPredicates.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.AllPredicates</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the predicates that hold in the rows emitted from a
  relational expression.</div>
 </th>
 </tr>
-<tr id="i212" class="altColor">
+<tr id="i222" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.AllPredicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.AllPredicates.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i213" class="rowColor">
+<tr id="i223" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Collation.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Collation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about which columns are sorted.</div>
 </th>
 </tr>
-<tr id="i214" class="altColor">
+<tr id="i224" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Collation.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Collation.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i215" class="rowColor">
+<tr id="i225" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ColumnOrigin.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnOrigin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the origins of columns.</div>
 </th>
 </tr>
-<tr id="i216" class="altColor">
+<tr id="i226" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ColumnOrigin.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnOrigin.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i217" class="rowColor">
+<tr id="i227" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ColumnUniqueness.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnUniqueness</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about whether a set of columns uniquely identifies a row.</div>
 </th>
 </tr>
-<tr id="i218" class="altColor">
+<tr id="i228" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ColumnUniqueness.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnUniqueness.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i219" class="rowColor">
+<tr id="i229" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.CumulativeCost.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.CumulativeCost</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the cost of evaluating a relational expression, including
  all of its inputs.</div>
 </th>
 </tr>
-<tr id="i220" class="altColor">
+<tr id="i230" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.CumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.CumulativeCost.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i221" class="rowColor">
+<tr id="i231" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.DistinctRowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.DistinctRowCount</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the number of distinct rows returned by a set of columns
  in a relational expression.</div>
 </th>
 </tr>
-<tr id="i222" class="altColor">
+<tr id="i232" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.DistinctRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.DistinctRowCount.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i223" class="rowColor">
+<tr id="i233" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Distribution.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Distribution</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about how a relational expression is distributed.</div>
 </th>
 </tr>
-<tr id="i224" class="altColor">
+<tr id="i234" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Distribution.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Distribution.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i225" class="rowColor">
+<tr id="i235" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ExplainVisibility.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExplainVisibility</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about whether a relational expression should appear in a plan.</div>
 </th>
 </tr>
-<tr id="i226" class="altColor">
+<tr id="i236" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ExplainVisibility.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExplainVisibility.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i227" class="rowColor">
+<tr id="i237" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ExpressionLineage.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExpressionLineage</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the origins of expressions.</div>
 </th>
 </tr>
-<tr id="i228" class="altColor">
+<tr id="i238" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.ExpressionLineage.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExpressionLineage.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i229" class="rowColor">
+<tr id="i239" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.MaxRowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MaxRowCount</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the maximum number of rows returned by a relational
  expression.</div>
 </th>
 </tr>
-<tr id="i230" class="altColor">
+<tr id="i240" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.MaxRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MaxRowCount.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i231" class="rowColor">
+<tr id="i241" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Memory.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Memory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the memory use of an operator.</div>
 </th>
 </tr>
-<tr id="i232" class="altColor">
+<tr id="i242" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Memory.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Memory.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i233" class="rowColor">
+<tr id="i243" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.MinRowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MinRowCount</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the minimum number of rows returned by a relational
  expression.</div>
 </th>
 </tr>
-<tr id="i234" class="altColor">
+<tr id="i244" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.MinRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MinRowCount.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i235" class="rowColor">
+<tr id="i245" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.NodeTypes.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NodeTypes</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the node types in a relational expression.</div>
 </th>
 </tr>
-<tr id="i236" class="altColor">
+<tr id="i246" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.NodeTypes.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NodeTypes.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i237" class="rowColor">
+<tr id="i247" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.NonCumulativeCost.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NonCumulativeCost</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the cost of evaluating a relational expression, not
  including its inputs.</div>
 </th>
 </tr>
-<tr id="i238" class="altColor">
+<tr id="i248" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.NonCumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NonCumulativeCost.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i239" class="rowColor">
+<tr id="i249" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Parallelism.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Parallelism</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the degree of parallelism of a relational expression, and
@@ -1681,172 +1744,172 @@
  pools.</div>
 </th>
 </tr>
-<tr id="i240" class="altColor">
+<tr id="i250" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Parallelism.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Parallelism.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i241" class="rowColor">
+<tr id="i251" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.PercentageOriginalRows.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PercentageOriginalRows</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the proportion of original rows that remain in a relational
  expression.</div>
 </th>
 </tr>
-<tr id="i242" class="altColor">
+<tr id="i252" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.PercentageOriginalRows.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PercentageOriginalRows.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i243" class="rowColor">
+<tr id="i253" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.PopulationSize.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PopulationSize</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the number of distinct values in the original source of a
  column or set of columns.</div>
 </th>
 </tr>
-<tr id="i244" class="altColor">
+<tr id="i254" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.PopulationSize.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PopulationSize.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i245" class="rowColor">
+<tr id="i255" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Predicates.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Predicates</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the predicates that hold in the rows emitted from a
  relational expression.</div>
 </th>
 </tr>
-<tr id="i246" class="altColor">
+<tr id="i256" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Predicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Predicates.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i247" class="rowColor">
+<tr id="i257" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.RowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.RowCount</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the number of rows returned by a relational expression.</div>
 </th>
 </tr>
-<tr id="i248" class="altColor">
+<tr id="i258" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.RowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.RowCount.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i249" class="rowColor">
+<tr id="i259" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Selectivity.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Selectivity</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the selectivity of a predicate.</div>
 </th>
 </tr>
-<tr id="i250" class="altColor">
+<tr id="i260" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Selectivity.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Selectivity.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i251" class="rowColor">
+<tr id="i261" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Size.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Size</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about the size of rows and columns.</div>
 </th>
 </tr>
-<tr id="i252" class="altColor">
+<tr id="i262" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.Size.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Size.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i253" class="rowColor">
+<tr id="i263" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.TableReferences.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.TableReferences</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata to obtain references to tables used by a given expression.</div>
 </th>
 </tr>
-<tr id="i254" class="altColor">
+<tr id="i264" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.TableReferences.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.TableReferences.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i255" class="rowColor">
+<tr id="i265" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.UniqueKeys.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.UniqueKeys</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata about which combinations of columns are unique identifiers.</div>
 </th>
 </tr>
-<tr id="i256" class="altColor">
+<tr id="i266" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/BuiltInMetadata.UniqueKeys.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.UniqueKeys.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handler API.</div>
 </th>
 </tr>
-<tr id="i257" class="rowColor">
+<tr id="i267" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/BuiltInMethod.html" title="enum in org.apache.calcite.util">BuiltInMethod</a></td>
 <th class="colLast" scope="row">
 <div class="block">Built-in methods.</div>
 </th>
 </tr>
-<tr id="i258" class="altColor">
+<tr id="i268" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CachingCalciteSchema.html" title="class in org.apache.calcite.jdbc">CachingCalciteSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Concrete implementation of <a href="org/apache/calcite/jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema</code></a> that caches tables,
  functions and sub-schemas.</div>
 </th>
 </tr>
-<tr id="i259" class="rowColor">
+<tr id="i269" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CachingCalciteSchema.Cached.html" title="interface in org.apache.calcite.jdbc">CachingCalciteSchema.Cached</a>&lt;<a href="org/apache/calcite/jdbc/CachingCalciteSchema.Cached.html" title="type parameter in CachingCalciteSchema.Cached">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Strategy for caching the value of an object and re-creating it if its
  value is out of date as of a given timestamp.</div>
 </th>
 </tr>
-<tr id="i260" class="altColor">
+<tr id="i270" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CachingCalciteSchema.SubSchemaCache.html" title="class in org.apache.calcite.jdbc">CachingCalciteSchema.SubSchemaCache</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information about the implicit sub-schemas of an <a href="org/apache/calcite/jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i261" class="rowColor">
+<tr id="i271" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/CachingLatticeStatisticProvider.html" title="class in org.apache.calcite.materialize">CachingLatticeStatisticProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/materialize/LatticeStatisticProvider.html" title="interface in org.apache.calcite.materialize"><code>LatticeStatisticProvider</code></a> that caches single-column
  statistics and computes multi-column statistics from these.</div>
 </th>
 </tr>
-<tr id="i262" class="altColor">
+<tr id="i272" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/CachingRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">CachingRelMetadataProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of the <a href="org/apache/calcite/rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a>
  interface that caches results from an underlying provider.</div>
 </th>
 </tr>
-<tr id="i263" class="rowColor">
+<tr id="i273" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/CachingRelMetadataProvider.CacheEntry.html" title="class in org.apache.calcite.rel.metadata">CachingRelMetadataProvider.CacheEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">An entry in the cache.</div>
 </th>
 </tr>
-<tr id="i264" class="altColor">
+<tr id="i274" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/statistic/CachingSqlStatisticProvider.html" title="class in org.apache.calcite.statistic">CachingSqlStatisticProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/materialize/SqlStatisticProvider.html" title="interface in org.apache.calcite.materialize"><code>SqlStatisticProvider</code></a> that reads and writes a
  cache.</div>
 </th>
 </tr>
-<tr id="i265" class="rowColor">
+<tr id="i275" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></td>
 <th class="colLast" scope="row">
 <div class="block"><code>Calc</code> is an abstract base class for implementations of
  <a href="org/apache/calcite/rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i266" class="altColor">
+<tr id="i276" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalciteCatalogReader.html" title="class in org.apache.calcite.prepare">CalciteCatalogReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare"><code>Prepare.CatalogReader</code></a>
@@ -1854,7 +1917,7 @@
  functions defined schemas.</div>
 </th>
 </tr>
-<tr id="i267" class="rowColor">
+<tr id="i277" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnection.html" title="interface in org.apache.calcite.jdbc">CalciteConnection</a></td>
 <th class="colLast" scope="row">
 <div class="block">Extension to Calcite's implementation of
@@ -1862,189 +1925,189 @@
  dynamically.</div>
 </th>
 </tr>
-<tr id="i268" class="altColor">
+<tr id="i278" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for reading connection properties within Calcite code.</div>
 </th>
 </tr>
-<tr id="i269" class="rowColor">
+<tr id="i279" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/config/CalciteConnectionConfigImpl.html" title="class in org.apache.calcite.config">CalciteConnectionConfigImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config"><code>CalciteConnectionConfig</code></a>.</div>
 </th>
 </tr>
-<tr id="i270" class="altColor">
+<tr id="i280" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of JDBC connection
  in the Calcite engine.</div>
 </th>
 </tr>
-<tr id="i271" class="rowColor">
+<tr id="i281" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.CalciteQueryable.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.CalciteQueryable</a>&lt;<a href="org/apache/calcite/jdbc/CalciteConnectionImpl.CalciteQueryable.html" title="type parameter in CalciteConnectionImpl.CalciteQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of Queryable.</div>
 </th>
 </tr>
-<tr id="i272" class="altColor">
+<tr id="i282" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.CalciteServerImpl.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.CalciteServerImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of Server.</div>
 </th>
 </tr>
-<tr id="i273" class="rowColor">
+<tr id="i283" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.CalciteServerStatementImpl.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.CalciteServerStatementImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/server/CalciteServerStatement.html" title="interface in org.apache.calcite.server"><code>CalciteServerStatement</code></a>.</div>
 </th>
 </tr>
-<tr id="i274" class="altColor">
+<tr id="i284" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.ContextImpl.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.ContextImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of Context.</div>
 </th>
 </tr>
-<tr id="i275" class="rowColor">
+<tr id="i285" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.DataContextImpl.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.DataContextImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of DataContext.</div>
 </th>
 </tr>
-<tr id="i276" class="altColor">
+<tr id="i286" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.RootSchema.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.RootSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema that has no parents.</div>
 </th>
 </tr>
-<tr id="i277" class="rowColor">
+<tr id="i287" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteConnectionImpl.SlimDataContext.html" title="class in org.apache.calcite.jdbc">CalciteConnectionImpl.SlimDataContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/DataContext.html" title="interface in org.apache.calcite"><code>DataContext</code></a> that has few variables and is
  <code>Serializable</code>.</div>
 </th>
 </tr>
-<tr id="i278" class="altColor">
+<tr id="i288" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/config/CalciteConnectionProperty.html" title="enum in org.apache.calcite.config">CalciteConnectionProperty</a></td>
 <th class="colLast" scope="row">
 <div class="block">Properties that may be specified on the JDBC connect string.</div>
 </th>
 </tr>
-<tr id="i279" class="rowColor">
+<tr id="i289" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/CalciteConnectionProvider.html" title="class in org.apache.calcite.chinook">CalciteConnectionProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Provider of calcite connections for end-to-end tests.</div>
 </th>
 </tr>
-<tr id="i280" class="altColor">
+<tr id="i290" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception which contains information about the textual context of the causing
  exception.</div>
 </th>
 </tr>
-<tr id="i281" class="rowColor">
+<tr id="i291" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all exceptions originating from Farrago.</div>
 </th>
 </tr>
-<tr id="i282" class="altColor">
+<tr id="i292" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteFactory.html" title="class in org.apache.calcite.jdbc">CalciteFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Extension of <code>AvaticaFactory</code>
  for Calcite.</div>
 </th>
 </tr>
-<tr id="i283" class="rowColor">
+<tr id="i293" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteJdbc41Factory.html" title="class in org.apache.calcite.jdbc">CalciteJdbc41Factory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>AvaticaFactory</code>
  for Calcite and JDBC 4.1 (corresponds to JDK 1.7).</div>
 </th>
 </tr>
-<tr id="i284" class="altColor">
+<tr id="i294" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteJdbc41Factory.CalciteJdbc41Connection.html" title="class in org.apache.calcite.jdbc">CalciteJdbc41Factory.CalciteJdbc41Connection</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of connection for JDBC 4.1.</div>
 </th>
 </tr>
-<tr id="i285" class="rowColor">
+<tr id="i295" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteJdbc41Factory.CalciteJdbc41DatabaseMetaData.html" title="class in org.apache.calcite.jdbc">CalciteJdbc41Factory.CalciteJdbc41DatabaseMetaData</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of database metadata for JDBC 4.1.</div>
 </th>
 </tr>
-<tr id="i286" class="altColor">
+<tr id="i296" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteJdbc41Factory.CalciteJdbc41PreparedStatement.html" title="class in org.apache.calcite.jdbc">CalciteJdbc41Factory.CalciteJdbc41PreparedStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of prepared statement for JDBC 4.1.</div>
 </th>
 </tr>
-<tr id="i287" class="rowColor">
+<tr id="i297" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteJdbc41Factory.CalciteJdbc41Statement.html" title="class in org.apache.calcite.jdbc">CalciteJdbc41Factory.CalciteJdbc41Statement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of statement for JDBC 4.1.</div>
 </th>
 </tr>
-<tr id="i288" class="altColor">
+<tr id="i298" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/trace/CalciteLogger.html" title="class in org.apache.calcite.util.trace">CalciteLogger</a></td>
 <th class="colLast" scope="row">
 <div class="block">Small extension to <code>Logger</code> with some performance improvements.</div>
 </th>
 </tr>
-<tr id="i289" class="rowColor">
+<tr id="i299" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalciteMaterializer.html" title="class in org.apache.calcite.prepare">CalciteMaterializer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context for populating a <a href="org/apache/calcite/prepare/Prepare.Materialization.html" title="class in org.apache.calcite.prepare"><code>Prepare.Materialization</code></a>.</div>
 </th>
 </tr>
-<tr id="i290" class="altColor">
+<tr id="i300" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalciteMaterializer.Callback.html" title="class in org.apache.calcite.prepare">CalciteMaterializer.Callback</a></td>
 <th class="colLast" scope="row">
 <div class="block">Called when we discover a star table that matches.</div>
 </th>
 </tr>
-<tr id="i291" class="rowColor">
+<tr id="i301" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalciteMaterializer.RelNullShuttle.html" title="class in org.apache.calcite.prepare">CalciteMaterializer.RelNullShuttle</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/RelShuttle.html" title="interface in org.apache.calcite.rel"><code>RelShuttle</code></a> that returns each relational
  expression unchanged.</div>
 </th>
 </tr>
-<tr id="i292" class="altColor">
+<tr id="i302" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteMetaImpl.html" title="class in org.apache.calcite.jdbc">CalciteMetaImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper for implementing the <code>getXxx</code> methods such as
  <code>AvaticaDatabaseMetaData.getTables(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])</code>.</div>
 </th>
 </tr>
-<tr id="i293" class="rowColor">
+<tr id="i303" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteMetaImpl.CalciteMetaSchema.html" title="class in org.apache.calcite.jdbc">CalciteMetaImpl.CalciteMetaSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata describing a Calcite schema.</div>
 </th>
 </tr>
-<tr id="i294" class="altColor">
+<tr id="i304" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteMetaImpl.CalciteMetaTable.html" title="class in org.apache.calcite.jdbc">CalciteMetaImpl.CalciteMetaTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata describing a Calcite table.</div>
 </th>
 </tr>
-<tr id="i295" class="rowColor">
+<tr id="i305" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteMetaImpl.LimitIterator.html" title="class in org.apache.calcite.jdbc">CalciteMetaImpl.LimitIterator</a>&lt;<a href="org/apache/calcite/jdbc/CalciteMetaImpl.LimitIterator.html" title="type parameter in CalciteMetaImpl.LimitIterator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Iterator that returns at most <code>limit</code> rows from an underlying
  <code>Iterator</code>.</div>
 </th>
 </tr>
-<tr id="i296" class="altColor">
+<tr id="i306" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteMetaImpl.MetadataTable.html" title="class in org.apache.calcite.jdbc">CalciteMetaImpl.MetadataTable</a>&lt;<a href="org/apache/calcite/jdbc/CalciteMetaImpl.MetadataTable.html" title="type parameter in CalciteMetaImpl.MetadataTable">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Table whose contents are metadata.</div>
 </th>
 </tr>
-<tr id="i297" class="rowColor">
+<tr id="i307" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CalciteParserException.html" title="interface in org.apache.calcite.util">CalciteParserException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Tagging interface to allow a
@@ -2053,253 +2116,253 @@
  dependency on it from client-side code.</div>
 </th>
 </tr>
-<tr id="i298" class="altColor">
+<tr id="i308" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.html" title="interface in org.apache.calcite.jdbc">CalcitePrepare</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for a service that prepares statements for execution.</div>
 </th>
 </tr>
-<tr id="i299" class="rowColor">
+<tr id="i309" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.AnalyzeViewResult.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.AnalyzeViewResult</a></td>
 <th class="colLast" scope="row">
 <div class="block">The result of analyzing a view.</div>
 </th>
 </tr>
-<tr id="i300" class="altColor">
+<tr id="i310" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.CalciteSignature.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.CalciteSignature</a>&lt;<a href="org/apache/calcite/jdbc/CalcitePrepare.CalciteSignature.html" title="type parameter in CalcitePrepare.CalciteSignature">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">The result of preparing a query.</div>
 </th>
 </tr>
-<tr id="i301" class="rowColor">
+<tr id="i311" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.Context.html" title="interface in org.apache.calcite.jdbc">CalcitePrepare.Context</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context for preparing a statement.</div>
 </th>
 </tr>
-<tr id="i302" class="altColor">
+<tr id="i312" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.ConvertResult.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.ConvertResult</a></td>
 <th class="colLast" scope="row">
 <div class="block">The result of parsing and validating a SQL query and converting it to
  relational algebra.</div>
 </th>
 </tr>
-<tr id="i303" class="rowColor">
+<tr id="i313" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.Dummy.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.Dummy</a></td>
 <th class="colLast" scope="row">
 <div class="block">Namespace that allows us to define non-abstract methods inside an
  interface.</div>
 </th>
 </tr>
-<tr id="i304" class="altColor">
+<tr id="i314" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.Dummy.TrivialSparkHandler.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.Dummy.TrivialSparkHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/jdbc/CalcitePrepare.SparkHandler.html" title="interface in org.apache.calcite.jdbc"><code>CalcitePrepare.SparkHandler</code></a> that either does nothing or
  throws for each method.</div>
 </th>
 </tr>
-<tr id="i305" class="rowColor">
+<tr id="i315" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.ParseResult.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.ParseResult</a></td>
 <th class="colLast" scope="row">
 <div class="block">The result of parsing and validating a SQL query.</div>
 </th>
 </tr>
-<tr id="i306" class="altColor">
+<tr id="i316" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.Query.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.Query</a>&lt;<a href="org/apache/calcite/jdbc/CalcitePrepare.Query.html" title="type parameter in CalcitePrepare.Query">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A union type of the three possible ways of expressing a query: as a SQL
  string, a <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> or a <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
 </th>
 </tr>
-<tr id="i307" class="rowColor">
+<tr id="i317" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.SparkHandler.html" title="interface in org.apache.calcite.jdbc">CalcitePrepare.SparkHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Callback to register Spark as the main engine.</div>
 </th>
 </tr>
-<tr id="i308" class="altColor">
+<tr id="i318" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePrepare.SparkHandler.RuleSetBuilder.html" title="interface in org.apache.calcite.jdbc">CalcitePrepare.SparkHandler.RuleSetBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Allows Spark to declare the rules it needs.</div>
 </th>
 </tr>
-<tr id="i309" class="rowColor">
+<tr id="i319" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalcitePreparedStatement.html" title="class in org.apache.calcite.jdbc">CalcitePreparedStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>PreparedStatement</code>
  for the Calcite engine.</div>
 </th>
 </tr>
-<tr id="i310" class="altColor">
+<tr id="i320" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalcitePrepareImpl.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Shit just got real.</div>
 </th>
 </tr>
-<tr id="i311" class="rowColor">
+<tr id="i321" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalcitePrepareImpl.CalcitePreparedExplain.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl.CalcitePreparedExplain</a></td>
 <th class="colLast" scope="row">
 <div class="block">An <code>EXPLAIN</code> statement, prepared and ready to execute.</div>
 </th>
 </tr>
-<tr id="i312" class="altColor">
+<tr id="i322" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalcitePrepareImpl.CalcitePreparingStmt.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl.CalcitePreparingStmt</a></td>
 <th class="colLast" scope="row">
 <div class="block">Holds state for the process of preparing a SQL statement.</div>
 </th>
 </tr>
-<tr id="i313" class="rowColor">
+<tr id="i323" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalcitePrepareImpl.EmptyScalarTranslator.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl.EmptyScalarTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Basic translator.</div>
 </th>
 </tr>
-<tr id="i314" class="altColor">
+<tr id="i324" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalcitePrepareImpl.LambdaScalarTranslator.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl.LambdaScalarTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translator that looks for parameters.</div>
 </th>
 </tr>
-<tr id="i315" class="rowColor">
+<tr id="i325" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalcitePrepareImpl.ScalarTranslator.html" title="interface in org.apache.calcite.prepare">CalcitePrepareImpl.ScalarTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translator from Java AST to <a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>.</div>
 </th>
 </tr>
-<tr id="i316" class="altColor">
+<tr id="i326" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/CalciteResource.html" title="interface in org.apache.calcite.runtime">CalciteResource</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compiler-checked resources for the Calcite project.</div>
 </th>
 </tr>
-<tr id="i317" class="rowColor">
+<tr id="i327" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteResultSet.html" title="class in org.apache.calcite.jdbc">CalciteResultSet</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>ResultSet</code>
  for the Calcite engine.</div>
 </th>
 </tr>
-<tr id="i318" class="altColor">
+<tr id="i328" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteRootSchema.html" title="class in org.apache.calcite.jdbc">CalciteRootSchema</a></td>
 <th class="colLast" scope="row">Deprecated.</th>
 </tr>
-<tr id="i319" class="rowColor">
+<tr id="i329" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema.</div>
 </th>
 </tr>
-<tr id="i320" class="altColor">
+<tr id="i330" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.Entry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.Entry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Entry in a schema, such as a table or sub-schema.</div>
 </th>
 </tr>
-<tr id="i321" class="rowColor">
+<tr id="i331" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Membership of a function in a schema.</div>
 </th>
 </tr>
-<tr id="i322" class="altColor">
+<tr id="i332" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.FunctionEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntryImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/jdbc/CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.FunctionEntry</code></a>
  where all properties are held in fields.</div>
 </th>
 </tr>
-<tr id="i323" class="rowColor">
+<tr id="i333" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Membership of a lattice in a schema.</div>
 </th>
 </tr>
-<tr id="i324" class="altColor">
+<tr id="i334" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.LatticeEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntryImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/jdbc/CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.LatticeEntry</code></a>
  where all properties are held in fields.</div>
 </th>
 </tr>
-<tr id="i325" class="rowColor">
+<tr id="i335" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Membership of a table in a schema.</div>
 </th>
 </tr>
-<tr id="i326" class="altColor">
+<tr id="i336" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.TableEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntryImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/jdbc/CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.TableEntry</code></a>
  where all properties are held in fields.</div>
 </th>
 </tr>
-<tr id="i327" class="rowColor">
+<tr id="i337" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Membership of a type in a schema.</div>
 </th>
 </tr>
-<tr id="i328" class="altColor">
+<tr id="i338" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteSchema.TypeEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntryImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/jdbc/CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.TypeEntry</code></a>
  where all properties are held in fields.</div>
 </th>
 </tr>
-<tr id="i329" class="rowColor">
+<tr id="i339" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/server/CalciteServer.html" title="interface in org.apache.calcite.server">CalciteServer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Server.</div>
 </th>
 </tr>
-<tr id="i330" class="altColor">
+<tr id="i340" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/server/CalciteServerStatement.html" title="interface in org.apache.calcite.server">CalciteServerStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Statement within a Calcite server.</div>
 </th>
 </tr>
-<tr id="i331" class="rowColor">
+<tr id="i341" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/CalciteSqlDialect.html" title="class in org.apache.calcite.sql.dialect">CalciteSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation that produces SQL that can be parsed
  by Apache Calcite.</div>
 </th>
 </tr>
-<tr id="i332" class="altColor">
+<tr id="i342" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/prepare/CalciteSqlValidator.html" title="class in org.apache.calcite.prepare">CalciteSqlValidator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Validator.</div>
 </th>
 </tr>
-<tr id="i333" class="rowColor">
+<tr id="i343" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/CalciteStatement.html" title="class in org.apache.calcite.jdbc">CalciteStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>Statement</code>
  for the Calcite engine.</div>
 </th>
 </tr>
-<tr id="i334" class="altColor">
+<tr id="i344" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/config/CalciteSystemProperty.html" title="class in org.apache.calcite.config">CalciteSystemProperty</a>&lt;<a href="org/apache/calcite/config/CalciteSystemProperty.html" title="type parameter in CalciteSystemProperty">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A Calcite specific system property that is used to configure various aspects of the framework.</div>
 </th>
 </tr>
-<tr id="i335" class="rowColor">
+<tr id="i345" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/trace/CalciteTimingTracer.html" title="class in org.apache.calcite.util.trace">CalciteTimingTracer</a></td>
 <th class="colLast" scope="row">
 <div class="block">CalciteTimingTracer provides a mechanism for tracing the timing of a call
  sequence at nanosecond resolution.</div>
 </th>
 </tr>
-<tr id="i336" class="altColor">
+<tr id="i346" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/trace/CalciteTrace.html" title="class in org.apache.calcite.util.trace">CalciteTrace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Contains all of the <code>tracers</code> used within
  org.apache.calcite class libraries.</div>
 </th>
 </tr>
-<tr id="i337" class="rowColor">
+<tr id="i347" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CalciteValidatorException.html" title="interface in org.apache.calcite.util">CalciteValidatorException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Tagging interface to allow a
@@ -2308,7 +2371,7 @@
  adding a dependency on it from client-side code.</div>
 </th>
 </tr>
-<tr id="i338" class="altColor">
+<tr id="i348" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcMergeRule.html" title="class in org.apache.calcite.rel.rules">CalcMergeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that merges a
@@ -2316,7 +2379,7 @@
  <a href="org/apache/calcite/rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i339" class="rowColor">
+<tr id="i349" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter</a></td>
 <th class="colLast" scope="row">
 <div class="block">CalcRelSplitter operates on a
@@ -2325,53 +2388,53 @@
  <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
 </th>
 </tr>
-<tr id="i340" class="altColor">
+<tr id="i350" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.CannotImplement.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.CannotImplement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Control exception for <a href="org/apache/calcite/rel/rules/CalcRelSplitter.ImplementTester.html" title="class in org.apache.calcite.rel.rules"><code>CalcRelSplitter.ImplementTester</code></a>.</div>
 </th>
 </tr>
-<tr id="i341" class="rowColor">
+<tr id="i351" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.HighestUsageFinder.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.HighestUsageFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builds an array of the highest level which contains an expression which
  uses each expression as an input.</div>
 </th>
 </tr>
-<tr id="i342" class="altColor">
+<tr id="i352" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.ImplementTester.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.ImplementTester</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor which returns whether an expression can be implemented in a given
  type of relational expression.</div>
 </th>
 </tr>
-<tr id="i343" class="rowColor">
+<tr id="i353" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.InputToCommonExprConverter.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.InputToCommonExprConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Shuttle which converts every reference to an input field in an expression
  to a reference to a common sub-expression.</div>
 </th>
 </tr>
-<tr id="i344" class="altColor">
+<tr id="i354" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.MaxInputFinder.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.MaxInputFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Finds the highest level used by any of the inputs of a given expression.</div>
 </th>
 </tr>
-<tr id="i345" class="rowColor">
+<tr id="i355" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRelSplitter.RelType.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.RelType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type of relational expression.</div>
 </th>
 </tr>
-<tr id="i346" class="altColor">
+<tr id="i356" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcRemoveRule.html" title="class in org.apache.calcite.rel.rules">CalcRemoveRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that removes a trivial
  <a href="org/apache/calcite/rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i347" class="rowColor">
+<tr id="i357" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CalcSplitRule.html" title="class in org.apache.calcite.rel.rules">CalcSplitRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a <a href="org/apache/calcite/rel/core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>
@@ -2379,96 +2442,96 @@
  and <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>.</div>
 </th>
 </tr>
-<tr id="i348" class="altColor">
+<tr id="i358" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/CallImplementor.html" title="interface in org.apache.calcite.adapter.enumerable">CallImplementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implements a call via given translator.</div>
 </th>
 </tr>
-<tr id="i349" class="rowColor">
+<tr id="i359" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/CallSiteBinder.html" title="interface in org.apache.calcite.linq4j.tree">CallSiteBinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Creates a <a href="org/apache/calcite/linq4j/tree/DynamicExpression.html" title="class in org.apache.calcite.linq4j.tree"><code>DynamicExpression</code></a> that represents a dynamic operation bound
  by the provided <code>CallSiteBinder</code>.</div>
 </th>
 </tr>
-<tr id="i350" class="altColor">
+<tr id="i360" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CancelFlag.html" title="class in org.apache.calcite.util">CancelFlag</a></td>
 <th class="colLast" scope="row">
 <div class="block">CancelFlag is used to post and check cancellation requests.</div>
 </th>
 </tr>
-<tr id="i351" class="rowColor">
+<tr id="i361" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/CartesianProductEnumerator.html" title="class in org.apache.calcite.linq4j">CartesianProductEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/CartesianProductEnumerator.html" title="type parameter in CartesianProductEnumerator">T</a>,&#8203;<a href="org/apache/calcite/linq4j/CartesianProductEnumerator.html" title="type parameter in CartesianProductEnumerator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator over the cartesian product of enumerators.</div>
 </th>
 </tr>
-<tr id="i352" class="altColor">
+<tr id="i362" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CaseInsensitiveComparator.html" title="class in org.apache.calcite.util">CaseInsensitiveComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Comparator that compares all strings differently, but if two strings are
  equal in case-insensitive match they are right next to each other.</div>
 </th>
 </tr>
-<tr id="i353" class="rowColor">
+<tr id="i363" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CaseInsensitiveComparator.Key.html" title="class in org.apache.calcite.util">CaseInsensitiveComparator.Key</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enables to create floor and ceiling keys for given string.</div>
 </th>
 </tr>
-<tr id="i354" class="altColor">
+<tr id="i364" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraEnumerator.html" title="class in org.apache.calcite.adapter.cassandra">CassandraEnumerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator that reads from a Cassandra column family.</div>
 </th>
 </tr>
-<tr id="i355" class="rowColor">
+<tr id="i365" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
  relational expression in Cassandra.</div>
 </th>
 </tr>
-<tr id="i356" class="altColor">
+<tr id="i366" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraFilter.Translator.html" title="class in org.apache.calcite.adapter.cassandra">CassandraFilter.Translator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translates <a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> expressions into Cassandra expression strings.</div>
 </th>
 </tr>
-<tr id="i357" class="rowColor">
+<tr id="i367" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraLimit.html" title="class in org.apache.calcite.adapter.cassandra">CassandraLimit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of limits in Cassandra.</div>
 </th>
 </tr>
-<tr id="i358" class="altColor">
+<tr id="i368" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraMethod.html" title="enum in org.apache.calcite.adapter.cassandra">CassandraMethod</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builtin methods in the Cassandra adapter.</div>
 </th>
 </tr>
-<tr id="i359" class="rowColor">
+<tr id="i369" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraProject.html" title="class in org.apache.calcite.adapter.cassandra">CassandraProject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
  relational expression in Cassandra.</div>
 </th>
 </tr>
-<tr id="i360" class="altColor">
+<tr id="i370" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRel.html" title="interface in org.apache.calcite.adapter.cassandra">CassandraRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that uses Cassandra calling convention.</div>
 </th>
 </tr>
-<tr id="i361" class="rowColor">
+<tr id="i371" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRel.Implementor.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRel.Implementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Callback for the implementation process that converts a tree of
  <a href="org/apache/calcite/adapter/cassandra/CassandraRel.html" title="interface in org.apache.calcite.adapter.cassandra"><code>CassandraRel</code></a> nodes into a CQL query.</div>
 </th>
 </tr>
-<tr id="i362" class="altColor">
+<tr id="i372" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rules and relational operators for
@@ -2476,125 +2539,125 @@
  calling convention.</div>
 </th>
 </tr>
-<tr id="i363" class="rowColor">
+<tr id="i373" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.CassandraConverterRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for planner rules that convert a relational expression to
  Cassandra calling convention.</div>
 </th>
 </tr>
-<tr id="i364" class="altColor">
+<tr id="i374" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.CassandraFilterRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a
  <a href="org/apache/calcite/adapter/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraFilter</code></a>.</div>
 </th>
 </tr>
-<tr id="i365" class="rowColor">
+<tr id="i375" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.CassandraLimitRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraLimitRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableLimit</code></a> to a
  <a href="org/apache/calcite/adapter/cassandra/CassandraLimit.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraLimit</code></a>.</div>
 </th>
 </tr>
-<tr id="i366" class="altColor">
+<tr id="i376" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.CassandraProjectRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
  to a <a href="org/apache/calcite/adapter/cassandra/CassandraProject.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraProject</code></a>.</div>
 </th>
 </tr>
-<tr id="i367" class="rowColor">
+<tr id="i377" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.CassandraSortRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraSortRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
  <a href="org/apache/calcite/adapter/cassandra/CassandraSort.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraSort</code></a>.</div>
 </th>
 </tr>
-<tr id="i368" class="altColor">
+<tr id="i378" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraRules.RexToCassandraTranslator.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.RexToCassandraTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translator from <a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> to strings in Cassandra's expression
  language.</div>
 </th>
 </tr>
-<tr id="i369" class="rowColor">
+<tr id="i379" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraSchema.html" title="class in org.apache.calcite.adapter.cassandra">CassandraSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema mapped onto a Cassandra column family</div>
 </th>
 </tr>
-<tr id="i370" class="altColor">
+<tr id="i380" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraSchemaFactory.html" title="class in org.apache.calcite.adapter.cassandra">CassandraSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates a <a href="org/apache/calcite/adapter/cassandra/CassandraSchema.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraSchema</code></a></div>
 </th>
 </tr>
-<tr id="i371" class="rowColor">
+<tr id="i381" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraSort.html" title="class in org.apache.calcite.adapter.cassandra">CassandraSort</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
  relational expression in Cassandra.</div>
 </th>
 </tr>
-<tr id="i372" class="altColor">
+<tr id="i382" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraTable.html" title="class in org.apache.calcite.adapter.cassandra">CassandraTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a Cassandra column family</div>
 </th>
 </tr>
-<tr id="i373" class="rowColor">
+<tr id="i383" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraTable.CassandraQueryable.html" title="class in org.apache.calcite.adapter.cassandra">CassandraTable.CassandraQueryable</a>&lt;<a href="org/apache/calcite/adapter/cassandra/CassandraTable.CassandraQueryable.html" title="type parameter in CassandraTable.CassandraQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> based on
  a <a href="org/apache/calcite/adapter/cassandra/CassandraTable.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraTable</code></a>.</div>
 </th>
 </tr>
-<tr id="i374" class="altColor">
+<tr id="i384" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraTableScan.html" title="class in org.apache.calcite.adapter.cassandra">CassandraTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a Cassandra collection.</div>
 </th>
 </tr>
-<tr id="i375" class="rowColor">
+<tr id="i385" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraToEnumerableConverter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraToEnumerableConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a table in a Cassandra data source.</div>
 </th>
 </tr>
-<tr id="i376" class="altColor">
+<tr id="i386" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/cassandra/CassandraToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraToEnumerableConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a relational expression from
  <a href="org/apache/calcite/adapter/cassandra/CassandraRel.html#CONVENTION"><code>CassandraRel.CONVENTION</code></a> to <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
 </th>
 </tr>
-<tr id="i377" class="rowColor">
+<tr id="i387" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CastingList.html" title="class in org.apache.calcite.util">CastingList</a>&lt;<a href="org/apache/calcite/util/CastingList.html" title="type parameter in CastingList">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Converts a list whose members are automatically down-cast to a given type.</div>
 </th>
 </tr>
-<tr id="i378" class="altColor">
+<tr id="i388" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/CatalogScope.html" title="class in org.apache.calcite.sql.validate">CatalogScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorScope</code></a> that can see all schemas in the
  current catalog.</div>
 </th>
 </tr>
-<tr id="i379" class="rowColor">
+<tr id="i389" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/CatchBlock.html" title="class in org.apache.calcite.linq4j.tree">CatchBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a catch statement in a try block.</div>
 </th>
 </tr>
-<tr id="i380" class="altColor">
+<tr id="i390" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/CeilOperatorConversion.html" title="class in org.apache.calcite.adapter.druid">CeilOperatorConversion</a></td>
 <th class="colLast" scope="row">
 <div class="block">DruidSqlOperatorConverter implementation that handles Ceil operations conversions</div>
 </th>
 </tr>
-<tr id="i381" class="rowColor">
+<tr id="i391" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/volcano/ChainedPhaseRuleMappingInitializer.html" title="class in org.apache.calcite.plan.volcano">ChainedPhaseRuleMappingInitializer</a></td>
 <th class="colLast" scope="row">
 <div class="block">ChainedPhaseRuleMappingInitializer is an abstract implementation of
@@ -2603,7 +2666,7 @@
  <a href="org/apache/calcite/plan/volcano/VolcanoPlannerPhaseRuleMappingInitializer.html" title="interface in org.apache.calcite.plan.volcano"><code>VolcanoPlannerPhaseRuleMappingInitializer</code></a>.</div>
 </th>
 </tr>
-<tr id="i382" class="altColor">
+<tr id="i392" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/ChainedRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">ChainedRelMetadataProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of the <a href="org/apache/calcite/rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a>
@@ -2611,228 +2674,228 @@
  <a href="org/apache/calcite/util/Glossary.html#CHAIN_OF_RESPONSIBILITY_PATTERN"><code>Glossary.CHAIN_OF_RESPONSIBILITY_PATTERN</code></a>.</div>
 </th>
 </tr>
-<tr id="i383" class="rowColor">
+<tr id="i393" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/ChainedRelMetadataProvider.ChainedInvocationHandler.html" title="class in org.apache.calcite.rel.metadata">ChainedRelMetadataProvider.ChainedInvocationHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Invocation handler that calls a list of <a href="org/apache/calcite/rel/metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata"><code>Metadata</code></a> objects,
  returning the first non-null value.</div>
 </th>
 </tr>
-<tr id="i384" class="altColor">
+<tr id="i394" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/util/ChainedSqlOperatorTable.html" title="class in org.apache.calcite.sql.util">ChainedSqlOperatorTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">ChainedSqlOperatorTable implements the <a href="org/apache/calcite/sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql"><code>SqlOperatorTable</code></a> interface by
  chaining together any number of underlying operator table instances.</div>
 </th>
 </tr>
-<tr id="i385" class="rowColor">
+<tr id="i395" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/stream/Chi.html" title="class in org.apache.calcite.rel.stream">Chi</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational operator that converts a stream to a relation.</div>
 </th>
 </tr>
-<tr id="i386" class="altColor">
+<tr id="i396" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/ChinookAvaticaServer.html" title="class in org.apache.calcite.chinook">ChinookAvaticaServer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapping Calcite engine with Avatica tansport for testing JDBC capabilities
  between Avatica JDBC transport and Calcite.</div>
 </th>
 </tr>
-<tr id="i387" class="rowColor">
+<tr id="i397" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/ChinookAvaticaServer.CalciteChinookMetaFactory.html" title="class in org.apache.calcite.chinook">ChinookAvaticaServer.CalciteChinookMetaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory for Chinook Calcite database wrapped in meta for Avatica.</div>
 </th>
 </tr>
-<tr id="i388" class="altColor">
+<tr id="i398" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/ChinookAvaticaServer.RawChinookMetaFactory.html" title="class in org.apache.calcite.chinook">ChinookAvaticaServer.RawChinookMetaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory for Chinook Calcite database wrapped in meta for Avatica.</div>
 </th>
 </tr>
-<tr id="i389" class="rowColor">
+<tr id="i399" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/ChosenCustomerEmail.html" title="class in org.apache.calcite.chinook">ChosenCustomerEmail</a></td>
 <th class="colLast" scope="row">
 <div class="block">Example UDF for where clause to check pushing to JDBC</div>
 </th>
 </tr>
-<tr id="i390" class="altColor">
+<tr id="i400" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ChunkList.html" title="class in org.apache.calcite.util">ChunkList</a>&lt;<a href="org/apache/calcite/util/ChunkList.html" title="type parameter in ChunkList">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of list similar to <code>LinkedList</code>, but stores elements
  in chunks of 32 elements.</div>
 </th>
 </tr>
-<tr id="i391" class="rowColor">
+<tr id="i401" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ClassDeclaration.html" title="class in org.apache.calcite.linq4j.tree">ClassDeclaration</a></td>
 <th class="colLast" scope="row">
 <div class="block">Declaration of a class.</div>
 </th>
 </tr>
-<tr id="i392" class="altColor">
+<tr id="i402" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ClassDeclarationFinder.html" title="class in org.apache.calcite.linq4j.tree">ClassDeclarationFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Entry point for optimizers that factor ou deterministic expressions to
  final static fields.</div>
 </th>
 </tr>
-<tr id="i393" class="rowColor">
+<tr id="i403" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/CloneSchema.html" title="class in org.apache.calcite.adapter.clone">CloneSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema that contains in-memory copies of tables from a JDBC schema.</div>
 </th>
 </tr>
-<tr id="i394" class="altColor">
+<tr id="i404" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/CloneSchema.Factory.html" title="class in org.apache.calcite.adapter.clone">CloneSchema.Factory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema factory that creates a
  <a href="org/apache/calcite/adapter/clone/CloneSchema.html" title="class in org.apache.calcite.adapter.clone"><code>CloneSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i395" class="rowColor">
+<tr id="i405" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Closer.html" title="class in org.apache.calcite.util">Closer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper that holds onto <code>AutoCloseable</code> resources and releases them
  when its <code>#close</code> method is called.</div>
 </th>
 </tr>
-<tr id="i396" class="altColor">
+<tr id="i406" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/CodeGenerationBenchmark.html" title="class in org.apache.calcite.adapter.enumerable">CodeGenerationBenchmark</a></td>
 <th class="colLast" scope="row">
 <div class="block">A benchmark of the main methods that are dynamically generating and compiling
  Java code at runtime.</div>
 </th>
 </tr>
-<tr id="i397" class="rowColor">
+<tr id="i407" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_CacheState_jmhType.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_CacheState_jmhType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i398" class="altColor">
+<tr id="i408" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_CacheState_jmhType_B1.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_CacheState_jmhType_B1</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i399" class="rowColor">
+<tr id="i409" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_CacheState_jmhType_B2.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_CacheState_jmhType_B2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i400" class="altColor">
+<tr id="i410" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_CacheState_jmhType_B3.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_CacheState_jmhType_B3</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i401" class="rowColor">
+<tr id="i411" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_getBindableNoCache_jmhTest.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_getBindableNoCache_jmhTest</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i402" class="altColor">
+<tr id="i412" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_getBindableWithCache_jmhTest.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_getBindableWithCache_jmhTest</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i403" class="rowColor">
+<tr id="i413" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_jmhType.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_jmhType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i404" class="altColor">
+<tr id="i414" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_jmhType_B1.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_jmhType_B1</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i405" class="rowColor">
+<tr id="i415" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_jmhType_B2.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_jmhType_B2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i406" class="altColor">
+<tr id="i416" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_jmhType_B3.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_jmhType_B3</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i407" class="rowColor">
+<tr id="i417" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_QueryState_jmhType.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_QueryState_jmhType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i408" class="altColor">
+<tr id="i418" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_QueryState_jmhType_B1.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_QueryState_jmhType_B1</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i409" class="rowColor">
+<tr id="i419" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_QueryState_jmhType_B2.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_QueryState_jmhType_B2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i410" class="altColor">
+<tr id="i420" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/generated/CodeGenerationBenchmark_QueryState_jmhType_B3.html" title="class in org.apache.calcite.adapter.enumerable.generated">CodeGenerationBenchmark_QueryState_jmhType_B3</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i411" class="rowColor">
+<tr id="i421" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/CodeGenerationBenchmark.CacheState.html" title="class in org.apache.calcite.adapter.enumerable">CodeGenerationBenchmark.CacheState</a></td>
 <th class="colLast" scope="row">
 <div class="block">State holding a cache that is initialized
  once at the beginning of each iteration.</div>
 </th>
 </tr>
-<tr id="i412" class="altColor">
+<tr id="i422" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/CodeGenerationBenchmark.PlanInfo.html" title="class in org.apache.calcite.adapter.enumerable">CodeGenerationBenchmark.PlanInfo</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i413" class="rowColor">
+<tr id="i423" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/CodeGenerationBenchmark.QueryState.html" title="class in org.apache.calcite.adapter.enumerable">CodeGenerationBenchmark.QueryState</a></td>
 <th class="colLast" scope="row">
 <div class="block">State holding the generated queries/plans and additional information
  exploited by the embedded compiler in order to dynamically build a Java class.</div>
 </th>
 </tr>
-<tr id="i414" class="altColor">
+<tr id="i424" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/CodesFunction.html" title="class in org.apache.calcite.chinook">CodesFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Example Table Function for lateral join checks</div>
 </th>
 </tr>
-<tr id="i415" class="rowColor">
+<tr id="i425" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/CoerceInputsRule.html" title="class in org.apache.calcite.rel.rules">CoerceInputsRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">CoerceInputsRule pre-casts inputs to a particular type.</div>
 </th>
 </tr>
-<tr id="i416" class="altColor">
+<tr id="i426" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Collect.html" title="class in org.apache.calcite.rel.core">Collect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A relational expression that collapses multiple rows into one.</div>
 </th>
 </tr>
-<tr id="i417" class="rowColor">
+<tr id="i427" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/CollectNamespace.html" title="class in org.apache.calcite.sql.validate">CollectNamespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Namespace for COLLECT and TABLE constructs.</div>
 </th>
 </tr>
-<tr id="i418" class="altColor">
+<tr id="i428" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/CollectScope.html" title="class in org.apache.calcite.sql.validate">CollectScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">The name-resolution context for expression inside a multiset call.</div>
 </th>
 </tr>
-<tr id="i419" class="rowColor">
+<tr id="i429" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ColumnLoader.html" title="class in org.apache.calcite.adapter.clone">ColumnLoader</a>&lt;<a href="org/apache/calcite/adapter/clone/ColumnLoader.html" title="type parameter in ColumnLoader">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Column loader.</div>
 </th>
 </tr>
-<tr id="i420" class="altColor">
+<tr id="i430" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ColumnLoader.Kev.html" title="class in org.apache.calcite.adapter.clone">ColumnLoader.Kev</a></td>
 <th class="colLast" scope="row">
 <div class="block">Key-value pair.</div>
 </th>
 </tr>
-<tr id="i421" class="rowColor">
+<tr id="i431" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/clone/ColumnLoader.ValueSet.html" title="class in org.apache.calcite.adapter.clone">ColumnLoader.ValueSet</a></td>
 <th class="colLast" scope="row">
 <div class="block">Set of values of a column, created during the load process, and converted
  to a serializable (and more compact) form before load completes.</div>
 </th>
 </tr>
-<tr id="i422" class="altColor">
+<tr id="i432" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/ColumnStrategy.html" title="enum in org.apache.calcite.schema">ColumnStrategy</a></td>
 <th class="colLast" scope="row">
 <div class="block">Describes how a column gets populated.</div>
 </th>
 </tr>
-<tr id="i423" class="rowColor">
+<tr id="i433" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/CommonRelSubExprRule.html" title="class in org.apache.calcite.plan">CommonRelSubExprRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>CommonRelSubExprRule</code> is an abstract base class for rules
@@ -2840,52 +2903,52 @@
  in a query tree.</div>
 </th>
 </tr>
-<tr id="i424" class="altColor">
+<tr id="i434" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/ComparableOperandTypeChecker.html" title="class in org.apache.calcite.sql.type">ComparableOperandTypeChecker</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type checking strategy which verifies that types have the required attributes
  to be used as arguments to comparison operators.</div>
 </th>
 </tr>
-<tr id="i425" class="rowColor">
+<tr id="i435" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Compiler.html" title="interface in org.apache.calcite.interpreter">Compiler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context while converting a tree of <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> to a program
  that can be run by an <a href="org/apache/calcite/interpreter/Interpreter.html" title="class in org.apache.calcite.interpreter"><code>Interpreter</code></a>.</div>
 </th>
 </tr>
-<tr id="i426" class="altColor">
+<tr id="i436" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/ComplexMetric.html" title="class in org.apache.calcite.adapter.druid">ComplexMetric</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used to store information about available complex metrics in the Druid Adapter</div>
 </th>
 </tr>
-<tr id="i427" class="rowColor">
+<tr id="i437" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CompositeList.html" title="class in org.apache.calcite.util">CompositeList</a>&lt;<a href="org/apache/calcite/util/CompositeList.html" title="type parameter in CompositeList">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Read-only list that is the concatenation of sub-lists.</div>
 </th>
 </tr>
-<tr id="i428" class="altColor">
+<tr id="i438" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/CompositeMap.html" title="class in org.apache.calcite.util">CompositeMap</a>&lt;<a href="org/apache/calcite/util/CompositeMap.html" title="type parameter in CompositeMap">K</a>,&#8203;<a href="org/apache/calcite/util/CompositeMap.html" title="type parameter in CompositeMap">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Unmodifiable view onto multiple backing maps.</div>
 </th>
 </tr>
-<tr id="i429" class="rowColor">
+<tr id="i439" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/CompositeOperandTypeChecker.html" title="class in org.apache.calcite.sql.type">CompositeOperandTypeChecker</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class allows multiple existing <a href="org/apache/calcite/sql/type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type"><code>SqlOperandTypeChecker</code></a> rules to be
  combined into one rule.</div>
 </th>
 </tr>
-<tr id="i430" class="altColor">
+<tr id="i440" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/CompositeOperandTypeChecker.Composition.html" title="enum in org.apache.calcite.sql.type">CompositeOperandTypeChecker.Composition</a></td>
 <th class="colLast" scope="row">
 <div class="block">How operands are composed.</div>
 </th>
 </tr>
-<tr id="i431" class="rowColor">
+<tr id="i441" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/CompositeSingleOperandTypeChecker.html" title="class in org.apache.calcite.sql.type">CompositeSingleOperandTypeChecker</a></td>
 <th class="colLast" scope="row">
 <div class="block">Allows multiple
@@ -2893,43 +2956,43 @@
  combined into one rule.</div>
 </th>
 </tr>
-<tr id="i432" class="altColor">
+<tr id="i442" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ConditionalExpression.html" title="class in org.apache.calcite.linq4j.tree">ConditionalExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an expression that has a conditional operator.</div>
 </th>
 </tr>
-<tr id="i433" class="rowColor">
+<tr id="i443" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ConditionalStatement.html" title="class in org.apache.calcite.linq4j.tree">ConditionalStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an expression that has a conditional operator.</div>
 </th>
 </tr>
-<tr id="i434" class="altColor">
+<tr id="i444" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/ConnectionFactory.html" title="class in org.apache.calcite.chinook">ConnectionFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapping connection factory for quidem</div>
 </th>
 </tr>
-<tr id="i435" class="rowColor">
+<tr id="i445" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/ConnectionFactory.DatabaseWrapper.html" title="enum in org.apache.calcite.chinook">ConnectionFactory.DatabaseWrapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapping with Fairy environmental decoration</div>
 </th>
 </tr>
-<tr id="i436" class="altColor">
+<tr id="i446" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/ConsList.html" title="class in org.apache.calcite.runtime">ConsList</a>&lt;<a href="org/apache/calcite/runtime/ConsList.html" title="type parameter in ConsList">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that consists of a head element and an immutable non-empty list.</div>
 </th>
 </tr>
-<tr id="i437" class="rowColor">
+<tr id="i447" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ConstantExpression.html" title="class in org.apache.calcite.linq4j.tree">ConstantExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an expression that has a constant value.</div>
 </th>
 </tr>
-<tr id="i438" class="altColor">
+<tr id="i448" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ConstantUntypedNull.html" title="class in org.apache.calcite.linq4j.tree">ConstantUntypedNull</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a constant null of unknown type
@@ -2937,87 +3000,94 @@
  replaced to (Object)null and vise versa.</div>
 </th>
 </tr>
-<tr id="i439" class="rowColor">
+<tr id="i449" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ConstructorDeclaration.html" title="class in org.apache.calcite.linq4j.tree">ConstructorDeclaration</a></td>
 <th class="colLast" scope="row">
 <div class="block">Declaration of a constructor.</div>
 </th>
 </tr>
-<tr id="i440" class="altColor">
+<tr id="i450" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Context.html" title="class in org.apache.calcite.interpreter">Context</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context for executing a scalar expression in an interpreter.</div>
 </th>
 </tr>
-<tr id="i441" class="rowColor">
+<tr id="i451" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Context.html" title="interface in org.apache.calcite.plan">Context</a></td>
 <th class="colLast" scope="row">
 <div class="block">Provides library users a way to store data within the planner session and
  access it within rules.</div>
 </th>
 </tr>
-<tr id="i442" class="altColor">
+<tr id="i452" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Contexts.html" title="class in org.apache.calcite.plan">Contexts</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for <a href="org/apache/calcite/plan/Context.html" title="interface in org.apache.calcite.plan"><code>Context</code></a>.</div>
 </th>
 </tr>
-<tr id="i443" class="rowColor">
+<tr id="i453" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Contexts.ChainContext.html" title="class in org.apache.calcite.plan">Contexts.ChainContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context that wraps a chain of contexts.</div>
 </th>
 </tr>
-<tr id="i444" class="altColor">
+<tr id="i454" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Contexts.EmptyContext.html" title="class in org.apache.calcite.plan">Contexts.EmptyContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Empty context.</div>
 </th>
 </tr>
-<tr id="i445" class="rowColor">
+<tr id="i455" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Contexts.WrapContext.html" title="class in org.apache.calcite.plan">Contexts.WrapContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context that wraps an object.</div>
 </th>
 </tr>
-<tr id="i446" class="altColor">
+<tr id="i456" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/jdbc/ContextSqlValidator.html" title="class in org.apache.calcite.jdbc">ContextSqlValidator</a></td>
+<th class="colLast" scope="row">
+<div class="block">A SqlValidator with schema and type factory of the given
+ <a href="org/apache/calcite/jdbc/CalcitePrepare.Context.html" title="interface in org.apache.calcite.jdbc"><code>CalcitePrepare.Context</code></a>.</div>
+</th>
+</tr>
+<tr id="i457" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ControlFlowException.html" title="class in org.apache.calcite.util">ControlFlowException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception intended to be used for control flow, as opposed to the usual
  use of exceptions which is to signal an error condition.</div>
 </th>
 </tr>
-<tr id="i447" class="rowColor">
+<tr id="i458" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a></td>
 <th class="colLast" scope="row">
 <div class="block">Calling convention trait.</div>
 </th>
 </tr>
-<tr id="i448" class="altColor">
+<tr id="i459" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/Convention.Impl.html" title="class in org.apache.calcite.plan">Convention.Impl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Default implementation.</div>
 </th>
 </tr>
-<tr id="i449" class="rowColor">
+<tr id="i460" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/ConventionTraitDef.html" title="class in org.apache.calcite.plan">ConventionTraitDef</a></td>
 <th class="colLast" scope="row">
 <div class="block">Definition of the the convention trait.</div>
 </th>
 </tr>
-<tr id="i450" class="altColor">
+<tr id="i461" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/ConventionTraitDef.ConversionData.html" title="class in org.apache.calcite.plan">ConventionTraitDef.ConversionData</a></td>
 <th class="colLast" scope="row">
 <div class="block">Workspace for converting from one convention to another.</div>
 </th>
 </tr>
-<tr id="i451" class="rowColor">
+<tr id="i462" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ConversionUtil.html" title="class in org.apache.calcite.util">ConversionUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility functions for converting from one type to another</div>
 </th>
 </tr>
-<tr id="i452" class="altColor">
+<tr id="i463" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/convert/Converter.html" title="interface in org.apache.calcite.rel.convert">Converter</a></td>
 <th class="colLast" scope="row">
 <div class="block">A relational expression implements the interface <code>Converter</code> to
@@ -3026,213 +3096,207 @@
  from one value to another.</div>
 </th>
 </tr>
-<tr id="i453" class="rowColor">
+<tr id="i464" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/convert/ConverterImpl.html" title="class in org.apache.calcite.rel.convert">ConverterImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract implementation of <a href="org/apache/calcite/rel/convert/Converter.html" title="interface in org.apache.calcite.rel.convert"><code>Converter</code></a>.</div>
 </th>
 </tr>
-<tr id="i454" class="altColor">
+<tr id="i465" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/convert/ConverterRule.html" title="class in org.apache.calcite.rel.convert">ConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for a rule which converts from one calling convention to
  another without changing semantics.</div>
 </th>
 </tr>
-<tr id="i455" class="rowColor">
+<tr id="i466" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a></td>
 <th class="colLast" scope="row">
 <div class="block">A relational operator that performs nested-loop joins.</div>
 </th>
 </tr>
-<tr id="i456" class="altColor">
-<td class="colFirst"><a href="org/apache/calcite/linq4j/CorrelateJoinType.html" title="enum in org.apache.calcite.linq4j">CorrelateJoinType</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">Use <a href="org/apache/calcite/linq4j/JoinType.html" title="enum in org.apache.calcite.linq4j"><code>JoinType</code></a></div>
-</th>
-</tr>
-<tr id="i457" class="rowColor">
+<tr id="i467" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a></td>
 <th class="colLast" scope="row">
 <div class="block">Describes the necessary parameters for an implementation in order to
  identify and set dynamic variables</div>
 </th>
 </tr>
-<tr id="i458" class="altColor">
+<tr id="i468" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/CorrelationReferenceFinder.html" title="class in org.apache.calcite.sql2rel">CorrelationReferenceFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Shuttle that finds references to a given <a href="org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> within a tree
  of <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div>
 </th>
 </tr>
-<tr id="i459" class="rowColor">
+<tr id="i469" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/CorrelationReferenceFinder.MyRexVisitor.html" title="class in org.apache.calcite.sql2rel">CorrelationReferenceFinder.MyRexVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Replaces alternative names of correlation variable to its canonical name.</div>
 </th>
 </tr>
-<tr id="i460" class="altColor">
+<tr id="i470" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvEnumerator.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator</a>&lt;<a href="org/apache/calcite/adapter/csv/CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator that reads from a CSV file.</div>
 </th>
 </tr>
-<tr id="i461" class="rowColor">
+<tr id="i471" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvEnumerator.ArrayRowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.ArrayRowConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Array row converter.</div>
 </th>
 </tr>
-<tr id="i462" class="altColor">
+<tr id="i472" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;<a href="org/apache/calcite/adapter/csv/CsvEnumerator.RowConverter.html" title="type parameter in CsvEnumerator.RowConverter">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Row converter.</div>
 </th>
 </tr>
-<tr id="i463" class="rowColor">
+<tr id="i473" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvEnumerator.SingleColumnRowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.SingleColumnRowConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single column row converter.</div>
 </th>
 </tr>
-<tr id="i464" class="altColor">
+<tr id="i474" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type of a field in a CSV file.</div>
 </th>
 </tr>
-<tr id="i465" class="rowColor">
+<tr id="i475" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvFilterableTable.html" title="class in org.apache.calcite.adapter.csv">CsvFilterableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a CSV file that can implement simple filtering.</div>
 </th>
 </tr>
-<tr id="i466" class="altColor">
+<tr id="i476" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvProjectTableScanRule.html" title="class in org.apache.calcite.adapter.csv">CsvProjectTableScanRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that projects from a <a href="org/apache/calcite/adapter/csv/CsvTableScan.html" title="class in org.apache.calcite.adapter.csv"><code>CsvTableScan</code></a> scan just the columns
  needed to satisfy a projection.</div>
 </th>
 </tr>
-<tr id="i467" class="rowColor">
+<tr id="i477" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvScannableTable.html" title="class in org.apache.calcite.adapter.csv">CsvScannableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a CSV file.</div>
 </th>
 </tr>
-<tr id="i468" class="altColor">
+<tr id="i478" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvSchema.html" title="class in org.apache.calcite.adapter.csv">CsvSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema mapped onto a directory of CSV files.</div>
 </th>
 </tr>
-<tr id="i469" class="rowColor">
+<tr id="i479" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvSchemaFactory.html" title="class in org.apache.calcite.adapter.csv">CsvSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates a <a href="org/apache/calcite/adapter/csv/CsvSchema.html" title="class in org.apache.calcite.adapter.csv"><code>CsvSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i470" class="altColor">
+<tr id="i480" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvStreamReader.html" title="class in org.apache.calcite.adapter.csv">CsvStreamReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Extension to <code>CSVReader</code> that can read newly appended file content.</div>
 </th>
 </tr>
-<tr id="i471" class="rowColor">
+<tr id="i481" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvStreamReader.CsvContentListener.html" title="class in org.apache.calcite.adapter.csv">CsvStreamReader.CsvContentListener</a></td>
 <th class="colLast" scope="row">
 <div class="block">Watches for content being appended to a CSV file.</div>
 </th>
 </tr>
-<tr id="i472" class="altColor">
+<tr id="i482" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvStreamScannableTable.html" title="class in org.apache.calcite.adapter.csv">CsvStreamScannableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a CSV file.</div>
 </th>
 </tr>
-<tr id="i473" class="rowColor">
+<tr id="i483" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvStreamTableFactory.html" title="class in org.apache.calcite.adapter.csv">CsvStreamTableFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates a <a href="org/apache/calcite/adapter/csv/CsvTranslatableTable.html" title="class in org.apache.calcite.adapter.csv"><code>CsvTranslatableTable</code></a>.</div>
 </th>
 </tr>
-<tr id="i474" class="altColor">
+<tr id="i484" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvTable.html" title="class in org.apache.calcite.adapter.csv">CsvTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for table that reads CSV files.</div>
 </th>
 </tr>
-<tr id="i475" class="rowColor">
+<tr id="i485" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvTable.Flavor.html" title="enum in org.apache.calcite.adapter.csv">CsvTable.Flavor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Various degrees of table "intelligence".</div>
 </th>
 </tr>
-<tr id="i476" class="altColor">
+<tr id="i486" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvTableFactory.html" title="class in org.apache.calcite.adapter.csv">CsvTableFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates a <a href="org/apache/calcite/adapter/csv/CsvTranslatableTable.html" title="class in org.apache.calcite.adapter.csv"><code>CsvTranslatableTable</code></a>.</div>
 </th>
 </tr>
-<tr id="i477" class="rowColor">
+<tr id="i487" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvTableScan.html" title="class in org.apache.calcite.adapter.csv">CsvTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a CSV file.</div>
 </th>
 </tr>
-<tr id="i478" class="altColor">
+<tr id="i488" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/CsvTranslatableTable.html" title="class in org.apache.calcite.adapter.csv">CsvTranslatableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a CSV file.</div>
 </th>
 </tr>
-<tr id="i479" class="rowColor">
+<tr id="i489" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/CursorReturnTypeInference.html" title="class in org.apache.calcite.sql.type">CursorReturnTypeInference</a></td>
 <th class="colLast" scope="row">
 <div class="block">Returns the rowtype of a cursor of the operand at a particular 0-based
  ordinal position.</div>
 </th>
 </tr>
-<tr id="i480" class="altColor">
+<tr id="i490" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/CustomColumnResolvingTable.html" title="interface in org.apache.calcite.schema">CustomColumnResolvingTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Extension to <a href="org/apache/calcite/schema/Table.html" title="interface in org.apache.calcite.schema"><code>Table</code></a> that specifies a custom way to resolve column
  names.</div>
 </th>
 </tr>
-<tr id="i481" class="rowColor">
+<tr id="i491" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/CycleDetector.html" title="class in org.apache.calcite.util.graph">CycleDetector</a>&lt;<a href="org/apache/calcite/util/graph/CycleDetector.html" title="type parameter in CycleDetector">V</a>,&#8203;<a href="org/apache/calcite/util/graph/CycleDetector.html" title="type parameter in CycleDetector">E</a> extends <a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Detects cycles in directed graphs.</div>
 </th>
 </tr>
-<tr id="i482" class="altColor">
+<tr id="i492" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/CyclicDefinitionException.html" title="class in org.apache.calcite.sql.validate">CyclicDefinitionException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Thrown when an object, such as a view, is found to have a cylic
  definition.</div>
 </th>
 </tr>
-<tr id="i483" class="rowColor">
+<tr id="i493" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/CyclicMetadataException.html" title="class in org.apache.calcite.rel.metadata">CyclicMetadataException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception that indicates that a cycle has been detected while
  computing metadata.</div>
 </th>
 </tr>
-<tr id="i484" class="altColor">
+<tr id="i494" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/DataContext.html" title="interface in org.apache.calcite">DataContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Runtime context allowing access to the tables in a database.</div>
 </th>
 </tr>
-<tr id="i485" class="rowColor">
+<tr id="i495" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/DataContext.Variable.html" title="enum in org.apache.calcite">DataContext.Variable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Variable that may be asked for in a call to <a href="org/apache/calcite/DataContext.html#get(java.lang.String)"><code>DataContext.get(java.lang.String)</code></a>.</div>
 </th>
 </tr>
-<tr id="i486" class="altColor">
+<tr id="i496" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/DateRangeRules.html" title="class in org.apache.calcite.rel.rules">DateRangeRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collection of planner rules that convert
@@ -3242,89 +3306,89 @@
  <code>dateTime BETWEEN lower AND upper</code>.</div>
 </th>
 </tr>
-<tr id="i487" class="rowColor">
+<tr id="i497" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/DateRangeRules.ExtractFinder.html" title="class in org.apache.calcite.rel.rules">DateRangeRules.ExtractFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor that searches for calls to <code>EXTRACT</code>, <code>FLOOR</code> or
  <code>CEIL</code>, building a list of distinct time units.</div>
 </th>
 </tr>
-<tr id="i488" class="altColor">
+<tr id="i498" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/DateRangeRules.ExtractShuttle.html" title="class in org.apache.calcite.rel.rules">DateRangeRules.ExtractShuttle</a></td>
 <th class="colLast" scope="row">
 <div class="block">Walks over an expression, replacing calls to
  <code>EXTRACT</code>, <code>FLOOR</code> and <code>CEIL</code> with date ranges.</div>
 </th>
 </tr>
-<tr id="i489" class="rowColor">
+<tr id="i499" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/DateRangeRules.FilterDateRangeRule.html" title="class in org.apache.calcite.rel.rules">DateRangeRules.FilterDateRangeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts EXTRACT, FLOOR and CEIL in a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a date
  range.</div>
 </th>
 </tr>
-<tr id="i490" class="altColor">
+<tr id="i500" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/DateString.html" title="class in org.apache.calcite.util">DateString</a></td>
 <th class="colLast" scope="row">
 <div class="block">Date literal.</div>
 </th>
 </tr>
-<tr id="i491" class="rowColor">
+<tr id="i501" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/DateTimeStringUtils.html" title="class in org.apache.calcite.util">DateTimeStringUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility methods to manipulate String representation of DateTime values.</div>
 </th>
 </tr>
-<tr id="i492" class="altColor">
+<tr id="i502" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/Db2SqlDialect.html" title="class in org.apache.calcite.sql.dialect">Db2SqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the IBM DB2 database.</div>
 </th>
 </tr>
-<tr id="i493" class="rowColor">
+<tr id="i503" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/DeclarationStatement.html" title="class in org.apache.calcite.linq4j.tree">DeclarationStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Expression that declares and optionally initializes a variable.</div>
 </th>
 </tr>
-<tr id="i494" class="altColor">
+<tr id="i504" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/DeduplicateCorrelateVariables.html" title="class in org.apache.calcite.sql2rel">DeduplicateCorrelateVariables</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rewrites relations to ensure the same correlation is referenced by the same
  correlation variable.</div>
 </th>
 </tr>
-<tr id="i495" class="rowColor">
+<tr id="i505" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle.html" title="class in org.apache.calcite.sql2rel">DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle</a></td>
 <th class="colLast" scope="row">
 <div class="block">Replaces alternative names of correlation variable to its canonical name.</div>
 </th>
 </tr>
-<tr id="i496" class="altColor">
+<tr id="i506" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DefaultDimensionSpec.html" title="class in org.apache.calcite.adapter.druid">DefaultDimensionSpec</a></td>
 <th class="colLast" scope="row">
 <div class="block">Default implementation of DimensionSpec.</div>
 </th>
 </tr>
-<tr id="i497" class="rowColor">
+<tr id="i507" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/DefaultDirectedGraph.html" title="class in org.apache.calcite.util.graph">DefaultDirectedGraph</a>&lt;<a href="org/apache/calcite/util/graph/DefaultDirectedGraph.html" title="type parameter in DefaultDirectedGraph">V</a>,&#8203;<a href="org/apache/calcite/util/graph/DefaultDirectedGraph.html" title="type parameter in DefaultDirectedGraph">E</a> extends <a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Default implementation of <a href="org/apache/calcite/util/graph/DirectedGraph.html" title="interface in org.apache.calcite.util.graph"><code>DirectedGraph</code></a>.</div>
 </th>
 </tr>
-<tr id="i498" class="altColor">
+<tr id="i508" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/DefaultDirectedGraph.VertexInfo.html" title="class in org.apache.calcite.util.graph">DefaultDirectedGraph.VertexInfo</a>&lt;<a href="org/apache/calcite/util/graph/DefaultDirectedGraph.VertexInfo.html" title="type parameter in DefaultDirectedGraph.VertexInfo">V</a>,&#8203;<a href="org/apache/calcite/util/graph/DefaultDirectedGraph.VertexInfo.html" title="type parameter in DefaultDirectedGraph.VertexInfo">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Information about an edge.</div>
 </th>
 </tr>
-<tr id="i499" class="rowColor">
+<tr id="i509" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a></td>
 <th class="colLast" scope="row">
 <div class="block">Default implementation of Edge.</div>
 </th>
 </tr>
-<tr id="i500" class="altColor">
+<tr id="i510" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/DefaultEnumerable.html" title="class in org.apache.calcite.linq4j">DefaultEnumerable</a>&lt;<a href="org/apache/calcite/linq4j/DefaultEnumerable.html" title="type parameter in DefaultEnumerable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of the <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> interface
@@ -3332,13 +3396,13 @@
  class.</div>
 </th>
 </tr>
-<tr id="i501" class="rowColor">
+<tr id="i511" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/DefaultExpression.html" title="class in org.apache.calcite.linq4j.tree">DefaultExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents the default value of a type or an empty expression.</div>
 </th>
 </tr>
-<tr id="i502" class="altColor">
+<tr id="i512" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/DefaultQueryable.html" title="class in org.apache.calcite.linq4j">DefaultQueryable</a>&lt;<a href="org/apache/calcite/linq4j/DefaultQueryable.html" title="type parameter in DefaultQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of the <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> interface that
@@ -3346,54 +3410,54 @@
  class.</div>
 </th>
 </tr>
-<tr id="i503" class="rowColor">
+<tr id="i513" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/DefaultRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">DefaultRelMetadataProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">DefaultRelMetadataProvider supplies a default implementation of the
  <a href="org/apache/calcite/rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> interface.</div>
 </th>
 </tr>
-<tr id="i504" class="altColor">
+<tr id="i514" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/DelegatingEnumerator.html" title="class in org.apache.calcite.linq4j">DelegatingEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/DelegatingEnumerator.html" title="type parameter in DelegatingEnumerator">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Simple enumerator that just delegates all calls to the passed enumerator.</div>
 </th>
 </tr>
-<tr id="i505" class="rowColor">
+<tr id="i515" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/DelegatingInvocationHandler.html" title="class in org.apache.calcite.util">DelegatingInvocationHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">A class derived from <code>DelegatingInvocationHandler</code> handles a
  method call by looking for a method in itself with identical parameters.</div>
 </th>
 </tr>
-<tr id="i506" class="altColor">
+<tr id="i516" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/DelegatingLatticeStatisticProvider.html" title="class in org.apache.calcite.materialize">DelegatingLatticeStatisticProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/materialize/LatticeStatisticProvider.html" title="interface in org.apache.calcite.materialize"><code>LatticeStatisticProvider</code></a> that delegates
  to an underlying provider.</div>
 </th>
 </tr>
-<tr id="i507" class="rowColor">
+<tr id="i517" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/DelegatingNamespace.html" title="class in org.apache.calcite.sql.validate">DelegatingNamespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">An implementation of <a href="org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a> that delegates all methods
  to an underlying object.</div>
 </th>
 </tr>
-<tr id="i508" class="altColor">
+<tr id="i518" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/impl/DelegatingSchema.html" title="class in org.apache.calcite.schema.impl">DelegatingSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> that delegates to
  an underlying schema.</div>
 </th>
 </tr>
-<tr id="i509" class="rowColor">
+<tr id="i519" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">A scope which delegates all requests to its parent scope.</div>
 </th>
 </tr>
-<tr id="i510" class="altColor">
+<tr id="i520" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/DelegatingSqlValidatorCatalogReader.html" title="class in org.apache.calcite.sql.validate">DelegatingSqlValidatorCatalogReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
@@ -3401,283 +3465,301 @@
  all calls to a parent catalog reader.</div>
 </th>
 </tr>
-<tr id="i511" class="rowColor">
+<tr id="i521" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/DelegatingSqlValidatorTable.html" title="class in org.apache.calcite.sql.validate">DelegatingSqlValidatorTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implements <a href="org/apache/calcite/sql/validate/SqlValidatorTable.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorTable</code></a> by
  delegating to a parent table.</div>
 </th>
 </tr>
-<tr id="i512" class="altColor">
+<tr id="i522" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/type/DelegatingTypeSystem.html" title="class in org.apache.calcite.rel.type">DelegatingTypeSystem</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type"><code>RelDataTypeSystem</code></a>
  that sends all methods to an underlying object.</div>
 </th>
 </tr>
-<tr id="i513" class="rowColor">
+<tr id="i523" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/stream/Delta.html" title="class in org.apache.calcite.rel.stream">Delta</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational operator that converts a relation to a stream.</div>
 </th>
 </tr>
-<tr id="i514" class="altColor">
+<tr id="i524" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/Demo.html" title="class in org.apache.calcite">Demo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Demo.</div>
 </th>
 </tr>
-<tr id="i515" class="rowColor">
+<tr id="i525" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/DepthFirstIterator.html" title="class in org.apache.calcite.util.graph">DepthFirstIterator</a>&lt;<a href="org/apache/calcite/util/graph/DepthFirstIterator.html" title="type parameter in DepthFirstIterator">V</a>,&#8203;<a href="org/apache/calcite/util/graph/DepthFirstIterator.html" title="type parameter in DepthFirstIterator">E</a> extends <a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Iterates over the vertices in a directed graph in depth-first order.</div>
 </th>
 </tr>
-<tr id="i516" class="altColor">
+<tr id="i526" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/DerbySqlDialect.html" title="class in org.apache.calcite.sql.dialect">DerbySqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Apache Derby database.</div>
 </th>
 </tr>
-<tr id="i517" class="rowColor">
+<tr id="i527" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Deterministic.html" title="annotation in org.apache.calcite.linq4j.function">Deterministic</a></td>
 <th class="colLast" scope="row">
 <div class="block">Specifies that function is deterministic (i.e.</div>
 </th>
 </tr>
-<tr id="i518" class="altColor">
+<tr id="i528" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/DeterministicAutomaton.html" title="class in org.apache.calcite.runtime">DeterministicAutomaton</a></td>
+<th class="colLast" scope="row">
+<div class="block">A deterministic finite automaton (DFA).</div>
+</th>
+</tr>
+<tr id="i529" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/DeterministicAutomaton.MultiState.html" title="class in org.apache.calcite.runtime">DeterministicAutomaton.MultiState</a></td>
+<th class="colLast" scope="row">
+<div class="block">A state of the deterministic finite automaton.</div>
+</th>
+</tr>
+<tr id="i530" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/DeterministicAutomaton.Transition.html" title="class in org.apache.calcite.runtime">DeterministicAutomaton.Transition</a></td>
+<th class="colLast" scope="row">
+<div class="block">Transition between states.</div>
+</th>
+</tr>
+<tr id="i531" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/DeterministicCodeOptimizer.html" title="class in org.apache.calcite.linq4j.tree">DeterministicCodeOptimizer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factors out deterministic expressions to final static fields.</div>
 </th>
 </tr>
-<tr id="i519" class="rowColor">
+<tr id="i532" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DimensionSpec.html" title="interface in org.apache.calcite.adapter.druid">DimensionSpec</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for Druid DimensionSpec.</div>
 </th>
 </tr>
-<tr id="i520" class="altColor">
+<tr id="i533" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/DirectedGraph.html" title="interface in org.apache.calcite.util.graph">DirectedGraph</a>&lt;<a href="org/apache/calcite/util/graph/DirectedGraph.html" title="type parameter in DirectedGraph">V</a>,&#8203;<a href="org/apache/calcite/util/graph/DirectedGraph.html" title="type parameter in DirectedGraph">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Directed graph.</div>
 </th>
 </tr>
-<tr id="i521" class="rowColor">
+<tr id="i534" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/DirectedGraph.EdgeFactory.html" title="interface in org.apache.calcite.util.graph">DirectedGraph.EdgeFactory</a>&lt;<a href="org/apache/calcite/util/graph/DirectedGraph.EdgeFactory.html" title="type parameter in DirectedGraph.EdgeFactory">V</a>,&#8203;<a href="org/apache/calcite/util/graph/DirectedGraph.EdgeFactory.html" title="type parameter in DirectedGraph.EdgeFactory">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Factory for edges.</div>
 </th>
 </tr>
-<tr id="i522" class="altColor">
+<tr id="i535" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DirectOperatorConversion.html" title="class in org.apache.calcite.adapter.druid">DirectOperatorConversion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Direct operator conversion for expression like Function(exp_1,...exp_n)</div>
 </th>
 </tr>
-<tr id="i523" class="rowColor">
+<tr id="i536" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/DoubleFunction1.html" title="interface in org.apache.calcite.linq4j.function">DoubleFunction1</a>&lt;<a href="org/apache/calcite/linq4j/function/DoubleFunction1.html" title="type parameter in DoubleFunction1">T0</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function that takes one parameter and returns a native <code>double</code> value.</div>
 </th>
 </tr>
-<tr id="i524" class="altColor">
+<tr id="i537" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/Driver.html" title="class in org.apache.calcite.jdbc">Driver</a></td>
 <th class="colLast" scope="row">
 <div class="block">Calcite JDBC driver.</div>
 </th>
 </tr>
-<tr id="i525" class="rowColor">
+<tr id="i538" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnection.html" title="interface in org.apache.calcite.adapter.druid">DruidConnection</a></td>
 <th class="colLast" scope="row">
 <div class="block">Connection to Druid.</div>
 </th>
 </tr>
-<tr id="i526" class="altColor">
+<tr id="i539" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.html" title="class in org.apache.calcite.adapter.druid">DruidConnectionImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/druid/DruidConnection.html" title="interface in org.apache.calcite.adapter.druid"><code>DruidConnection</code></a>.</div>
 </th>
 </tr>
-<tr id="i527" class="rowColor">
+<tr id="i540" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.BlockingQueueEnumerator.html" title="class in org.apache.calcite.adapter.druid">DruidConnectionImpl.BlockingQueueEnumerator</a>&lt;<a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.BlockingQueueEnumerator.html" title="type parameter in DruidConnectionImpl.BlockingQueueEnumerator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">An <a href="org/apache/calcite/linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that gets its rows from a <code>BlockingQueue</code>.</div>
 </th>
 </tr>
-<tr id="i528" class="altColor">
+<tr id="i541" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.JsonAggregator.html" title="class in org.apache.calcite.adapter.druid">DruidConnectionImpl.JsonAggregator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Element of the "aggregators" collection in the result of a
  "segmentMetadata" call, populated by Jackson.</div>
 </th>
 </tr>
-<tr id="i529" class="rowColor">
+<tr id="i542" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.JsonColumn.html" title="class in org.apache.calcite.adapter.druid">DruidConnectionImpl.JsonColumn</a></td>
 <th class="colLast" scope="row">
 <div class="block">Element of the "columns" collection in the result of a
  "segmentMetadata" call, populated by Jackson.</div>
 </th>
 </tr>
-<tr id="i530" class="altColor">
+<tr id="i543" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.JsonSegmentMetadata.html" title="class in org.apache.calcite.adapter.druid">DruidConnectionImpl.JsonSegmentMetadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Result of a "segmentMetadata" call, populated by Jackson.</div>
 </th>
 </tr>
-<tr id="i531" class="rowColor">
+<tr id="i544" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.Page.html" title="class in org.apache.calcite.adapter.druid">DruidConnectionImpl.Page</a></td>
 <th class="colLast" scope="row">
 <div class="block">Progress through a large fetch.</div>
 </th>
 </tr>
-<tr id="i532" class="altColor">
+<tr id="i545" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidConnectionImpl.RunnableQueueSink.html" title="interface in org.apache.calcite.adapter.druid">DruidConnectionImpl.RunnableQueueSink</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/calcite/interpreter/Sink.html" title="interface in org.apache.calcite.interpreter"><code>Sink</code></a> that is also <code>Runnable</code>.</div>
 </th>
 </tr>
-<tr id="i533" class="rowColor">
+<tr id="i546" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidDateTimeUtils.html" title="class in org.apache.calcite.adapter.druid">DruidDateTimeUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for generating intervals from RexNode.</div>
 </th>
 </tr>
-<tr id="i534" class="altColor">
+<tr id="i547" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidExpressions.html" title="class in org.apache.calcite.adapter.druid">DruidExpressions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Expression utility class to transform Calcite expressions to Druid expressions when possible.</div>
 </th>
 </tr>
-<tr id="i535" class="rowColor">
+<tr id="i548" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJson.html" title="interface in org.apache.calcite.adapter.druid">DruidJson</a></td>
 <th class="colLast" scope="row">
 <div class="block">Object that knows how to write itself to a
  <code>JsonGenerator</code>.</div>
 </th>
 </tr>
-<tr id="i536" class="altColor">
+<tr id="i549" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Filter element of a Druid "groupBy" or "topN" query.</div>
 </th>
 </tr>
-<tr id="i537" class="rowColor">
+<tr id="i550" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.JsonBound.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter.JsonBound</a></td>
 <th class="colLast" scope="row">
 <div class="block">Bound filter.</div>
 </th>
 </tr>
-<tr id="i538" class="altColor">
+<tr id="i551" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.JsonCompositeFilter.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter.JsonCompositeFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Filter that combines other filters using a boolean operator.</div>
 </th>
 </tr>
-<tr id="i539" class="rowColor">
+<tr id="i552" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.JsonDimHavingFilter.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter.JsonDimHavingFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid Having Filter spec</div>
 </th>
 </tr>
-<tr id="i540" class="altColor">
+<tr id="i553" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.JsonExpressionFilter.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter.JsonExpressionFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid Expression filter.</div>
 </th>
 </tr>
-<tr id="i541" class="rowColor">
+<tr id="i554" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.JsonInFilter.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter.JsonInFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">IN filter.</div>
 </th>
 </tr>
-<tr id="i542" class="altColor">
+<tr id="i555" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.JsonSelector.html" title="class in org.apache.calcite.adapter.druid">DruidJsonFilter.JsonSelector</a></td>
 <th class="colLast" scope="row">
 <div class="block">Equality filter.</div>
 </th>
 </tr>
-<tr id="i543" class="rowColor">
+<tr id="i556" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidJsonFilter.Type.html" title="enum in org.apache.calcite.adapter.druid">DruidJsonFilter.Type</a></td>
 <th class="colLast" scope="row">
 <div class="block">Supported filter types</div>
 </th>
 </tr>
-<tr id="i544" class="altColor">
+<tr id="i557" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a Druid data set.</div>
 </th>
 </tr>
-<tr id="i545" class="rowColor">
+<tr id="i558" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.DruidQueryNode.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.DruidQueryNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interpreter node that executes a Druid query and sends the results to a
  <a href="org/apache/calcite/interpreter/Sink.html" title="interface in org.apache.calcite.interpreter"><code>Sink</code></a>.</div>
 </th>
 </tr>
-<tr id="i546" class="altColor">
+<tr id="i559" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonAggregation.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonAggregation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Aggregation element of a Druid "groupBy" or "topN" query.</div>
 </th>
 </tr>
-<tr id="i547" class="rowColor">
+<tr id="i560" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonCardinalityAggregation.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonCardinalityAggregation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Aggregation element that calls the "cardinality" function.</div>
 </th>
 </tr>
-<tr id="i548" class="altColor">
+<tr id="i561" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonCollation.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonCollation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collation element of a Druid "groupBy" query.</div>
 </th>
 </tr>
-<tr id="i549" class="rowColor">
+<tr id="i562" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonExpressionPostAgg.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonExpressionPostAgg</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid Json Expression post aggregate.</div>
 </th>
 </tr>
-<tr id="i550" class="altColor">
+<tr id="i563" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonFilteredAggregation.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonFilteredAggregation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Aggregation element that contains a filter</div>
 </th>
 </tr>
-<tr id="i551" class="rowColor">
+<tr id="i564" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonLimit.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonLimit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collation element of a Druid "groupBy" query.</div>
 </th>
 </tr>
-<tr id="i552" class="altColor">
+<tr id="i565" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.JsonPostAggregation.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.JsonPostAggregation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Post-Aggregator Post aggregator abstract writer</div>
 </th>
 </tr>
-<tr id="i553" class="rowColor">
+<tr id="i566" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.QuerySpec.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.QuerySpec</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid query specification.</div>
 </th>
 </tr>
-<tr id="i554" class="altColor">
+<tr id="i567" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidQuery.ScanQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery.ScanQuery</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid Scan Query Body</div>
 </th>
 </tr>
-<tr id="i555" class="rowColor">
+<tr id="i568" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.html" title="class in org.apache.calcite.adapter.druid">DruidRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rules and relational operators for <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i556" class="altColor">
+<tr id="i569" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidAggregateExtractProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateExtractProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to extract a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> from
@@ -3686,7 +3768,7 @@
  used in the aggregate.</div>
 </th>
 </tr>
-<tr id="i557" class="rowColor">
+<tr id="i570" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidAggregateFilterTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateFilterTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
@@ -3694,20 +3776,20 @@
  when <code>Filter</code> is on top of a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i558" class="altColor">
+<tr id="i571" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidAggregateProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> and
  <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i559" class="rowColor">
+<tr id="i572" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidAggregateRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push an <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i560" class="altColor">
+<tr id="i573" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidFilterAggregateTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidFilterAggregateTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push an <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
@@ -3715,7 +3797,7 @@
  when <code>Aggregate</code> is on top of a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i561" class="rowColor">
+<tr id="i574" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidFilterProjectTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidFilterProjectTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
@@ -3723,26 +3805,26 @@
  when <code>Project</code> is on top of a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i562" class="altColor">
+<tr id="i575" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidFilterRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i563" class="rowColor">
+<tr id="i576" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidHavingFilterRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidHavingFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to Push a Having <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a></div>
 </th>
 </tr>
-<tr id="i564" class="altColor">
+<tr id="i577" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidPostAggregationProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidPostAggregationProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a> as a
  Post aggregator.</div>
 </th>
 </tr>
-<tr id="i565" class="rowColor">
+<tr id="i578" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidProjectFilterTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidProjectFilterTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
@@ -3750,109 +3832,115 @@
  when <code>Filter</code> is on top of a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i566" class="altColor">
+<tr id="i579" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i567" class="rowColor">
+<tr id="i580" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidProjectSortTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidProjectSortTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push back <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> through a
  <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>.</div>
 </th>
 </tr>
-<tr id="i568" class="altColor">
+<tr id="i581" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidSortProjectTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidSortProjectTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push an <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> through a
  <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div>
 </th>
 </tr>
-<tr id="i569" class="rowColor">
+<tr id="i582" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidRules.DruidSortRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidSortRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to push a <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
  into a <a href="org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
 </th>
 </tr>
-<tr id="i570" class="altColor">
+<tr id="i583" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidSchema.html" title="class in org.apache.calcite.adapter.druid">DruidSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema mapped onto a Druid instance.</div>
 </th>
 </tr>
-<tr id="i571" class="rowColor">
+<tr id="i584" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidSchemaFactory.html" title="class in org.apache.calcite.adapter.druid">DruidSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema factory that creates Druid schemas.</div>
 </th>
 </tr>
-<tr id="i572" class="altColor">
+<tr id="i585" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidSqlCastConverter.html" title="class in org.apache.calcite.adapter.druid">DruidSqlCastConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid cast converter operator used to translates calcite casts to Druid expression cast</div>
 </th>
 </tr>
-<tr id="i573" class="rowColor">
+<tr id="i586" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidSqlOperatorConverter.html" title="interface in org.apache.calcite.adapter.druid">DruidSqlOperatorConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Defines how to convert RexNode with a given calcite SQL operator to Druid expressions</div>
 </th>
 </tr>
-<tr id="i574" class="altColor">
+<tr id="i587" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidTable.html" title="class in org.apache.calcite.adapter.druid">DruidTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table mapped onto a Druid table.</div>
 </th>
 </tr>
-<tr id="i575" class="rowColor">
+<tr id="i588" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidTable.MapRelProtoDataType.html" title="class in org.apache.calcite.adapter.druid">DruidTable.MapRelProtoDataType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Creates a <a href="org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type"><code>RelDataType</code></a> from a map of
  field names and types.</div>
 </th>
 </tr>
-<tr id="i576" class="altColor">
+<tr id="i589" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidTableFactory.html" title="class in org.apache.calcite.adapter.druid">DruidTableFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/schema/TableFactory.html" title="interface in org.apache.calcite.schema"><code>TableFactory</code></a> for Druid.</div>
 </th>
 </tr>
-<tr id="i577" class="rowColor">
+<tr id="i590" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/DruidType.html" title="enum in org.apache.calcite.adapter.druid">DruidType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Druid type.</div>
 </th>
 </tr>
-<tr id="i578" class="altColor">
+<tr id="i591" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/os/DuTableFunction.html" title="class in org.apache.calcite.adapter.os">DuTableFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table function that executes the OS "du" ("disk usage") command
  to compute file sizes.</div>
 </th>
 </tr>
-<tr id="i579" class="rowColor">
+<tr id="i592" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/DynamicExpression.html" title="class in org.apache.calcite.linq4j.tree">DynamicExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a dynamic operation.</div>
 </th>
 </tr>
-<tr id="i580" class="altColor">
+<tr id="i593" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/type/DynamicRecordType.html" title="class in org.apache.calcite.rel.type">DynamicRecordType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Specific type of RelRecordType that corresponds to a dynamic table,
  where columns are created as they are requested.</div>
 </th>
 </tr>
-<tr id="i581" class="rowColor">
+<tr id="i594" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/type/DynamicRecordTypeImpl.html" title="class in org.apache.calcite.rel.type">DynamicRecordTypeImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type"><code>RelDataType</code></a> for a dynamic table.</div>
 </th>
 </tr>
-<tr id="i582" class="altColor">
+<tr id="i595" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/piglet/DynamicTupleRecordType.html" title="class in org.apache.calcite.piglet">DynamicTupleRecordType</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents Pig Tuples with unknown fields.</div>
+</th>
+</tr>
+<tr id="i596" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchAggregate.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
@@ -3860,13 +3948,13 @@
  for ElasticSearch.</div>
 </th>
 </tr>
-<tr id="i583" class="rowColor">
+<tr id="i597" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchConstants.html" title="interface in org.apache.calcite.adapter.elasticsearch">ElasticsearchConstants</a></td>
 <th class="colLast" scope="row">
 <div class="block">Internal constants referenced in this package.</div>
 </th>
 </tr>
-<tr id="i584" class="altColor">
+<tr id="i598" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchEnumerators.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchEnumerators</a></td>
 <th class="colLast" scope="row">
 <div class="block">Util functions which convert
@@ -3874,113 +3962,113 @@
  into calcite specific return type (map, object[], list etc.)</div>
 </th>
 </tr>
-<tr id="i585" class="rowColor">
+<tr id="i599" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchFilter.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
  relational expression in Elasticsearch.</div>
 </th>
 </tr>
-<tr id="i586" class="altColor">
+<tr id="i600" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchFilter.PredicateAnalyzerTranslator.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchFilter.PredicateAnalyzerTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">New version of translator which uses visitor pattern
  and allow to process more complex (boolean) predicates.</div>
 </th>
 </tr>
-<tr id="i587" class="rowColor">
+<tr id="i601" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson</a></td>
 <th class="colLast" scope="row">
 <div class="block">Internal objects (and deserializers) used to parse Elasticsearch results
  (which are in JSON format).</div>
 </th>
 </tr>
-<tr id="i588" class="altColor">
+<tr id="i602" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.Aggregation.html" title="interface in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.Aggregation</a></td>
 <th class="colLast" scope="row">
 <div class="block">Identifies all aggregations</div>
 </th>
 </tr>
-<tr id="i589" class="rowColor">
+<tr id="i603" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.Aggregations.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.Aggregations</a></td>
 <th class="colLast" scope="row">
 <div class="block"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.Aggregation.html" title="interface in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchJson.Aggregation</code></a> container.</div>
 </th>
 </tr>
-<tr id="i590" class="altColor">
+<tr id="i604" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.AggregationsDeserializer.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.AggregationsDeserializer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Allows to de-serialize nested aggregation structures.</div>
 </th>
 </tr>
-<tr id="i591" class="rowColor">
+<tr id="i605" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.Bucket.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.Bucket</a></td>
 <th class="colLast" scope="row">
 <div class="block">A bucket represents a criteria to which all documents that fall in it adhere to.</div>
 </th>
 </tr>
-<tr id="i592" class="altColor">
+<tr id="i606" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.GroupValue.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.GroupValue</a></td>
 <th class="colLast" scope="row">
 <div class="block">Distinguishes from <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.MultiValue.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchJson.MultiValue</code></a>.</div>
 </th>
 </tr>
-<tr id="i593" class="rowColor">
+<tr id="i607" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.HasAggregations.html" title="interface in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.HasAggregations</a></td>
 <th class="colLast" scope="row">
 <div class="block">Allows traversing aggregations tree</div>
 </th>
 </tr>
-<tr id="i594" class="altColor">
+<tr id="i608" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.MultiBucketsAggregation.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.MultiBucketsAggregation</a></td>
 <th class="colLast" scope="row">
 <div class="block">An aggregation that returns multiple buckets</div>
 </th>
 </tr>
-<tr id="i595" class="rowColor">
+<tr id="i609" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.MultiValue.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.MultiValue</a></td>
 <th class="colLast" scope="row">
 <div class="block">Multi value aggregatoin like
  <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-stats-aggregation.html">Stats</a></div>
 </th>
 </tr>
-<tr id="i596" class="altColor">
+<tr id="i610" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.Result.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">Response from Elastic</div>
 </th>
 </tr>
-<tr id="i597" class="rowColor">
+<tr id="i611" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.RowKey.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.RowKey</a></td>
 <th class="colLast" scope="row">
 <div class="block">Identifies a calcite row (as in relational algebra)</div>
 </th>
 </tr>
-<tr id="i598" class="altColor">
+<tr id="i612" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.SearchHit.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.SearchHit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Concrete result record which matched the query.</div>
 </th>
 </tr>
-<tr id="i599" class="rowColor">
+<tr id="i613" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.SearchHits.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.SearchHits</a></td>
 <th class="colLast" scope="row">
 <div class="block">Similar to <code>SearchHits</code> in ES.</div>
 </th>
 </tr>
-<tr id="i600" class="altColor">
+<tr id="i614" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.SearchTotal.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.SearchTotal</a></td>
 <th class="colLast" scope="row">
 <div class="block">Container for total hits</div>
 </th>
 </tr>
-<tr id="i601" class="rowColor">
+<tr id="i615" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.SearchTotalDeserializer.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchJson.SearchTotalDeserializer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Allows to de-serialize total hits structures.</div>
 </th>
 </tr>
-<tr id="i602" class="altColor">
+<tr id="i616" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchMapping.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchMapping</a></td>
 <th class="colLast" scope="row">
 <div class="block">Stores Elasticsearch
@@ -3988,40 +4076,40 @@
  mapping</a> information for particular index.</div>
 </th>
 </tr>
-<tr id="i603" class="rowColor">
+<tr id="i617" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchMapping.Datatype.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchMapping.Datatype</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents elastic data-type, like <code>long</code>, <code>keyword</code>,
  <code>date</code> etc.</div>
 </th>
 </tr>
-<tr id="i604" class="altColor">
+<tr id="i618" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchMethod.html" title="enum in org.apache.calcite.adapter.elasticsearch">ElasticsearchMethod</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builtin methods in the Elasticsearch adapter.</div>
 </th>
 </tr>
-<tr id="i605" class="rowColor">
+<tr id="i619" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchProject.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchProject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
  relational expression in Elasticsearch.</div>
 </th>
 </tr>
-<tr id="i606" class="altColor">
+<tr id="i620" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRel.html" title="interface in org.apache.calcite.adapter.elasticsearch">ElasticsearchRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that uses Elasticsearch calling convention.</div>
 </th>
 </tr>
-<tr id="i607" class="rowColor">
+<tr id="i621" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRel.Implementor.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRel.Implementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Callback for the implementation process that converts a tree of
  <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRel.html" title="interface in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchRel</code></a> nodes into an Elasticsearch query.</div>
 </th>
 </tr>
-<tr id="i608" class="altColor">
+<tr id="i622" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rules and relational operators for
@@ -4029,344 +4117,359 @@
  calling convention.</div>
 </th>
 </tr>
-<tr id="i609" class="rowColor">
+<tr id="i623" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.ElasticsearchAggregateRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>
  to an <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchAggregate.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchAggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i610" class="altColor">
+<tr id="i624" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.ElasticsearchConverterRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for planner rules that convert a relational expression to
  Elasticsearch calling convention.</div>
 </th>
 </tr>
-<tr id="i611" class="rowColor">
+<tr id="i625" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.ElasticsearchFilterRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to an
  <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchFilter.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchFilter</code></a>.</div>
 </th>
 </tr>
-<tr id="i612" class="altColor">
+<tr id="i626" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.ElasticsearchProjectRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
  to an <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchProject.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchProject</code></a>.</div>
 </th>
 </tr>
-<tr id="i613" class="rowColor">
+<tr id="i627" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.ElasticsearchSortRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchSortRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to an
  <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSort.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchSort</code></a>.</div>
 </th>
 </tr>
-<tr id="i614" class="altColor">
+<tr id="i628" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRules.RexToElasticsearchTranslator.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.RexToElasticsearchTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translator from <a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> to strings in Elasticsearch's expression
  language.</div>
 </th>
 </tr>
-<tr id="i615" class="rowColor">
+<tr id="i629" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSchema.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Each table in the schema is an ELASTICSEARCH index.</div>
 </th>
 </tr>
-<tr id="i616" class="altColor">
+<tr id="i630" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSchemaFactory.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates an <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSchema.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i617" class="rowColor">
+<tr id="i631" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSearchResult.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSearchResult</a></td>
 <th class="colLast" scope="row">
 <div class="block">Internal object used to parse elastic search result.</div>
 </th>
 </tr>
-<tr id="i618" class="altColor">
+<tr id="i632" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSearchResult.SearchHit.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSearchResult.SearchHit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Concrete result record which matched the query.</div>
 </th>
 </tr>
-<tr id="i619" class="rowColor">
+<tr id="i633" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSearchResult.SearchHits.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSearchResult.SearchHits</a></td>
 <th class="colLast" scope="row">
 <div class="block">Similar to <code>SearchHits</code> in ES.</div>
 </th>
 </tr>
-<tr id="i620" class="altColor">
+<tr id="i634" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchSort.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSort</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
  relational expression in Elasticsearch.</div>
 </th>
 </tr>
-<tr id="i621" class="rowColor">
+<tr id="i635" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTable.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on an Elasticsearch index.</div>
 </th>
 </tr>
-<tr id="i622" class="altColor">
+<tr id="i636" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTable.ElasticsearchQueryable.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTable.ElasticsearchQueryable</a>&lt;<a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTable.ElasticsearchQueryable.html" title="type parameter in ElasticsearchTable.ElasticsearchQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> based on
  a <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTable.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchTable</code></a>.</div>
 </th>
 </tr>
-<tr id="i623" class="rowColor">
+<tr id="i637" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTableScan.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of an Elasticsearch type.</div>
 </th>
 </tr>
-<tr id="i624" class="altColor">
+<tr id="i638" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchToEnumerableConverter.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchToEnumerableConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a table in an Elasticsearch data source.</div>
 </th>
 </tr>
-<tr id="i625" class="rowColor">
+<tr id="i639" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchToEnumerableConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a relational expression from
  <a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchRel.html#CONVENTION"><code>ElasticsearchRel.CONVENTION</code></a> to <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
 </th>
 </tr>
-<tr id="i626" class="altColor">
+<tr id="i640" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTransport.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTransport</a></td>
 <th class="colLast" scope="row">
 <div class="block">Set of predefined functions for REST interaction with elastic search API.</div>
 </th>
 </tr>
-<tr id="i627" class="rowColor">
+<tr id="i641" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTransport.HttpFunction.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTransport.HttpFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Basic rest operations interacting with elastic cluster.</div>
 </th>
 </tr>
-<tr id="i628" class="altColor">
+<tr id="i642" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTransport.JsonParserFn.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTransport.JsonParserFn</a>&lt;<a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchTransport.JsonParserFn.html" title="type parameter in ElasticsearchTransport.JsonParserFn">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Parses HTTP response into some class using jackson API.</div>
 </th>
 </tr>
-<tr id="i629" class="rowColor">
+<tr id="i643" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/elasticsearch/ElasticsearchVersion.html" title="enum in org.apache.calcite.adapter.elasticsearch">ElasticsearchVersion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Identifies current ES version at runtime.</div>
 </th>
 </tr>
-<tr id="i630" class="altColor">
+<tr id="i644" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ElementInit.html" title="class in org.apache.calcite.linq4j.tree">ElementInit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an initializer for a single element of an
  <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> collection.</div>
 </th>
 </tr>
-<tr id="i631" class="rowColor">
+<tr id="i645" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/EmptyScope.html" title="class in org.apache.calcite.sql.validate">EmptyScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">Deviant implementation of <a href="org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorScope</code></a> for the top of the scope
  stack.</div>
 </th>
 </tr>
-<tr id="i632" class="altColor">
+<tr id="i646" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;<a href="org/apache/calcite/linq4j/Enumerable.html" title="type parameter in Enumerable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Exposes the enumerator, which supports a simple iteration over a collection.</div>
 </th>
 </tr>
-<tr id="i633" class="rowColor">
+<tr id="i647" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i634" class="altColor">
+<tr id="i648" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableAggregateRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>
  to an <a href="org/apache/calcite/adapter/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableAggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i635" class="rowColor">
+<tr id="i649" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBatchNestedLoopJoin</a></td>
+<th class="colLast" scope="row">
+<div class="block">Implementation of batch nested loop join in
+ <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
+</th>
+</tr>
+<tr id="i650" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBatchNestedLoopJoinRule</a></td>
+<th class="colLast" scope="row">
+<div class="block">Planner rule that converts a
+ <a href="org/apache/calcite/rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a> into an
+ <a href="org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableBatchNestedLoopJoin</code></a>.</div>
+</th>
+</tr>
+<tr id="i651" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableBindable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBindable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that converts an enumerable input to interpretable
  calling convention.</div>
 </th>
 </tr>
-<tr id="i636" class="altColor">
+<tr id="i652" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableBindable.EnumerableToBindableConverterRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBindable.EnumerableToBindableConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts any enumerable relational expression to bindable.</div>
 </th>
 </tr>
-<tr id="i637" class="rowColor">
+<tr id="i653" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalc</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i638" class="altColor">
+<tr id="i654" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableCalcRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalcRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i639" class="rowColor">
+<tr id="i655" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableCollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCollect</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Collect.html" title="class in org.apache.calcite.rel.core"><code>Collect</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i640" class="altColor">
+<tr id="i656" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableCollectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCollectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/core/Collect.html" title="class in org.apache.calcite.rel.core"><code>Collect</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableCollect.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableCollect</code></a>.</div>
 </th>
 </tr>
-<tr id="i641" class="rowColor">
+<tr id="i657" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable">EnumerableConvention</a></td>
 <th class="colLast" scope="row">
 <div class="block">Family of calling conventions that return results as an
  <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i642" class="altColor">
+<tr id="i658" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableCorrelate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCorrelate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i643" class="rowColor">
+<tr id="i659" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableCorrelateRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCorrelateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of nested loops over enumerable inputs.</div>
 </th>
 </tr>
-<tr id="i644" class="altColor">
+<tr id="i660" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults</a></td>
 <th class="colLast" scope="row">
 <div class="block">Default implementations of methods in the <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> interface.</div>
 </th>
 </tr>
-<tr id="i645" class="rowColor">
+<tr id="i661" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.CastingEnumerator.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.CastingEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.CastingEnumerator.html" title="type parameter in EnumerableDefaults.CastingEnumerator">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator that casts each value.</div>
 </th>
 </tr>
-<tr id="i646" class="altColor">
+<tr id="i662" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.LookupResultEnumerable.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.LookupResultEnumerable</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.LookupResultEnumerable.html" title="type parameter in EnumerableDefaults.LookupResultEnumerable">TResult</a>,&#8203;<a href="org/apache/calcite/linq4j/EnumerableDefaults.LookupResultEnumerable.html" title="type parameter in EnumerableDefaults.LookupResultEnumerable">TKey</a>,&#8203;<a href="org/apache/calcite/linq4j/EnumerableDefaults.LookupResultEnumerable.html" title="type parameter in EnumerableDefaults.LookupResultEnumerable">TAccumulate</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Reads a populated map, applying a selector function.</div>
 </th>
 </tr>
-<tr id="i647" class="rowColor">
+<tr id="i663" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.MergeJoinEnumerator.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.MergeJoinEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.MergeJoinEnumerator.html" title="type parameter in EnumerableDefaults.MergeJoinEnumerator">TResult</a>,&#8203;<a href="org/apache/calcite/linq4j/EnumerableDefaults.MergeJoinEnumerator.html" title="type parameter in EnumerableDefaults.MergeJoinEnumerator">TSource</a>,&#8203;<a href="org/apache/calcite/linq4j/EnumerableDefaults.MergeJoinEnumerator.html" title="type parameter in EnumerableDefaults.MergeJoinEnumerator">TInner</a>,&#8203;<a href="org/apache/calcite/linq4j/EnumerableDefaults.MergeJoinEnumerator.html" title="type parameter in EnumerableDefaults.MergeJoinEnumerator">TKey</a> extends java.lang.Comparable&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.MergeJoinEnumerator.html" title="type parameter in EnumerableDefaults.MergeJoinEnumerator">TKey</a>&gt;&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator that performs a merge join on its sorted inputs.</div>
 </th>
 </tr>
-<tr id="i648" class="altColor">
+<tr id="i664" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.SkipWhileEnumerator.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.SkipWhileEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.SkipWhileEnumerator.html" title="type parameter in EnumerableDefaults.SkipWhileEnumerator">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator that implements skip-while.</div>
 </th>
 </tr>
-<tr id="i649" class="rowColor">
+<tr id="i665" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.TakeWhileEnumerator.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.TakeWhileEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.TakeWhileEnumerator.html" title="type parameter in EnumerableDefaults.TakeWhileEnumerator">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerable that implements take-while.</div>
 </th>
 </tr>
-<tr id="i650" class="altColor">
+<tr id="i666" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.TakeWhileLongEnumerator.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.TakeWhileLongEnumerator</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.TakeWhileLongEnumerator.html" title="type parameter in EnumerableDefaults.TakeWhileLongEnumerator">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerable that implements take-while.</div>
 </th>
 </tr>
-<tr id="i651" class="rowColor">
+<tr id="i667" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.WrapMap.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.WrapMap</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.WrapMap.html" title="type parameter in EnumerableDefaults.WrapMap">K</a>,&#8203;<a href="org/apache/calcite/linq4j/EnumerableDefaults.WrapMap.html" title="type parameter in EnumerableDefaults.WrapMap">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Map that wraps each value.</div>
 </th>
 </tr>
-<tr id="i652" class="altColor">
+<tr id="i668" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableDefaults.Wrapped.html" title="class in org.apache.calcite.linq4j">EnumerableDefaults.Wrapped</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableDefaults.Wrapped.html" title="type parameter in EnumerableDefaults.Wrapped">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Value wrapped with a comparer.</div>
 </th>
 </tr>
-<tr id="i653" class="rowColor">
+<tr id="i669" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i654" class="altColor">
+<tr id="i670" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableFilterRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableFilter</code></a>.</div>
 </th>
 </tr>
-<tr id="i655" class="rowColor">
+<tr id="i671" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableFilterToCalcRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilterToCalcRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Variant of <a href="org/apache/calcite/rel/rules/FilterToCalcRule.html" title="class in org.apache.calcite.rel.rules"><code>FilterToCalcRule</code></a> for
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i656" class="altColor">
+<tr id="i672" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableHashJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableHashJoin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i657" class="rowColor">
+<tr id="i673" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableInterpretable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpretable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that converts an enumerable input to interpretable
  calling convention.</div>
 </th>
 </tr>
-<tr id="i658" class="altColor">
+<tr id="i674" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableInterpretable.EnumerableNode.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpretable.EnumerableNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interpreter node that reads from an <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i659" class="rowColor">
+<tr id="i675" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableInterpretable.StaticFieldDetector.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpretable.StaticFieldDetector</a></td>
 <th class="colLast" scope="row">
 <div class="block">A visitor detecting if the Java AST contains static fields.</div>
 </th>
 </tr>
-<tr id="i660" class="altColor">
+<tr id="i676" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableInterpreter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpreter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that executes its children using an interpreter.</div>
 </th>
 </tr>
-<tr id="i661" class="rowColor">
+<tr id="i677" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableInterpreterRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpreterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts <a href="org/apache/calcite/interpreter/BindableRel.html" title="interface in org.apache.calcite.interpreter"><code>BindableRel</code></a>
@@ -4374,14 +4477,14 @@
  an <a href="org/apache/calcite/adapter/enumerable/EnumerableInterpreter.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableInterpreter</code></a>.</div>
 </th>
 </tr>
-<tr id="i662" class="altColor">
+<tr id="i678" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableIntersect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableIntersect</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i663" class="rowColor">
+<tr id="i679" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableIntersectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableIntersectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a
@@ -4389,7 +4492,7 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableIntersect.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableIntersect</code></a>.</div>
 </th>
 </tr>
-<tr id="i664" class="altColor">
+<tr id="i680" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -4397,13 +4500,13 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i665" class="rowColor">
+<tr id="i681" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that applies a limit and/or offset to its input.</div>
 </th>
 </tr>
-<tr id="i666" class="altColor">
+<tr id="i682" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableLimitRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimitRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> that has
@@ -4412,7 +4515,33 @@
  on top of a "pure" <code>Sort</code> that has no offset or fetch.</div>
 </th>
 </tr>
-<tr id="i667" class="rowColor">
+<tr id="i683" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMatch.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMatch</a></td>
+<th class="colLast" scope="row">
+<div class="block">Implementation of <a href="org/apache/calcite/rel/core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a> in
+ <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
+</th>
+</tr>
+<tr id="i684" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMatch.MaxHistoryFutureVisitor.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMatch.MaxHistoryFutureVisitor</a></td>
+<th class="colLast" scope="row">
+<div class="block">Visitor that finds out how much "history" we need in the past and future.</div>
+</th>
+</tr>
+<tr id="i685" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMatch.PrevInputGetter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMatch.PrevInputGetter</a></td>
+<th class="colLast" scope="row">
+<div class="block">A special Getter that "interchanges" the PREV and the field call.</div>
+</th>
+</tr>
+<tr id="i686" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMatchRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMatchRule</a></td>
+<th class="colLast" scope="row">
+<div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMatch</code></a> to an
+ <a href="org/apache/calcite/adapter/enumerable/EnumerableMatch.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableMatch</code></a>.</div>
+</th>
+</tr>
+<tr id="i687" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
@@ -4420,7 +4549,7 @@
  a merge algorithm.</div>
 </th>
 </tr>
-<tr id="i668" class="altColor">
+<tr id="i688" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMergeJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -4428,21 +4557,21 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i669" class="rowColor">
+<tr id="i689" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMinus.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMinus</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i670" class="altColor">
+<tr id="i690" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableMinusRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMinusRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMinus</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableMinus.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableMinus</code></a>.</div>
 </th>
 </tr>
-<tr id="i671" class="rowColor">
+<tr id="i691" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableNestedLoopJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableNestedLoopJoin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
@@ -4450,41 +4579,41 @@
  that allows conditions that are not just <code>=</code> (equals).</div>
 </th>
 </tr>
-<tr id="i672" class="altColor">
+<tr id="i692" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableOrderedQueryable.html" title="class in org.apache.calcite.linq4j">EnumerableOrderedQueryable</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableOrderedQueryable.html" title="type parameter in EnumerableOrderedQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/OrderedQueryable.html" title="interface in org.apache.calcite.linq4j"><code>OrderedQueryable</code></a> by an
  <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i673" class="rowColor">
+<tr id="i693" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i674" class="altColor">
+<tr id="i694" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableProjectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableProject</code></a>.</div>
 </th>
 </tr>
-<tr id="i675" class="rowColor">
+<tr id="i695" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableProjectToCalcRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProjectToCalcRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Variant of <a href="org/apache/calcite/rel/rules/ProjectToCalcRule.html" title="class in org.apache.calcite.rel.rules"><code>ProjectToCalcRule</code></a> for
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i676" class="altColor">
+<tr id="i696" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/EnumerableQueryable.html" title="class in org.apache.calcite.linq4j">EnumerableQueryable</a>&lt;<a href="org/apache/calcite/linq4j/EnumerableQueryable.html" title="type parameter in EnumerableQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> by a <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i677" class="rowColor">
+<tr id="i697" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRel.html" title="interface in org.apache.calcite.adapter.enumerable">EnumerableRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">A relational expression of one of the
@@ -4492,96 +4621,88 @@
  conventions.</div>
 </th>
 </tr>
-<tr id="i678" class="altColor">
+<tr id="i698" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRel.Prefer.html" title="enum in org.apache.calcite.adapter.enumerable">EnumerableRel.Prefer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Preferred physical type.</div>
 </th>
 </tr>
-<tr id="i679" class="rowColor">
+<tr id="i699" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRel.Result.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRel.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">Result of implementing an enumerable relational expression by generating
  Java code.</div>
 </th>
 </tr>
-<tr id="i680" class="altColor">
+<tr id="i700" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRelImplementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Subclass of <a href="org/apache/calcite/plan/RelImplementor.html" title="interface in org.apache.calcite.plan"><code>RelImplementor</code></a> for relational
  operators of <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a> calling convention.</div>
 </th>
 </tr>
-<tr id="i681" class="rowColor">
+<tr id="i701" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.TypeFinder.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRelImplementor.TypeFinder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor that finds types in an <a href="org/apache/calcite/linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree"><code>Expression</code></a> tree.</div>
 </th>
 </tr>
-<tr id="i682" class="altColor">
+<tr id="i702" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRepeatUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRepeatUnion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i683" class="rowColor">
+<tr id="i703" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRepeatUnionRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRepeatUnionRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalRepeatUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalRepeatUnion</code></a> into an <a href="org/apache/calcite/adapter/enumerable/EnumerableRepeatUnion.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableRepeatUnion</code></a>.</div>
 </th>
 </tr>
-<tr id="i684" class="altColor">
+<tr id="i704" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableRules.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rules and relational operators for the
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i685" class="rowColor">
+<tr id="i705" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/Enumerables.html" title="class in org.apache.calcite.runtime">Enumerables</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for processing <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>
  collections.</div>
 </th>
 </tr>
-<tr id="i686" class="altColor">
-<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableSemiJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSemiJoin</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">This class is deprecated along with
- <a href="org/apache/calcite/rel/core/SemiJoin.html" title="class in org.apache.calcite.rel.core"><code>SemiJoin</code></a>;
- the function is merged into <a href="org/apache/calcite/adapter/enumerable/EnumerableHashJoin.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableHashJoin</code></a>;
- see <a href="org/apache/calcite/adapter/enumerable/EnumerableJoinRule.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableJoinRule</code></a> for details.</div>
+<tr id="i706" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/runtime/Enumerables.Emitter.html" title="interface in org.apache.calcite.runtime">Enumerables.Emitter</a>&lt;<a href="org/apache/calcite/runtime/Enumerables.Emitter.html" title="type parameter in Enumerables.Emitter">E</a>,&#8203;<a href="org/apache/calcite/runtime/Enumerables.Emitter.html" title="type parameter in Enumerables.Emitter">TResult</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Given a match (a list of rows, and their states) produces a list
+ of rows to be output.</div>
 </th>
 </tr>
-<tr id="i687" class="rowColor">
-<td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableSemiJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSemiJoinRule</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">Use <a href="org/apache/calcite/adapter/enumerable/EnumerableJoinRule.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableJoinRule</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i688" class="altColor">
+<tr id="i707" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSort</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i689" class="rowColor">
+<tr id="i708" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableSortRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSortRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableSort</code></a>.</div>
 </th>
 </tr>
-<tr id="i690" class="altColor">
+<tr id="i709" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableFunctionScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableFunctionScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i691" class="rowColor">
+<tr id="i710" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableFunctionScanRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableFunctionScanRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -4590,14 +4711,14 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i692" class="altColor">
+<tr id="i711" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableModify.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableModify</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/TableModify.html" title="class in org.apache.calcite.rel.core"><code>TableModify</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i693" class="rowColor">
+<tr id="i712" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableModifyRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableModifyRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -4606,14 +4727,14 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i694" class="altColor">
+<tr id="i713" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i695" class="rowColor">
+<tr id="i714" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableScanRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableScanRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -4622,7 +4743,7 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i696" class="altColor">
+<tr id="i715" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableSpool.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableSpool</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/TableSpool.html" title="class in org.apache.calcite.rel.core"><code>TableSpool</code></a> in
@@ -4631,21 +4752,21 @@
  schema).</div>
 </th>
 </tr>
-<tr id="i697" class="rowColor">
+<tr id="i716" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableTableSpoolRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableSpoolRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalTableSpool.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableSpool</code></a> into an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableTableSpool.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableTableSpool</code></a>.</div>
 </th>
 </tr>
-<tr id="i698" class="altColor">
+<tr id="i717" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/spark/EnumerableToSparkConverter.html" title="class in org.apache.calcite.adapter.spark">EnumerableToSparkConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that converts input of <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>
  into <a href="org/apache/calcite/adapter/spark/SparkRel.html#CONVENTION"><code>Spark convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i699" class="rowColor">
+<tr id="i718" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/spark/EnumerableToSparkConverterRule.html" title="class in org.apache.calcite.adapter.spark">EnumerableToSparkConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a relational expression from
@@ -4653,42 +4774,42 @@
  <a href="org/apache/calcite/adapter/spark/SparkRel.html#CONVENTION"><code>Spark convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i700" class="altColor">
+<tr id="i719" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollect</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Uncollect.html" title="class in org.apache.calcite.rel.core"><code>Uncollect</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i701" class="rowColor">
+<tr id="i720" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableUncollectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/core/Uncollect.html" title="class in org.apache.calcite.rel.core"><code>Uncollect</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableUncollect</code></a>.</div>
 </th>
 </tr>
-<tr id="i702" class="altColor">
+<tr id="i721" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUnion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i703" class="rowColor">
+<tr id="i722" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableUnionRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUnionRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalUnion</code></a> to an
  <a href="org/apache/calcite/adapter/enumerable/EnumerableUnion.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableUnion</code></a>.</div>
 </th>
 </tr>
-<tr id="i704" class="altColor">
+<tr id="i723" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableValues.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableValues</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i705" class="rowColor">
+<tr id="i724" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableValuesRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableValuesRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -4697,14 +4818,14 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i706" class="altColor">
+<tr id="i725" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableWindow.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableWindow</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a> in
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i707" class="rowColor">
+<tr id="i726" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableWindow.WindowRelInputGetter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableWindow.WindowRelInputGetter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/enumerable/RexToLixTranslator.InputGetter.html" title="interface in org.apache.calcite.adapter.enumerable"><code>RexToLixTranslator.InputGetter</code></a>
@@ -4712,20 +4833,20 @@
  functions.</div>
 </th>
 </tr>
-<tr id="i708" class="altColor">
+<tr id="i727" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumerableWindowRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableWindowRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a> to
  an <a href="org/apache/calcite/adapter/enumerable/EnumerableWindow.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableWindow</code></a>.</div>
 </th>
 </tr>
-<tr id="i709" class="rowColor">
+<tr id="i728" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="org/apache/calcite/linq4j/Enumerator.html" title="type parameter in Enumerator">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Supports a simple iteration over a collection.</div>
 </th>
 </tr>
-<tr id="i710" class="altColor">
+<tr id="i729" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/EnumeratorCursor.html" title="class in org.apache.calcite.runtime">EnumeratorCursor</a>&lt;<a href="org/apache/calcite/runtime/EnumeratorCursor.html" title="type parameter in EnumeratorCursor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>Cursor</code> on top of an
@@ -4733,77 +4854,79 @@
  returns a record for each row.</div>
 </th>
 </tr>
-<tr id="i711" class="rowColor">
+<tr id="i730" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/EnumUtils.html" title="class in org.apache.calcite.adapter.enumerable">EnumUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for generating programs in the Enumerable (functional)
  style.</div>
 </th>
 </tr>
-<tr id="i712" class="altColor">
+<tr id="i731" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/EnvironmentFairy.html" title="class in org.apache.calcite.chinook">EnvironmentFairy</a></td>
 <th class="colLast" scope="row">
 <div class="block">Fairy simulates environment around Calcite.</div>
 </th>
 </tr>
-<tr id="i713" class="rowColor">
+<tr id="i732" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/chinook/EnvironmentFairy.User.html" title="enum in org.apache.calcite.chinook">EnvironmentFairy.User</a></td>
 <th class="colLast" scope="row">
 <div class="block">Who is emulated to being logged in?</div>
 </th>
 </tr>
-<tr id="i714" class="altColor">
+<tr id="i733" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/EqualityComparer.html" title="interface in org.apache.calcite.linq4j.function">EqualityComparer</a>&lt;<a href="org/apache/calcite/linq4j/function/EqualityComparer.html" title="type parameter in EqualityComparer">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Compares values for equality.</div>
 </th>
 </tr>
-<tr id="i715" class="rowColor">
+<tr id="i734" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/EquiJoin.html" title="class in org.apache.calcite.rel.core">EquiJoin</a></td>
-<th class="colLast" scope="row">
-<div class="block">Base class for any join whose condition is based on column equality.</div>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">This class is no longer needed; if you are writing a sub-class of
+ Join that only accepts equi conditions, it is sufficient that it extends
+ <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
 </th>
 </tr>
-<tr id="i716" class="altColor">
+<tr id="i735" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/EquiJoin.html" title="class in org.apache.calcite.rel.rules">EquiJoin</a></td>
 <th class="colLast" scope="row">Deprecated.
 <div class="deprecationComment">Use
  <a href="org/apache/calcite/rel/core/EquiJoin.html" title="class in org.apache.calcite.rel.core"><code>EquiJoin in 'core' package</code></a></div>
 </th>
 </tr>
-<tr id="i717" class="rowColor">
+<tr id="i736" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/EquivalenceSet.html" title="class in org.apache.calcite.util">EquivalenceSet</a>&lt;<a href="org/apache/calcite/util/EquivalenceSet.html" title="type parameter in EquivalenceSet">E</a> extends java.lang.Comparable&lt;<a href="org/apache/calcite/util/EquivalenceSet.html" title="type parameter in EquivalenceSet">E</a>&gt;&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Set of elements organized into equivalence classes.</div>
 </th>
 </tr>
-<tr id="i718" class="altColor">
+<tr id="i737" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Evaluator.html" title="class in org.apache.calcite.linq4j.tree">Evaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Holds context for evaluating expressions.</div>
 </th>
 </tr>
-<tr id="i719" class="rowColor">
+<tr id="i738" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that imposes a particular distribution on its input
  without otherwise changing its content.</div>
 </th>
 </tr>
-<tr id="i720" class="altColor">
+<tr id="i739" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/ExchangeRemoveConstantKeysRule.html" title="class in org.apache.calcite.rel.rules">ExchangeRemoveConstantKeysRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that removes keys from
  a <a href="org/apache/calcite/rel/core/Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a> if those keys are known to be constant.</div>
 </th>
 </tr>
-<tr id="i721" class="rowColor">
+<tr id="i740" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/ExchangeRemoveConstantKeysRule.SortExchangeRemoveConstantKeysRule.html" title="class in org.apache.calcite.rel.rules">ExchangeRemoveConstantKeysRule.SortExchangeRemoveConstantKeysRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that reduces constants inside a <a href="org/apache/calcite/rel/core/SortExchange.html" title="class in org.apache.calcite.rel.core"><code>SortExchange</code></a>.</div>
 </th>
 </tr>
-<tr id="i722" class="altColor">
+<tr id="i741" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Experimental.html" title="annotation in org.apache.calcite.linq4j.function">Experimental</a></td>
 <th class="colLast" scope="row">
 <div class="block">Annotation that indicates that a class, interface, field or method
@@ -4811,141 +4934,135 @@
  or removal.</div>
 </th>
 </tr>
-<tr id="i723" class="rowColor">
+<tr id="i742" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/ExplicitOperandTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitOperandTypeInference</a></td>
 <th class="colLast" scope="row">
 <div class="block">ExplicitOperandTypeInferences implements <a href="org/apache/calcite/sql/type/SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlOperandTypeInference</code></a> by
  explicitly supplying a type for each parameter.</div>
 </th>
 </tr>
-<tr id="i724" class="altColor">
+<tr id="i743" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/ExplicitOperatorBinding.html" title="class in org.apache.calcite.sql">ExplicitOperatorBinding</a></td>
 <th class="colLast" scope="row">
 <div class="block"><code>ExplicitOperatorBinding</code> implements <a href="org/apache/calcite/sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql"><code>SqlOperatorBinding</code></a>
  via an underlying array of known operand types.</div>
 </th>
 </tr>
-<tr id="i725" class="rowColor">
+<tr id="i744" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/calcite/sql/type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlReturnTypeInference</code></a> which always returns the same SQL type.</div>
 </th>
 </tr>
-<tr id="i726" class="altColor">
+<tr id="i745" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Analogous to LINQ's System.Linq.Expression.</div>
 </th>
 </tr>
-<tr id="i727" class="rowColor">
+<tr id="i746" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expressions.html" title="class in org.apache.calcite.linq4j.tree">Expressions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility methods for expressions, including a lot of factory methods.</div>
 </th>
 </tr>
-<tr id="i728" class="altColor">
+<tr id="i747" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expressions.FluentArrayList.html" title="class in org.apache.calcite.linq4j.tree">Expressions.FluentArrayList</a>&lt;<a href="org/apache/calcite/linq4j/tree/Expressions.FluentArrayList.html" title="type parameter in Expressions.FluentArrayList">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Fluent array list.</div>
 </th>
 </tr>
-<tr id="i729" class="rowColor">
+<tr id="i748" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expressions.FluentList.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.FluentList</a>&lt;<a href="org/apache/calcite/linq4j/tree/Expressions.FluentList.html" title="type parameter in Expressions.FluentList">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Fluent list.</div>
 </th>
 </tr>
-<tr id="i730" class="altColor">
+<tr id="i749" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expressions.PropertyInfo.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.PropertyInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Property info.</div>
 </th>
 </tr>
-<tr id="i731" class="rowColor">
+<tr id="i750" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expressions.RuntimeVariablesExpression.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.RuntimeVariablesExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Runtime variables expression.</div>
 </th>
 </tr>
-<tr id="i732" class="altColor">
+<tr id="i751" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/Expressions.SymbolDocumentInfo.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.SymbolDocumentInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Symbol document info.</div>
 </th>
 </tr>
-<tr id="i733" class="rowColor">
+<tr id="i752" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ExpressionType.html" title="enum in org.apache.calcite.linq4j.tree">ExpressionType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Analogous to LINQ's System.Linq.Expressions.ExpressionType.</div>
 </th>
 </tr>
-<tr id="i734" class="altColor">
+<tr id="i753" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ExpressionVisitor.html" title="interface in org.apache.calcite.linq4j.tree">ExpressionVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a visitor or rewriter for expression trees.</div>
 </th>
 </tr>
-<tr id="i735" class="rowColor">
+<tr id="i754" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ExpressionWriter.html" title="class in org.apache.calcite.linq4j.tree">ExpressionWriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Converts an expression to Java code.</div>
 </th>
 </tr>
-<tr id="i736" class="altColor">
-<td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ExpressionWriter.Indent.html" title="class in org.apache.calcite.linq4j.tree">ExpressionWriter.Indent</a></td>
-<th class="colLast" scope="row">
-<div class="block">Helps generate strings of spaces, to indent text.</div>
-</th>
-</tr>
-<tr id="i737" class="rowColor">
+<tr id="i755" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/ExtendedEnumerable.html" title="interface in org.apache.calcite.linq4j">ExtendedEnumerable</a>&lt;<a href="org/apache/calcite/linq4j/ExtendedEnumerable.html" title="type parameter in ExtendedEnumerable">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Extension methods in <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i738" class="altColor">
+<tr id="i756" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/ExtendedOrderedEnumerable.html" title="interface in org.apache.calcite.linq4j">ExtendedOrderedEnumerable</a>&lt;<a href="org/apache/calcite/linq4j/ExtendedOrderedEnumerable.html" title="type parameter in ExtendedOrderedEnumerable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Extension methods for <a href="org/apache/calcite/linq4j/OrderedEnumerable.html" title="interface in org.apache.calcite.linq4j"><code>OrderedEnumerable</code></a>.</div>
 </th>
 </tr>
-<tr id="i739" class="rowColor">
+<tr id="i757" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/ExtendedOrderedQueryable.html" title="interface in org.apache.calcite.linq4j">ExtendedOrderedQueryable</a>&lt;<a href="org/apache/calcite/linq4j/ExtendedOrderedQueryable.html" title="type parameter in ExtendedOrderedQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Extension methods for <a href="org/apache/calcite/linq4j/OrderedQueryable.html" title="interface in org.apache.calcite.linq4j"><code>OrderedQueryable</code></a>.</div>
 </th>
 </tr>
-<tr id="i740" class="altColor">
+<tr id="i758" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/ExtendedQueryable.html" title="interface in org.apache.calcite.linq4j">ExtendedQueryable</a>&lt;<a href="org/apache/calcite/linq4j/ExtendedQueryable.html" title="type parameter in ExtendedQueryable">TSource</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Extension methods in Queryable.</div>
 </th>
 </tr>
-<tr id="i741" class="rowColor">
+<tr id="i759" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/ExtensibleTable.html" title="interface in org.apache.calcite.schema">ExtensibleTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table whose row type can be extended to include extra fields.</div>
 </th>
 </tr>
-<tr id="i742" class="altColor">
+<tr id="i760" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/Extensions.html" title="class in org.apache.calcite.linq4j">Extensions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Contains what, in LINQ.NET, would be extension methods.</div>
 </th>
 </tr>
-<tr id="i743" class="rowColor">
+<tr id="i761" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/ExtractionDimensionSpec.html" title="class in org.apache.calcite.adapter.druid">ExtractionDimensionSpec</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of extraction function DimensionSpec.</div>
 </th>
 </tr>
-<tr id="i744" class="altColor">
+<tr id="i762" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/ExtractionFunction.html" title="interface in org.apache.calcite.adapter.druid">ExtractionFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for Druid extraction functions.</div>
 </th>
 </tr>
-<tr id="i745" class="rowColor">
+<tr id="i763" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/ExtractOperatorConversion.html" title="class in org.apache.calcite.adapter.druid">ExtractOperatorConversion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Time extract operator conversion for expressions like EXTRACT(timeUnit FROM arg)
@@ -4954,7 +5071,7 @@
  MONTH (1 through 12), QUARTER (1 through 4), or YEAR</div>
 </th>
 </tr>
-<tr id="i746" class="altColor">
+<tr id="i764" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/ExtraSqlTypes.html" title="interface in org.apache.calcite.sql.type">ExtraSqlTypes</a></td>
 <th class="colLast" scope="row">
 <div class="block">Holds constants associated with SQL types introduced after the earliest
@@ -4962,100 +5079,100 @@
  introduced in JDK 1.6 or later).</div>
 </th>
 </tr>
-<tr id="i747" class="rowColor">
+<tr id="i765" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/FamilyOperandTypeChecker.html" title="class in org.apache.calcite.sql.type">FamilyOperandTypeChecker</a></td>
 <th class="colLast" scope="row">
 <div class="block">Operand type-checking strategy which checks operands for inclusion in type
  families.</div>
 </th>
 </tr>
-<tr id="i748" class="altColor">
+<tr id="i766" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/Feature.html" title="class in org.apache.calcite.runtime">Feature</a></td>
 <th class="colLast" scope="row">
 <div class="block">SQL language feature.</div>
 </th>
 </tr>
-<tr id="i749" class="rowColor">
+<tr id="i767" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/FieldDeclaration.html" title="class in org.apache.calcite.linq4j.tree">FieldDeclaration</a></td>
 <th class="colLast" scope="row">
 <div class="block">Declaration of a field.</div>
 </th>
 </tr>
-<tr id="i750" class="altColor">
+<tr id="i768" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/FieldNamespace.html" title="class in org.apache.calcite.sql.validate">FieldNamespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a> for a field of a record.</div>
 </th>
 </tr>
-<tr id="i751" class="rowColor">
+<tr id="i769" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileEnumerator.html" title="class in org.apache.calcite.adapter.file">FileEnumerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wraps <a href="org/apache/calcite/adapter/file/FileReader.html" title="class in org.apache.calcite.adapter.file"><code>FileReader</code></a> and <a href="org/apache/calcite/adapter/file/FileRowConverter.html" title="class in org.apache.calcite.adapter.file"><code>FileRowConverter</code></a>, enumerates tr DOM
  elements as table rows.</div>
 </th>
 </tr>
-<tr id="i752" class="altColor">
+<tr id="i770" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileFieldType.html" title="enum in org.apache.calcite.adapter.file">FileFieldType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type of a field in a Web (HTML) table.</div>
 </th>
 </tr>
-<tr id="i753" class="rowColor">
+<tr id="i771" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileReader.html" title="class in org.apache.calcite.adapter.file">FileReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Scrapes HTML tables from URLs using Jsoup.</div>
 </th>
 </tr>
-<tr id="i754" class="altColor">
+<tr id="i772" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileReader.FileReaderIterator.html" title="class in org.apache.calcite.adapter.file">FileReader.FileReaderIterator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Iterates over HTML tables, returning an Elements per row.</div>
 </th>
 </tr>
-<tr id="i755" class="rowColor">
+<tr id="i773" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileReaderException.html" title="class in org.apache.calcite.adapter.file">FileReaderException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Indicates that the FileReader failed.</div>
 </th>
 </tr>
-<tr id="i756" class="altColor">
+<tr id="i774" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileRowConverter.html" title="class in org.apache.calcite.adapter.file">FileRowConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">FileRowConverter.</div>
 </th>
 </tr>
-<tr id="i757" class="rowColor">
+<tr id="i775" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileSchema.html" title="class in org.apache.calcite.adapter.file">FileSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema mapped onto a set of URLs / HTML tables.</div>
 </th>
 </tr>
-<tr id="i758" class="altColor">
+<tr id="i776" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileSchemaFactory.html" title="class in org.apache.calcite.adapter.file">FileSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates a <a href="org/apache/calcite/adapter/file/FileSchema.html" title="class in org.apache.calcite.adapter.file"><code>FileSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i759" class="rowColor">
+<tr id="i777" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/os/FilesTableFunction.html" title="class in org.apache.calcite.adapter.os">FilesTableFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table function that executes the OS "find" command to find files under a
  particular path.</div>
 </th>
 </tr>
-<tr id="i760" class="altColor">
+<tr id="i778" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileTable.html" title="class in org.apache.calcite.adapter.file">FileTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table implementation wrapping a URL / HTML table.</div>
 </th>
 </tr>
-<tr id="i761" class="rowColor">
+<tr id="i779" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/file/FileTableScan.html" title="class in org.apache.calcite.adapter.file">FileTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of an HTML table.</div>
 </th>
 </tr>
-<tr id="i762" class="altColor">
+<tr id="i780" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that iterates over its input
@@ -5063,28 +5180,28 @@
  <code>true</code>.</div>
 </th>
 </tr>
-<tr id="i763" class="rowColor">
+<tr id="i781" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/FilterableTable.html" title="interface in org.apache.calcite.schema">FilterableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table that can be scanned, optionally applying supplied filter expressions,
  without creating an intermediate relational expression.</div>
 </th>
 </tr>
-<tr id="i764" class="altColor">
+<tr id="i782" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterAggregateTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterAggregateTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
  past a <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i765" class="rowColor">
+<tr id="i783" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Filterator.html" title="class in org.apache.calcite.util">Filterator</a>&lt;<a href="org/apache/calcite/util/Filterator.html" title="type parameter in Filterator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Filtered iterator class: an iterator that includes only elements that are
  instanceof a specified class.</div>
 </th>
 </tr>
-<tr id="i766" class="altColor">
+<tr id="i784" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterCalcMergeRule.html" title="class in org.apache.calcite.rel.rules">FilterCalcMergeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that merges a
@@ -5092,48 +5209,48 @@
  <a href="org/apache/calcite/rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i767" class="rowColor">
+<tr id="i785" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterCorrelateRule.html" title="class in org.apache.calcite.rel.rules">FilterCorrelateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> above a <a href="org/apache/calcite/rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> into the
  inputs of the Correlate.</div>
 </th>
 </tr>
-<tr id="i768" class="altColor">
+<tr id="i786" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterJoinRule.html" title="class in org.apache.calcite.rel.rules">FilterJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes filters above and
  within a join node into the join node and/or its children nodes.</div>
 </th>
 </tr>
-<tr id="i769" class="rowColor">
+<tr id="i787" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterJoinRule.FilterIntoJoinRule.html" title="class in org.apache.calcite.rel.rules">FilterJoinRule.FilterIntoJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that tries to push filter expressions into a join
  condition and into the inputs of the join.</div>
 </th>
 </tr>
-<tr id="i770" class="altColor">
+<tr id="i788" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterJoinRule.JoinConditionPushRule.html" title="class in org.apache.calcite.rel.rules">FilterJoinRule.JoinConditionPushRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that pushes parts of the join condition to its inputs.</div>
 </th>
 </tr>
-<tr id="i771" class="rowColor">
+<tr id="i789" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterJoinRule.Predicate.html" title="interface in org.apache.calcite.rel.rules">FilterJoinRule.Predicate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Predicate that returns whether a filter is valid in the ON clause of a
  join for this particular kind of join.</div>
 </th>
 </tr>
-<tr id="i772" class="altColor">
+<tr id="i790" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterMergeRule.html" title="class in org.apache.calcite.rel.rules">FilterMergeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that combines two
  <a href="org/apache/calcite/rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a>s.</div>
 </th>
 </tr>
-<tr id="i773" class="rowColor">
+<tr id="i791" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterMultiJoinMergeRule.html" title="class in org.apache.calcite.rel.rules">FilterMultiJoinMergeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that merges a
@@ -5141,14 +5258,14 @@
  creating a richer <code>MultiJoin</code>.</div>
 </th>
 </tr>
-<tr id="i774" class="altColor">
+<tr id="i792" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/FilterNode.html" title="class in org.apache.calcite.interpreter">FilterNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interpreter node that implements a
  <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>.</div>
 </th>
 </tr>
-<tr id="i775" class="rowColor">
+<tr id="i793" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterProjectTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes
@@ -5156,21 +5273,21 @@
  past a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div>
 </th>
 </tr>
-<tr id="i776" class="altColor">
+<tr id="i794" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterRemoveIsNotDistinctFromRule.html" title="class in org.apache.calcite.rel.rules">FilterRemoveIsNotDistinctFromRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that replaces <code>IS NOT DISTINCT FROM</code>
  in a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> with logically equivalent operations.</div>
 </th>
 </tr>
-<tr id="i777" class="rowColor">
+<tr id="i795" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterSetOpTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterSetOpTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
  past a <a href="org/apache/calcite/rel/core/SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a>.</div>
 </th>
 </tr>
-<tr id="i778" class="altColor">
+<tr id="i796" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterTableFunctionTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterTableFunctionTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes
@@ -5178,7 +5295,7 @@
  past a <a href="org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableFunctionScan</code></a>.</div>
 </th>
 </tr>
-<tr id="i779" class="rowColor">
+<tr id="i797" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterTableScanRule.html" title="class in org.apache.calcite.rel.rules">FilterTableScanRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts
@@ -5189,7 +5306,7 @@
  to a <a href="org/apache/calcite/interpreter/Bindables.BindableTableScan.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableTableScan</code></a>.</div>
 </th>
 </tr>
-<tr id="i780" class="altColor">
+<tr id="i798" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/FilterToCalcRule.html" title="class in org.apache.calcite.rel.rules">FilterToCalcRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that converts a
@@ -5197,254 +5314,264 @@
  <a href="org/apache/calcite/rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i781" class="rowColor">
+<tr id="i799" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/FirebirdSqlDialect.html" title="class in org.apache.calcite.sql.dialect">FirebirdSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Firebird database.</div>
 </th>
 </tr>
-<tr id="i782" class="altColor">
+<tr id="i800" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.html" title="class in org.apache.calcite.runtime">FlatLists</a></td>
 <th class="colLast" scope="row">
 <div class="block">Space-efficient, comparable, immutable lists.</div>
 </th>
 </tr>
-<tr id="i783" class="rowColor">
+<tr id="i801" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.AbstractFlatList.html" title="class in org.apache.calcite.runtime">FlatLists.AbstractFlatList</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.AbstractFlatList.html" title="type parameter in FlatLists.AbstractFlatList">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Base class for flat lists.</div>
 </th>
 </tr>
-<tr id="i784" class="altColor">
+<tr id="i802" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.ComparableEmptyList.html" title="class in org.apache.calcite.runtime">FlatLists.ComparableEmptyList</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.ComparableEmptyList.html" title="type parameter in FlatLists.ComparableEmptyList">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Empty list that implements the <code>Comparable</code> interface.</div>
 </th>
 </tr>
-<tr id="i785" class="rowColor">
+<tr id="i803" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.ComparableList.html" title="interface in org.apache.calcite.runtime">FlatLists.ComparableList</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.ComparableList.html" title="type parameter in FlatLists.ComparableList">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that is also comparable.</div>
 </th>
 </tr>
-<tr id="i786" class="altColor">
+<tr id="i804" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.ComparableListImpl.html" title="class in org.apache.calcite.runtime">FlatLists.ComparableListImpl</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.ComparableListImpl.html" title="type parameter in FlatLists.ComparableListImpl">T</a> extends java.lang.Comparable&lt;<a href="org/apache/calcite/runtime/FlatLists.ComparableListImpl.html" title="type parameter in FlatLists.ComparableListImpl">T</a>&gt;&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper around a list that makes it implement the <code>Comparable</code>
  interface using lexical ordering.</div>
 </th>
 </tr>
-<tr id="i787" class="rowColor">
+<tr id="i805" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.Flat1List.html" title="class in org.apache.calcite.runtime">FlatLists.Flat1List</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.Flat1List.html" title="type parameter in FlatLists.Flat1List">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that stores its one elements in the one members of the class.</div>
 </th>
 </tr>
-<tr id="i788" class="altColor">
+<tr id="i806" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.Flat2List.html" title="class in org.apache.calcite.runtime">FlatLists.Flat2List</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.Flat2List.html" title="type parameter in FlatLists.Flat2List">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that stores its two elements in the two members of the class.</div>
 </th>
 </tr>
-<tr id="i789" class="rowColor">
+<tr id="i807" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.Flat3List.html" title="class in org.apache.calcite.runtime">FlatLists.Flat3List</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.Flat3List.html" title="type parameter in FlatLists.Flat3List">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that stores its three elements in the three members of the class.</div>
 </th>
 </tr>
-<tr id="i790" class="altColor">
+<tr id="i808" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.Flat4List.html" title="class in org.apache.calcite.runtime">FlatLists.Flat4List</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.Flat4List.html" title="type parameter in FlatLists.Flat4List">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that stores its four elements in the four members of the class.</div>
 </th>
 </tr>
-<tr id="i791" class="rowColor">
+<tr id="i809" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.Flat5List.html" title="class in org.apache.calcite.runtime">FlatLists.Flat5List</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.Flat5List.html" title="type parameter in FlatLists.Flat5List">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that stores its five elements in the five members of the class.</div>
 </th>
 </tr>
-<tr id="i792" class="altColor">
+<tr id="i810" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/FlatLists.Flat6List.html" title="class in org.apache.calcite.runtime">FlatLists.Flat6List</a>&lt;<a href="org/apache/calcite/runtime/FlatLists.Flat6List.html" title="type parameter in FlatLists.Flat6List">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that stores its six elements in the six members of the class.</div>
 </th>
 </tr>
-<tr id="i793" class="rowColor">
+<tr id="i811" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/benchmarks/FlightRecorderProfiler.html" title="class in org.apache.calcite.benchmarks">FlightRecorderProfiler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Captures Flight Recorder log.</div>
 </th>
 </tr>
-<tr id="i794" class="altColor">
+<tr id="i812" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/FloatFunction1.html" title="interface in org.apache.calcite.linq4j.function">FloatFunction1</a>&lt;<a href="org/apache/calcite/linq4j/function/FloatFunction1.html" title="type parameter in FloatFunction1">T0</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function that takes one parameter and returns a native <code>float</code> value.</div>
 </th>
 </tr>
-<tr id="i795" class="rowColor">
+<tr id="i813" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/FloorOperatorConversion.html" title="class in org.apache.calcite.adapter.druid">FloorOperatorConversion</a></td>
 <th class="colLast" scope="row">
 <div class="block">DruidSqlOperatorConverter implementation that handles Floor operations conversions</div>
 </th>
 </tr>
-<tr id="i796" class="altColor">
+<tr id="i814" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ForEachStatement.html" title="class in org.apache.calcite.linq4j.tree">ForEachStatement</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a "for-each" loop, "for (T v : iterable) { f(v); }"</div>
+</th>
+</tr>
+<tr id="i815" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/ForStatement.html" title="class in org.apache.calcite.linq4j.tree">ForStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an infinite loop.</div>
 </th>
 </tr>
-<tr id="i797" class="rowColor">
+<tr id="i816" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/tools/FrameworkConfig.html" title="interface in org.apache.calcite.tools">FrameworkConfig</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface that describes how to configure planning sessions generated
  using the Frameworks tools.</div>
 </th>
 </tr>
-<tr id="i798" class="altColor">
+<tr id="i817" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/tools/Frameworks.html" title="class in org.apache.calcite.tools">Frameworks</a></td>
 <th class="colLast" scope="row">
 <div class="block">Tools for invoking Calcite functionality without initializing a container /
  server first.</div>
 </th>
 </tr>
-<tr id="i799" class="rowColor">
+<tr id="i818" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/tools/Frameworks.BasePrepareAction.html" title="interface in org.apache.calcite.tools">Frameworks.BasePrepareAction</a>&lt;<a href="org/apache/calcite/tools/Frameworks.BasePrepareAction.html" title="type parameter in Frameworks.BasePrepareAction">R</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Piece of code to be run in a context where a planner and statement are
+ available.</div>
+</th>
+</tr>
+<tr id="i819" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/tools/Frameworks.ConfigBuilder.html" title="class in org.apache.calcite.tools">Frameworks.ConfigBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">A builder to help you build a <a href="org/apache/calcite/tools/FrameworkConfig.html" title="interface in org.apache.calcite.tools"><code>FrameworkConfig</code></a> using defaults
  where values aren't required.</div>
 </th>
 </tr>
-<tr id="i800" class="altColor">
+<tr id="i820" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/tools/Frameworks.PlannerAction.html" title="interface in org.apache.calcite.tools">Frameworks.PlannerAction</a>&lt;<a href="org/apache/calcite/tools/Frameworks.PlannerAction.html" title="type parameter in Frameworks.PlannerAction">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Piece of code to be run in a context where a planner is available.</div>
 </th>
 </tr>
-<tr id="i801" class="rowColor">
+<tr id="i821" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/tools/Frameworks.PrepareAction.html" title="class in org.apache.calcite.tools">Frameworks.PrepareAction</a>&lt;<a href="org/apache/calcite/tools/Frameworks.PrepareAction.html" title="type parameter in Frameworks.PrepareAction">R</a>&gt;</td>
-<th class="colLast" scope="row">
-<div class="block">Piece of code to be run in a context where a planner and statement are
- available.</div>
-</th>
+<th class="colLast" scope="row">Deprecated.</th>
 </tr>
-<tr id="i802" class="altColor">
+<tr id="i822" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/tools/Frameworks.StdFrameworkConfig.html" title="class in org.apache.calcite.tools">Frameworks.StdFrameworkConfig</a></td>
 <th class="colLast" scope="row">
 <div class="block">An implementation of <a href="org/apache/calcite/tools/FrameworkConfig.html" title="interface in org.apache.calcite.tools"><code>FrameworkConfig</code></a> that uses standard Calcite
  classes to provide basic planner functionality.</div>
 </th>
 </tr>
-<tr id="i803" class="rowColor">
+<tr id="i823" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Function.html" title="interface in org.apache.calcite.linq4j.function">Function</a>&lt;<a href="org/apache/calcite/linq4j/function/Function.html" title="type parameter in Function">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Base interface for all functions.</div>
 </th>
 </tr>
-<tr id="i804" class="altColor">
+<tr id="i824" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/Function.html" title="interface in org.apache.calcite.schema">Function</a></td>
 <th class="colLast" scope="row">
 <div class="block">Named expression that accepts parameters and returns a result.</div>
 </th>
 </tr>
-<tr id="i805" class="rowColor">
+<tr id="i825" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Function0.html" title="interface in org.apache.calcite.linq4j.function">Function0</a>&lt;<a href="org/apache/calcite/linq4j/function/Function0.html" title="type parameter in Function0">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function with no parameters.</div>
 </th>
 </tr>
-<tr id="i806" class="altColor">
+<tr id="i826" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Function1.html" title="interface in org.apache.calcite.linq4j.function">Function1</a>&lt;<a href="org/apache/calcite/linq4j/function/Function1.html" title="type parameter in Function1">T0</a>,&#8203;<a href="org/apache/calcite/linq4j/function/Function1.html" title="type parameter in Function1">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function with one parameter.</div>
 </th>
 </tr>
-<tr id="i807" class="rowColor">
+<tr id="i827" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="org/apache/calcite/linq4j/function/Function2.html" title="type parameter in Function2">T0</a>,&#8203;<a href="org/apache/calcite/linq4j/function/Function2.html" title="type parameter in Function2">T1</a>,&#8203;<a href="org/apache/calcite/linq4j/function/Function2.html" title="type parameter in Function2">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function with two parameters.</div>
 </th>
 </tr>
-<tr id="i808" class="altColor">
+<tr id="i828" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/FunctionExpression.html" title="class in org.apache.calcite.linq4j.tree">FunctionExpression</a>&lt;<a href="org/apache/calcite/linq4j/tree/FunctionExpression.html" title="type parameter in FunctionExpression">F</a> extends <a href="org/apache/calcite/linq4j/function/Function.html" title="interface in org.apache.calcite.linq4j.function">Function</a>&lt;?&gt;&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents a strongly typed lambda expression as a data structure in the form
  of an expression tree.</div>
 </th>
 </tr>
-<tr id="i809" class="rowColor">
+<tr id="i829" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/FunctionExpression.Invokable.html" title="interface in org.apache.calcite.linq4j.tree">FunctionExpression.Invokable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function that can be invoked with a variable number of arguments.</div>
 </th>
 </tr>
-<tr id="i810" class="altColor">
+<tr id="i830" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/FunctionParameter.html" title="interface in org.apache.calcite.schema">FunctionParameter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parameter to a <a href="org/apache/calcite/schema/Function.html" title="interface in org.apache.calcite.schema"><code>Function</code></a>.</div>
 </th>
 </tr>
-<tr id="i811" class="rowColor">
+<tr id="i831" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.html" title="class in org.apache.calcite.linq4j.function">Functions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities relating to functions.</div>
 </th>
 </tr>
-<tr id="i812" class="altColor">
+<tr id="i832" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.ArrayEqualityComparer.html" title="class in org.apache.calcite.linq4j.function">Functions.ArrayEqualityComparer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Array equality comparer.</div>
 </th>
 </tr>
-<tr id="i813" class="rowColor">
+<tr id="i833" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.GeneratingList.html" title="class in org.apache.calcite.linq4j.function">Functions.GeneratingList</a>&lt;<a href="org/apache/calcite/linq4j/function/Functions.GeneratingList.html" title="type parameter in Functions.GeneratingList">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">List that generates each element using a function.</div>
 </th>
 </tr>
-<tr id="i814" class="altColor">
+<tr id="i834" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.IdentityEqualityComparer.html" title="class in org.apache.calcite.linq4j.function">Functions.IdentityEqualityComparer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Identity equality comparer.</div>
 </th>
 </tr>
-<tr id="i815" class="rowColor">
+<tr id="i835" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.Ignore.html" title="class in org.apache.calcite.linq4j.function">Functions.Ignore</a>&lt;<a href="org/apache/calcite/linq4j/function/Functions.Ignore.html" title="type parameter in Functions.Ignore">R</a>,&#8203;<a href="org/apache/calcite/linq4j/function/Functions.Ignore.html" title="type parameter in Functions.Ignore">T0</a>,&#8203;<a href="org/apache/calcite/linq4j/function/Functions.Ignore.html" title="type parameter in Functions.Ignore">T1</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Ignore.</div>
 </th>
 </tr>
-<tr id="i816" class="altColor">
+<tr id="i836" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.NullsFirstComparator.html" title="class in org.apache.calcite.linq4j.function">Functions.NullsFirstComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Nulls first comparator.</div>
 </th>
 </tr>
-<tr id="i817" class="rowColor">
+<tr id="i837" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.NullsFirstReverseComparator.html" title="class in org.apache.calcite.linq4j.function">Functions.NullsFirstReverseComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Nulls first reverse comparator.</div>
 </th>
 </tr>
-<tr id="i818" class="altColor">
+<tr id="i838" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.NullsLastComparator.html" title="class in org.apache.calcite.linq4j.function">Functions.NullsLastComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Nulls last comparator.</div>
 </th>
 </tr>
-<tr id="i819" class="rowColor">
+<tr id="i839" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.NullsLastReverseComparator.html" title="class in org.apache.calcite.linq4j.function">Functions.NullsLastReverseComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Nulls last reverse comparator.</div>
 </th>
 </tr>
-<tr id="i820" class="altColor">
+<tr id="i840" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/Functions.SelectorEqualityComparer.html" title="class in org.apache.calcite.linq4j.function">Functions.SelectorEqualityComparer</a>&lt;<a href="org/apache/calcite/linq4j/function/Functions.SelectorEqualityComparer.html" title="type parameter in Functions.SelectorEqualityComparer">T</a>,&#8203;<a href="org/apache/calcite/linq4j/function/Functions.SelectorEqualityComparer.html" title="type parameter in Functions.SelectorEqualityComparer">T2</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Selector equality comparer.</div>
 </th>
 </tr>
-<tr id="i821" class="rowColor">
+<tr id="i841" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeAggregate.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
@@ -5452,26 +5579,26 @@
  in Geode.</div>
 </th>
 </tr>
-<tr id="i822" class="altColor">
+<tr id="i842" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeEnumerator.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeEnumerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator that reads from a Geode Regions.</div>
 </th>
 </tr>
-<tr id="i823" class="rowColor">
+<tr id="i843" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeFilter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
  <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> relational expression in Geode.</div>
 </th>
 </tr>
-<tr id="i824" class="altColor">
+<tr id="i844" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeFilter.Translator.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeFilter.Translator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translates <a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> expressions into Geode expression strings.</div>
 </th>
 </tr>
-<tr id="i825" class="rowColor">
+<tr id="i845" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeProject.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeProject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
@@ -5479,101 +5606,101 @@
  relational expression in Geode.</div>
 </th>
 </tr>
-<tr id="i826" class="altColor">
+<tr id="i846" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRel.html" title="interface in org.apache.calcite.adapter.geode.rel">GeodeRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that uses Geode calling convention.</div>
 </th>
 </tr>
-<tr id="i827" class="rowColor">
+<tr id="i847" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRel.GeodeImplementContext.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRel.GeodeImplementContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Shared context used by the <a href="org/apache/calcite/adapter/geode/rel/GeodeRel.html" title="interface in org.apache.calcite.adapter.geode.rel"><code>GeodeRel</code></a> relations.</div>
 </th>
 </tr>
-<tr id="i828" class="altColor">
+<tr id="i848" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rules and relational operators for <a href="org/apache/calcite/adapter/geode/rel/GeodeRel.html#CONVENTION"><code>GeodeRel.CONVENTION</code></a> calling convention.</div>
 </th>
 </tr>
-<tr id="i829" class="rowColor">
+<tr id="i849" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.GeodeAggregateRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> to a
  <a href="org/apache/calcite/adapter/geode/rel/GeodeAggregate.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeAggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i830" class="altColor">
+<tr id="i850" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.GeodeConverterRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for planner rules that convert a relational
  expression to Geode calling convention.</div>
 </th>
 </tr>
-<tr id="i831" class="rowColor">
+<tr id="i851" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.GeodeFilterRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a
  <a href="org/apache/calcite/adapter/geode/rel/GeodeFilter.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeFilter</code></a>.</div>
 </th>
 </tr>
-<tr id="i832" class="altColor">
+<tr id="i852" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.GeodeProjectRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> to a <a href="org/apache/calcite/adapter/geode/rel/GeodeProject.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeProject</code></a>.</div>
 </th>
 </tr>
-<tr id="i833" class="rowColor">
+<tr id="i853" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.GeodeSortLimitRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeSortLimitRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert the Limit in <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
  <a href="org/apache/calcite/adapter/geode/rel/GeodeSort.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeSort</code></a>.</div>
 </th>
 </tr>
-<tr id="i834" class="altColor">
+<tr id="i854" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeRules.RexToGeodeTranslator.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.RexToGeodeTranslator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Translator from <a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> to strings in Geode's expression language.</div>
 </th>
 </tr>
-<tr id="i835" class="rowColor">
+<tr id="i855" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeSchema.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema mapped onto a Geode Region.</div>
 </th>
 </tr>
-<tr id="i836" class="altColor">
+<tr id="i856" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeSchemaFactory.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory that creates a <a href="org/apache/calcite/adapter/geode/rel/GeodeSchema.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i837" class="rowColor">
+<tr id="i857" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/simple/GeodeSimpleEnumerator.html" title="class in org.apache.calcite.adapter.geode.simple">GeodeSimpleEnumerator</a>&lt;<a href="org/apache/calcite/adapter/geode/simple/GeodeSimpleEnumerator.html" title="type parameter in GeodeSimpleEnumerator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Geode Simple Enumerator.</div>
 </th>
 </tr>
-<tr id="i838" class="altColor">
+<tr id="i858" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/simple/GeodeSimpleScannableTable.html" title="class in org.apache.calcite.adapter.geode.simple">GeodeSimpleScannableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Geode Simple Scannable Table Abstraction</div>
 </th>
 </tr>
-<tr id="i839" class="rowColor">
+<tr id="i859" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/simple/GeodeSimpleSchema.html" title="class in org.apache.calcite.adapter.geode.simple">GeodeSimpleSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Geode Simple Schema.</div>
 </th>
 </tr>
-<tr id="i840" class="altColor">
+<tr id="i860" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/simple/GeodeSimpleSchemaFactory.html" title="class in org.apache.calcite.adapter.geode.simple">GeodeSimpleSchemaFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Geode Simple Table Schema Factory.</div>
 </th>
 </tr>
-<tr id="i841" class="rowColor">
+<tr id="i861" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeSort.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeSort</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of
@@ -5581,373 +5708,373 @@
  relational expression in Geode.</div>
 </th>
 </tr>
-<tr id="i842" class="altColor">
+<tr id="i862" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeTable.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a Geode Region</div>
 </th>
 </tr>
-<tr id="i843" class="rowColor">
+<tr id="i863" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeTable.GeodeQueryable.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeTable.GeodeQueryable</a>&lt;<a href="org/apache/calcite/adapter/geode/rel/GeodeTable.GeodeQueryable.html" title="type parameter in GeodeTable.GeodeQueryable">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> based on a <a href="org/apache/calcite/adapter/geode/rel/GeodeTable.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeTable</code></a>.</div>
 </th>
 </tr>
-<tr id="i844" class="altColor">
+<tr id="i864" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeTableScan.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a Geode collection.</div>
 </th>
 </tr>
-<tr id="i845" class="rowColor">
+<tr id="i865" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeToEnumerableConverter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeToEnumerableConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a table in a Geode data source.</div>
 </th>
 </tr>
-<tr id="i846" class="altColor">
+<tr id="i866" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/rel/GeodeToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeToEnumerableConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a relational expression from
  <a href="org/apache/calcite/adapter/geode/rel/GeodeRel.html#CONVENTION"><code>GeodeRel.CONVENTION</code></a> to <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
 </th>
 </tr>
-<tr id="i847" class="rowColor">
+<tr id="i867" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/util/GeodeUtils.html" title="class in org.apache.calcite.adapter.geode.util">GeodeUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for the Geode adapter.</div>
 </th>
 </tr>
-<tr id="i848" class="altColor">
+<tr id="i868" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.html" title="class in org.apache.calcite.runtime">GeoFunctions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper methods to implement Geo-spatial functions in generated code.</div>
 </th>
 </tr>
-<tr id="i849" class="rowColor">
+<tr id="i869" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.CapStyle.html" title="enum in org.apache.calcite.runtime">GeoFunctions.CapStyle</a></td>
 <th class="colLast" scope="row">
 <div class="block">How the "buffer" command terminates the end of a line.</div>
 </th>
 </tr>
-<tr id="i850" class="altColor">
+<tr id="i870" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.Geom.html" title="interface in org.apache.calcite.runtime">GeoFunctions.Geom</a></td>
 <th class="colLast" scope="row">
 <div class="block">Geometry.</div>
 </th>
 </tr>
-<tr id="i851" class="rowColor">
+<tr id="i871" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.JoinStyle.html" title="enum in org.apache.calcite.runtime">GeoFunctions.JoinStyle</a></td>
 <th class="colLast" scope="row">
 <div class="block">How the "buffer" command decorates junctions between line segments.</div>
 </th>
 </tr>
-<tr id="i852" class="altColor">
+<tr id="i872" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.MapGeom.html" title="class in org.apache.calcite.runtime">GeoFunctions.MapGeom</a></td>
 <th class="colLast" scope="row">
 <div class="block">Sub-class of geometry that has a spatial reference.</div>
 </th>
 </tr>
-<tr id="i853" class="rowColor">
+<tr id="i873" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.SimpleGeom.html" title="class in org.apache.calcite.runtime">GeoFunctions.SimpleGeom</a></td>
 <th class="colLast" scope="row">
 <div class="block">Sub-class of geometry that has no spatial reference.</div>
 </th>
 </tr>
-<tr id="i854" class="altColor">
+<tr id="i874" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/GeoFunctions.Type.html" title="enum in org.apache.calcite.runtime">GeoFunctions.Type</a></td>
 <th class="colLast" scope="row">
 <div class="block">Geometry types, with the names and codes assigned by OGC.</div>
 </th>
 </tr>
-<tr id="i855" class="rowColor">
+<tr id="i875" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/os/GitCommitsTableFunction.html" title="class in org.apache.calcite.adapter.os">GitCommitsTableFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table function that executes the OS "git log" command
  to discover git commits.</div>
 </th>
 </tr>
-<tr id="i856" class="altColor">
+<tr id="i876" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></td>
 <th class="colLast" scope="row">
 <div class="block">A collection of terms.</div>
 </th>
 </tr>
-<tr id="i857" class="rowColor">
+<tr id="i877" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/GotoExpressionKind.html" title="enum in org.apache.calcite.linq4j.tree">GotoExpressionKind</a></td>
 <th class="colLast" scope="row">
 <div class="block">Specifies what kind of jump a <a href="org/apache/calcite/linq4j/tree/GotoStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>GotoStatement</code></a> represents.</div>
 </th>
 </tr>
-<tr id="i858" class="altColor">
+<tr id="i878" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/GotoStatement.html" title="class in org.apache.calcite.linq4j.tree">GotoStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an unconditional jump.</div>
 </th>
 </tr>
-<tr id="i859" class="rowColor">
+<tr id="i879" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/Granularities.html" title="class in org.apache.calcite.adapter.druid">Granularities</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory methods and helpers for <a href="org/apache/calcite/adapter/druid/Granularity.html" title="interface in org.apache.calcite.adapter.druid"><code>Granularity</code></a>.</div>
 </th>
 </tr>
-<tr id="i860" class="altColor">
+<tr id="i880" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/Granularities.AllGranularity.html" title="enum in org.apache.calcite.adapter.druid">Granularities.AllGranularity</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/druid/Granularity.html" title="interface in org.apache.calcite.adapter.druid"><code>Granularity</code></a> for <a href="org/apache/calcite/adapter/druid/Granularity.Type.html#ALL"><code>Granularity.Type.ALL</code></a>.</div>
 </th>
 </tr>
-<tr id="i861" class="rowColor">
+<tr id="i881" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/Granularities.PeriodGranularity.html" title="class in org.apache.calcite.adapter.druid">Granularities.PeriodGranularity</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/druid/Granularity.html" title="interface in org.apache.calcite.adapter.druid"><code>Granularity</code></a> based on a time unit.</div>
 </th>
 </tr>
-<tr id="i862" class="altColor">
+<tr id="i882" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/Granularity.html" title="interface in org.apache.calcite.adapter.druid">Granularity</a></td>
 <th class="colLast" scope="row">
 <div class="block">A strategy by which Druid rolls up rows into sub-totals based on their
  timestamp values.</div>
 </th>
 </tr>
-<tr id="i863" class="rowColor">
+<tr id="i883" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/druid/Granularity.Type.html" title="enum in org.apache.calcite.adapter.druid">Granularity.Type</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type of supported periods for granularity.</div>
 </th>
 </tr>
-<tr id="i864" class="altColor">
+<tr id="i884" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/Graphs.html" title="class in org.apache.calcite.util.graph">Graphs</a></td>
 <th class="colLast" scope="row">
 <div class="block">Miscellaneous graph utilities.</div>
 </th>
 </tr>
-<tr id="i865" class="rowColor">
+<tr id="i885" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/graph/Graphs.FrozenGraph.html" title="class in org.apache.calcite.util.graph">Graphs.FrozenGraph</a>&lt;<a href="org/apache/calcite/util/graph/Graphs.FrozenGraph.html" title="type parameter in Graphs.FrozenGraph">V</a>,&#8203;<a href="org/apache/calcite/util/graph/Graphs.FrozenGraph.html" title="type parameter in Graphs.FrozenGraph">E</a> extends <a href="org/apache/calcite/util/graph/DefaultEdge.html" title="class in org.apache.calcite.util.graph">DefaultEdge</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Immutable grap.</div>
 </th>
 </tr>
-<tr id="i866" class="altColor">
+<tr id="i886" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/GroupByScope.html" title="class in org.apache.calcite.sql.validate">GroupByScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents the name-resolution context for expressions in an GROUP BY clause.</div>
 </th>
 </tr>
-<tr id="i867" class="rowColor">
+<tr id="i887" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/Grouping.html" title="interface in org.apache.calcite.linq4j">Grouping</a>&lt;<a href="org/apache/calcite/linq4j/Grouping.html" title="type parameter in Grouping">K</a>,&#8203;<a href="org/apache/calcite/linq4j/Grouping.html" title="type parameter in Grouping">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents a collection of objects that have a common key.</div>
 </th>
 </tr>
-<tr id="i868" class="altColor">
+<tr id="i888" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/GroupingImpl.html" title="class in org.apache.calcite.linq4j">GroupingImpl</a>&lt;<a href="org/apache/calcite/linq4j/GroupingImpl.html" title="type parameter in GroupingImpl">K</a>,&#8203;<a href="org/apache/calcite/linq4j/GroupingImpl.html" title="type parameter in GroupingImpl">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/Grouping.html" title="interface in org.apache.calcite.linq4j"><code>Grouping</code></a>.</div>
 </th>
 </tr>
-<tr id="i869" class="rowColor">
+<tr id="i889" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/H2SqlDialect.html" title="class in org.apache.calcite.sql.dialect">H2SqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the H2 database.</div>
 </th>
 </tr>
-<tr id="i870" class="altColor">
+<tr id="i890" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/piglet/Handler.html" title="class in org.apache.calcite.piglet">Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Walks over a Piglet AST and calls the corresponding methods in a
  <a href="org/apache/calcite/tools/PigRelBuilder.html" title="class in org.apache.calcite.tools"><code>PigRelBuilder</code></a>.</div>
 </th>
 </tr>
-<tr id="i871" class="rowColor">
+<tr id="i891" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.html" title="class in org.apache.calcite.plan.hep">HepInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepInstruction represents one instruction in a HepProgram.</div>
 </th>
 </tr>
-<tr id="i872" class="altColor">
+<tr id="i892" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.BeginGroup.html" title="class in org.apache.calcite.plan.hep">HepInstruction.BeginGroup</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that begins a group.</div>
 </th>
 </tr>
-<tr id="i873" class="rowColor">
+<tr id="i893" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.CommonRelSubExprRules.html" title="class in org.apache.calcite.plan.hep">HepInstruction.CommonRelSubExprRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that finds common relational sub-expressions.</div>
 </th>
 </tr>
-<tr id="i874" class="altColor">
+<tr id="i894" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.ConverterRules.html" title="class in org.apache.calcite.plan.hep">HepInstruction.ConverterRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that executes converter rules.</div>
 </th>
 </tr>
-<tr id="i875" class="rowColor">
+<tr id="i895" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.EndGroup.html" title="class in org.apache.calcite.plan.hep">HepInstruction.EndGroup</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that ends a group.</div>
 </th>
 </tr>
-<tr id="i876" class="altColor">
+<tr id="i896" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.MatchLimit.html" title="class in org.apache.calcite.plan.hep">HepInstruction.MatchLimit</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that sets match limit.</div>
 </th>
 </tr>
-<tr id="i877" class="rowColor">
+<tr id="i897" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.MatchOrder.html" title="class in org.apache.calcite.plan.hep">HepInstruction.MatchOrder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that sets match order.</div>
 </th>
 </tr>
-<tr id="i878" class="altColor">
+<tr id="i898" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.RuleClass.html" title="class in org.apache.calcite.plan.hep">HepInstruction.RuleClass</a>&lt;<a href="org/apache/calcite/plan/hep/HepInstruction.RuleClass.html" title="type parameter in HepInstruction.RuleClass">R</a> extends <a href="org/apache/calcite/plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that executes all rules of a given class.</div>
 </th>
 </tr>
-<tr id="i879" class="rowColor">
+<tr id="i899" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.RuleCollection.html" title="class in org.apache.calcite.plan.hep">HepInstruction.RuleCollection</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that executes all rules in a given collection.</div>
 </th>
 </tr>
-<tr id="i880" class="altColor">
+<tr id="i900" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.RuleInstance.html" title="class in org.apache.calcite.plan.hep">HepInstruction.RuleInstance</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that executes a given rule.</div>
 </th>
 </tr>
-<tr id="i881" class="rowColor">
+<tr id="i901" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepInstruction.Subprogram.html" title="class in org.apache.calcite.plan.hep">HepInstruction.Subprogram</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instruction that executes a sub-program.</div>
 </th>
 </tr>
-<tr id="i882" class="altColor">
+<tr id="i902" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepMatchOrder.html" title="enum in org.apache.calcite.plan.hep">HepMatchOrder</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepMatchOrder specifies the order of graph traversal when looking for rule
  matches.</div>
 </th>
 </tr>
-<tr id="i883" class="rowColor">
+<tr id="i903" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepPlanner.html" title="class in org.apache.calcite.plan.hep">HepPlanner</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepPlanner is a heuristic implementation of the <a href="org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan"><code>RelOptPlanner</code></a>
  interface.</div>
 </th>
 </tr>
-<tr id="i884" class="altColor">
+<tr id="i904" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepProgram.html" title="class in org.apache.calcite.plan.hep">HepProgram</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepProgram specifies the order in which rules should be attempted by
  <a href="org/apache/calcite/plan/hep/HepPlanner.html" title="class in org.apache.calcite.plan.hep"><code>HepPlanner</code></a>.</div>
 </th>
 </tr>
-<tr id="i885" class="rowColor">
+<tr id="i905" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepProgramBuilder.html" title="class in org.apache.calcite.plan.hep">HepProgramBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepProgramBuilder creates instances of <a href="org/apache/calcite/plan/hep/HepProgram.html" title="class in org.apache.calcite.plan.hep"><code>HepProgram</code></a>.</div>
 </th>
 </tr>
-<tr id="i886" class="altColor">
+<tr id="i906" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepRelMetadataProvider.html" title="class in org.apache.calcite.plan.hep">HepRelMetadataProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepRelMetadataProvider implements the <a href="org/apache/calcite/rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> interface
  by combining metadata from the rels inside of a <a href="org/apache/calcite/plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep"><code>HepRelVertex</code></a>.</div>
 </th>
 </tr>
-<tr id="i887" class="rowColor">
+<tr id="i907" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepRelVertex wraps a real <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> as a vertex in a DAG representing
  the entire query expression.</div>
 </th>
 </tr>
-<tr id="i888" class="altColor">
+<tr id="i908" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/plan/hep/HepRuleCall.html" title="class in org.apache.calcite.plan.hep">HepRuleCall</a></td>
 <th class="colLast" scope="row">
 <div class="block">HepRuleCall implements <a href="org/apache/calcite/plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan"><code>RelOptRuleCall</code></a> for a <a href="org/apache/calcite/plan/hep/HepPlanner.html" title="class in org.apache.calcite.plan.hep"><code>HepPlanner</code></a>.</div>
 </th>
 </tr>
-<tr id="i889" class="rowColor">
+<tr id="i909" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/HiveSqlDialect.html" title="class in org.apache.calcite.sql.dialect">HiveSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Apache Hive database.</div>
 </th>
 </tr>
-<tr id="i890" class="altColor">
+<tr id="i910" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/mutable/Holder.html" title="class in org.apache.calcite.rel.mutable">Holder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable"><code>MutableRel</code></a> whose only purpose is to have a
  child.</div>
 </th>
 </tr>
-<tr id="i891" class="rowColor">
+<tr id="i911" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/Holder.html" title="class in org.apache.calcite.util">Holder</a>&lt;<a href="org/apache/calcite/util/Holder.html" title="type parameter in Holder">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A mutable slot that can contain one object.</div>
 </th>
 </tr>
-<tr id="i892" class="altColor">
+<tr id="i912" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/Hook.html" title="enum in org.apache.calcite.runtime">Hook</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collection of hooks that can be set by observers and are executed at various
  parts of the query preparation process.</div>
 </th>
 </tr>
-<tr id="i893" class="rowColor">
+<tr id="i913" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/Hook.Closeable.html" title="interface in org.apache.calcite.runtime">Hook.Closeable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Removes a Hook after use.</div>
 </th>
 </tr>
-<tr id="i894" class="altColor">
+<tr id="i914" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/HsqldbSqlDialect.html" title="class in org.apache.calcite.sql.dialect">HsqldbSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Hsqldb database.</div>
 </th>
 </tr>
-<tr id="i895" class="rowColor">
+<tr id="i915" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/spark/HttpServer.html" title="class in org.apache.calcite.adapter.spark">HttpServer</a></td>
 <th class="colLast" scope="row">
 <div class="block">An HTTP server for static content used to allow worker nodes to access JARs.</div>
 </th>
 </tr>
-<tr id="i896" class="altColor">
+<tr id="i916" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/HttpUtils.html" title="class in org.apache.calcite.runtime">HttpUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for connecting to REST services such as Splunk via HTTP.</div>
 </th>
 </tr>
-<tr id="i897" class="rowColor">
+<tr id="i917" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/IdentifierNamespace.html" title="class in org.apache.calcite.sql.validate">IdentifierNamespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Namespace whose contents are defined by the type of an
  <a href="org/apache/calcite/sql/SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>identifier</code></a>.</div>
 </th>
 </tr>
-<tr id="i898" class="altColor">
+<tr id="i918" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></td>
 <th class="colLast" scope="row">
 <div class="block">An immutable list of bits.</div>
 </th>
 </tr>
-<tr id="i899" class="rowColor">
+<tr id="i919" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableBitSet.Builder.html" title="class in org.apache.calcite.util">ImmutableBitSet.Builder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builder.</div>
 </th>
 </tr>
-<tr id="i900" class="altColor">
+<tr id="i920" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableBitSet.Closure.html" title="class in org.apache.calcite.util">ImmutableBitSet.Closure</a></td>
 <th class="colLast" scope="row">
 <div class="block">Setup equivalence Sets for each position.</div>
 </th>
 </tr>
-<tr id="i901" class="rowColor">
+<tr id="i921" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableBitSet.Rebuilder.html" title="class in org.apache.calcite.util">ImmutableBitSet.Rebuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Refinement of <a href="org/apache/calcite/util/ImmutableBitSet.Builder.html" title="class in org.apache.calcite.util"><code>ImmutableBitSet.Builder</code></a> that remembers its original
@@ -5955,126 +6082,134 @@
  when <a href="org/apache/calcite/util/ImmutableBitSet.Rebuilder.html#build()"><code>ImmutableBitSet.Rebuilder.build()</code></a> is called.</div>
 </th>
 </tr>
-<tr id="i902" class="altColor">
+<tr id="i922" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a></td>
 <th class="colLast" scope="row">
 <div class="block">An immutable list of <code>Integer</code> values backed by an array of
  <code>int</code>s.</div>
 </th>
 </tr>
-<tr id="i903" class="rowColor">
+<tr id="i923" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableIntList.AbstractIndexedListIterator.html" title="class in org.apache.calcite.util">ImmutableIntList.AbstractIndexedListIterator</a>&lt;<a href="org/apache/calcite/util/ImmutableIntList.AbstractIndexedListIterator.html" title="type parameter in ImmutableIntList.AbstractIndexedListIterator">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Extension to <code>UnmodifiableListIterator</code>
  that operates by index.</div>
 </th>
 </tr>
-<tr id="i904" class="altColor">
+<tr id="i924" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableIntList.EmptyImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList.EmptyImmutableIntList</a></td>
 <th class="colLast" scope="row">
 <div class="block">Special sub-class of <a href="org/apache/calcite/util/ImmutableIntList.html" title="class in org.apache.calcite.util"><code>ImmutableIntList</code></a> that is always
  empty and has only one instance.</div>
 </th>
 </tr>
-<tr id="i905" class="rowColor">
+<tr id="i925" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableNullableList.html" title="class in org.apache.calcite.util">ImmutableNullableList</a>&lt;<a href="org/apache/calcite/util/ImmutableNullableList.html" title="type parameter in ImmutableNullableList">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">An immutable list that may contain null values.</div>
 </th>
 </tr>
-<tr id="i906" class="altColor">
+<tr id="i926" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/ImmutableNullableList.Builder.html" title="class in org.apache.calcite.util">ImmutableNullableList.Builder</a>&lt;<a href="org/apache/calcite/util/ImmutableNullableList.Builder.html" title="type parameter in ImmutableNullableList.Builder">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A builder for creating immutable nullable list instances.</div>
 </th>
 </tr>
-<tr id="i907" class="rowColor">
+<tr id="i927" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/ImplementableAggFunction.html" title="interface in org.apache.calcite.schema">ImplementableAggFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function that can be translated to java code.</div>
 </th>
 </tr>
-<tr id="i908" class="altColor">
+<tr id="i928" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/schema/ImplementableFunction.html" title="interface in org.apache.calcite.schema">ImplementableFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function that can be translated to java code.</div>
 </th>
 </tr>
-<tr id="i909" class="rowColor">
+<tr id="i929" class="rowColor">
+<td class="colFirst"><a href="org/apache/calcite/sql/type/ImplicitCastOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">ImplicitCastOperandTypeChecker</a></td>
+<th class="colLast" scope="row">
+<div class="block">An operand type checker that supports implicit type cast, see
+ <a href="org/apache/calcite/sql/validate/implicit/TypeCoercion.html#builtinFunctionCoercion(org.apache.calcite.sql.SqlCallBinding,java.util.List,java.util.List)"><code>TypeCoercion.builtinFunctionCoercion(SqlCallBinding, List, List)</code></a>
+ for details.</div>
+</th>
+</tr>
+<tr id="i930" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/IndexExpression.html" title="class in org.apache.calcite.linq4j.tree">IndexExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents indexing a property or array.</div>
 </th>
 </tr>
-<tr id="i910" class="altColor">
+<tr id="i931" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/InferTypes.html" title="class in org.apache.calcite.sql.type">InferTypes</a></td>
 <th class="colLast" scope="row">
 <div class="block">Strategies for inferring operand types.</div>
 </th>
 </tr>
-<tr id="i911" class="rowColor">
+<tr id="i932" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/InfobrightSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InfobrightSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Infobright database.</div>
 </th>
 </tr>
-<tr id="i912" class="altColor">
+<tr id="i933" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/InformixSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InformixSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Informix database.</div>
 </th>
 </tr>
-<tr id="i913" class="rowColor">
+<tr id="i934" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/IngresSqlDialect.html" title="class in org.apache.calcite.sql.dialect">IngresSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Ingres database.</div>
 </th>
 </tr>
-<tr id="i914" class="altColor">
+<tr id="i935" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/InitializerContext.html" title="interface in org.apache.calcite.sql2rel">InitializerContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Provides context for <a href="org/apache/calcite/sql2rel/InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel"><code>InitializerExpressionFactory</code></a> methods.</div>
 </th>
 </tr>
-<tr id="i915" class="rowColor">
+<tr id="i936" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql2rel/InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel">InitializerExpressionFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">InitializerExpressionFactory supplies default values for INSERT, UPDATE, and NEW.</div>
 </th>
 </tr>
-<tr id="i916" class="altColor">
+<tr id="i937" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/function/IntegerFunction1.html" title="interface in org.apache.calcite.linq4j.function">IntegerFunction1</a>&lt;<a href="org/apache/calcite/linq4j/function/IntegerFunction1.html" title="type parameter in IntegerFunction1">T0</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Function that takes one parameter and returns a native <code>int</code> value.</div>
 </th>
 </tr>
-<tr id="i917" class="rowColor">
+<tr id="i938" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/IntegerIntervalSet.html" title="class in org.apache.calcite.util">IntegerIntervalSet</a></td>
 <th class="colLast" scope="row">
 <div class="block">A set of non-negative integers defined by a sequence of points, intervals,
  and exclusions.</div>
 </th>
 </tr>
-<tr id="i918" class="altColor">
+<tr id="i939" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/IntegerIntervalSet.Handler.html" title="interface in org.apache.calcite.util">IntegerIntervalSet.Handler</a></td>
 <th class="colLast" scope="row">
 <div class="block">A callback.</div>
 </th>
 </tr>
-<tr id="i919" class="rowColor">
+<tr id="i940" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/InterbaseSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InterbaseSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the Interbase database.</div>
 </th>
 </tr>
-<tr id="i920" class="altColor">
+<tr id="i941" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/InterpretableConvention.html" title="enum in org.apache.calcite.interpreter">InterpretableConvention</a></td>
 <th class="colLast" scope="row">
 <div class="block">Calling convention that returns results as an
  <a href="org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> of object arrays.</div>
 </th>
 </tr>
-<tr id="i921" class="rowColor">
+<tr id="i942" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/InterpretableConverter.html" title="class in org.apache.calcite.interpreter">InterpretableConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that converts any relational expression input to
@@ -6082,26 +6217,26 @@
  it in an interpreter.</div>
 </th>
 </tr>
-<tr id="i922" class="altColor">
+<tr id="i943" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/InterpretableRel.html" title="interface in org.apache.calcite.interpreter">InterpretableRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that can implement itself using an interpreter.</div>
 </th>
 </tr>
-<tr id="i923" class="rowColor">
+<tr id="i944" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/InterpretableRel.InterpreterImplementor.html" title="class in org.apache.calcite.interpreter">InterpretableRel.InterpreterImplementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Context when a <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> is being converted to an interpreter
  <a href="org/apache/calcite/interpreter/Node.html" title="interface in org.apache.calcite.interpreter"><code>Node</code></a>.</div>
 </th>
 </tr>
-<tr id="i924" class="altColor">
+<tr id="i945" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.html" title="class in org.apache.calcite.interpreter">Interpreter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interpreter.</div>
 </th>
 </tr>
-<tr id="i925" class="rowColor">
+<tr id="i946" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.CompilerImpl.html" title="class in org.apache.calcite.interpreter">Interpreter.CompilerImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Walks over a tree of <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> and, for each,
@@ -6109,64 +6244,64 @@
  executed in the interpreter.</div>
 </th>
 </tr>
-<tr id="i926" class="altColor">
+<tr id="i947" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.DuplicatingSink.html" title="class in org.apache.calcite.interpreter">Interpreter.DuplicatingSink</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/interpreter/Sink.html" title="interface in org.apache.calcite.interpreter"><code>Sink</code></a> using a <code>ArrayDeque</code>.</div>
 </th>
 </tr>
-<tr id="i927" class="rowColor">
+<tr id="i948" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.Edge.html" title="class in org.apache.calcite.interpreter">Interpreter.Edge</a></td>
 <th class="colLast" scope="row">
 <div class="block">Edge between a <a href="org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> and one of its inputs.</div>
 </th>
 </tr>
-<tr id="i928" class="altColor">
+<tr id="i949" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.EnumeratorSource.html" title="class in org.apache.calcite.interpreter">Interpreter.EnumeratorSource</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/calcite/interpreter/Source.html" title="interface in org.apache.calcite.interpreter"><code>Source</code></a> that is just backed by an <a href="org/apache/calcite/linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a>.</div>
 </th>
 </tr>
-<tr id="i929" class="rowColor">
+<tr id="i950" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.ListSink.html" title="class in org.apache.calcite.interpreter">Interpreter.ListSink</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/interpreter/Sink.html" title="interface in org.apache.calcite.interpreter"><code>Sink</code></a> using a <code>ArrayDeque</code>.</div>
 </th>
 </tr>
-<tr id="i930" class="altColor">
+<tr id="i951" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.ListSource.html" title="class in org.apache.calcite.interpreter">Interpreter.ListSource</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/interpreter/Source.html" title="interface in org.apache.calcite.interpreter"><code>Source</code></a> using a <code>ArrayDeque</code>.</div>
 </th>
 </tr>
-<tr id="i931" class="rowColor">
+<tr id="i952" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.NodeInfo.html" title="class in org.apache.calcite.interpreter">Interpreter.NodeInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information about a node registered in the data flow graph.</div>
 </th>
 </tr>
-<tr id="i932" class="altColor">
+<tr id="i953" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreter.ScalarCompiler.html" title="interface in org.apache.calcite.interpreter">Interpreter.ScalarCompiler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Converts a list of expressions to a scalar that can compute their
  values.</div>
 </th>
 </tr>
-<tr id="i933" class="rowColor">
+<tr id="i954" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/Interpreters.html" title="class in org.apache.calcite.interpreter">Interpreters</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities relating to <a href="org/apache/calcite/interpreter/Interpreter.html" title="class in org.apache.calcite.interpreter"><code>Interpreter</code></a>
  and <a href="org/apache/calcite/interpreter/InterpretableConvention.html" title="enum in org.apache.calcite.interpreter"><code>InterpretableConvention</code></a>.</div>
 </th>
 </tr>
-<tr id="i934" class="altColor">
+<tr id="i955" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Intersect.html" title="class in org.apache.calcite.rel.core">Intersect</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that returns the intersection of the rows of its
  inputs.</div>
 </th>
 </tr>
-<tr id="i935" class="rowColor">
+<tr id="i956" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/IntersectToDistinctRule.html" title="class in org.apache.calcite.rel.rules">IntersectToDistinctRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that translates a distinct
@@ -6177,77 +6312,77 @@
  <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>, etc.</div>
 </th>
 </tr>
-<tr id="i936" class="altColor">
+<tr id="i957" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/IntervalSqlType.html" title="class in org.apache.calcite.sql.type">IntervalSqlType</a></td>
 <th class="colLast" scope="row">
 <div class="block">IntervalSqlType represents a standard SQL datetime interval type.</div>
 </th>
 </tr>
-<tr id="i937" class="rowColor">
+<tr id="i958" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/IntList.html" title="class in org.apache.calcite.util">IntList</a></td>
 <th class="colLast" scope="row">Deprecated.</th>
 </tr>
-<tr id="i938" class="altColor">
+<tr id="i959" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/mapping/IntPair.html" title="class in org.apache.calcite.util.mapping">IntPair</a></td>
 <th class="colLast" scope="row">
 <div class="block">An immutable pair of integers.</div>
 </th>
 </tr>
-<tr id="i939" class="rowColor">
+<tr id="i960" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/InvalidRelException.html" title="class in org.apache.calcite.rel">InvalidRelException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception that indicates that a relational expression would be invalid
  with given parameters.</div>
 </th>
 </tr>
-<tr id="i940" class="altColor">
+<tr id="i961" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/InvocationExpression.html" title="class in org.apache.calcite.linq4j.tree">InvocationExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents an expression that applies a delegate or lambda expression to a
  list of argument expressions.</div>
 </th>
 </tr>
-<tr id="i941" class="rowColor">
+<tr id="i962" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/javac/JaninoCompiler.html" title="class in org.apache.calcite.util.javac">JaninoCompiler</a></td>
 <th class="colLast" scope="row">
 <div class="block"><code>JaninoCompiler</code> implements the <a href="org/apache/calcite/util/javac/JavaCompiler.html" title="interface in org.apache.calcite.util.javac"><code>JavaCompiler</code></a> interface by
  calling <a href="http://www.janino.net">Janino</a>.</div>
 </th>
 </tr>
-<tr id="i942" class="altColor">
+<tr id="i963" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/javac/JaninoCompiler.AccountingClassLoader.html" title="class in org.apache.calcite.util.javac">JaninoCompiler.AccountingClassLoader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Refinement of JavaSourceClassLoader which keeps track of the total
  bytecode length of the classes it has compiled.</div>
 </th>
 </tr>
-<tr id="i943" class="rowColor">
+<tr id="i964" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/javac/JaninoCompiler.JaninoCompilerArgs.html" title="class in org.apache.calcite.util.javac">JaninoCompiler.JaninoCompilerArgs</a></td>
 <th class="colLast" scope="row">
 <div class="block">Arguments to an invocation of the Janino compiler.</div>
 </th>
 </tr>
-<tr id="i944" class="altColor">
+<tr id="i965" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of the <a href="org/apache/calcite/rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> interface that generates
  a class that dispatches to the underlying providers.</div>
 </th>
 </tr>
-<tr id="i945" class="rowColor">
+<tr id="i966" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.Key.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider.Key</a></td>
 <th class="colLast" scope="row">
 <div class="block">Key for the cache.</div>
 </th>
 </tr>
-<tr id="i946" class="altColor">
+<tr id="i967" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.NoHandler.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider.NoHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception that indicates there there should be a handler for
  this class but there is not.</div>
 </th>
 </tr>
-<tr id="i947" class="rowColor">
+<tr id="i968" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/JaninoRexCompiler.html" title="class in org.apache.calcite.interpreter">JaninoRexCompiler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compiles a scalar expression (<a href="org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>) to an expression that
@@ -6255,126 +6390,126 @@
  to a class using Janino.</div>
 </th>
 </tr>
-<tr id="i948" class="altColor">
+<tr id="i969" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/Java9Workaround.html" title="class in org.apache.calcite.adapter">Java9Workaround</a></td>
 <th class="colLast" scope="row">
 <div class="block">JavaDoc from Java 9 seems to fail when package contents is empty.</div>
 </th>
 </tr>
-<tr id="i949" class="rowColor">
+<tr id="i970" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/util/javac/JavaCompiler.html" title="interface in org.apache.calcite.util.javac">JavaCompiler</a></td>
 <th class="colLast" scope="row">
 <div class="block">The interface <code>JavaCompiler</code> represents an interface to invoke a
  regular Java compiler.</div>
 </th>
 </tr>
-<tr id="i950" class="altColor">
+<tr id="i971" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/javac/JavaCompilerArgs.html" title="class in org.apache.calcite.util.javac">JavaCompilerArgs</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>JavaCompilerArgs</code> holds the arguments for a
  <a href="org/apache/calcite/util/javac/JavaCompiler.html" title="interface in org.apache.calcite.util.javac"><code>JavaCompiler</code></a>.</div>
 </th>
 </tr>
-<tr id="i951" class="rowColor">
+<tr id="i972" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/JavaRecordType.html" title="class in org.apache.calcite.jdbc">JavaRecordType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Record type based on a Java class.</div>
 </th>
 </tr>
-<tr id="i952" class="altColor">
+<tr id="i973" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/JavaRelImplementor.html" title="class in org.apache.calcite.adapter.enumerable">JavaRelImplementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for implementations of <a href="org/apache/calcite/plan/RelImplementor.html" title="interface in org.apache.calcite.plan"><code>RelImplementor</code></a>
  that generate java code.</div>
 </th>
 </tr>
-<tr id="i953" class="rowColor">
+<tr id="i974" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/enumerable/JavaRowFormat.html" title="enum in org.apache.calcite.adapter.enumerable">JavaRowFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">How a row is represented as a Java value.</div>
 </th>
 </tr>
-<tr id="i954" class="altColor">
+<tr id="i975" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/JavaToSqlTypeConversionRules.html" title="class in org.apache.calcite.sql.type">JavaToSqlTypeConversionRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">JavaToSqlTypeConversionRules defines mappings from common Java types to
  corresponding SQL types.</div>
 </th>
 </tr>
-<tr id="i955" class="rowColor">
+<tr id="i976" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/type/JavaToSqlTypeConversionRules.ColumnList.html" title="interface in org.apache.calcite.sql.type">JavaToSqlTypeConversionRules.ColumnList</a></td>
 <th class="colLast" scope="row">
 <div class="block">Make this public when needed.</div>
 </th>
 </tr>
-<tr id="i956" class="altColor">
+<tr id="i977" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type factory that can register Java classes as record types.</div>
 </th>
 </tr>
-<tr id="i957" class="rowColor">
+<tr id="i978" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/geode/util/JavaTypeFactoryExtImpl.html" title="class in org.apache.calcite.adapter.geode.util">JavaTypeFactoryExtImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java"><code>JavaTypeFactory</code></a>.</div>
 </th>
 </tr>
-<tr id="i958" class="altColor">
+<tr id="i979" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/JavaTypeFactoryImpl.html" title="class in org.apache.calcite.jdbc">JavaTypeFactoryImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/adapter/java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java"><code>JavaTypeFactory</code></a>.</div>
 </th>
 </tr>
-<tr id="i959" class="rowColor">
+<tr id="i980" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/JavaTypeFactoryImpl.RecordFieldImpl.html" title="class in org.apache.calcite.jdbc">JavaTypeFactoryImpl.RecordFieldImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of a field.</div>
 </th>
 </tr>
-<tr id="i960" class="altColor">
+<tr id="i981" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/jdbc/JavaTypeFactoryImpl.SyntheticRecordType.html" title="class in org.apache.calcite.jdbc">JavaTypeFactoryImpl.SyntheticRecordType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Synthetic record type.</div>
 </th>
 </tr>
-<tr id="i961" class="rowColor">
+<tr id="i982" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcCatalogSchema.html" title="class in org.apache.calcite.adapter.jdbc">JdbcCatalogSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema based upon a JDBC catalog (database).</div>
 </th>
 </tr>
-<tr id="i962" class="altColor">
+<tr id="i983" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcCatalogSchema.SubSchemaMap.html" title="class in org.apache.calcite.adapter.jdbc">JdbcCatalogSchema.SubSchemaMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">Contains sub-schemas by name, and the name of the default schema.</div>
 </th>
 </tr>
-<tr id="i963" class="rowColor">
+<tr id="i984" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc">JdbcConvention</a></td>
 <th class="colLast" scope="row">
 <div class="block">Calling convention for relational operations that occur in a JDBC
  database.</div>
 </th>
 </tr>
-<tr id="i964" class="altColor">
+<tr id="i985" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcImplementor.html" title="class in org.apache.calcite.adapter.jdbc">JdbcImplementor</a></td>
 <th class="colLast" scope="row">
 <div class="block">State for generating a SQL statement.</div>
 </th>
 </tr>
-<tr id="i965" class="rowColor">
+<tr id="i986" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcQueryProvider.html" title="class in org.apache.calcite.adapter.jdbc">JdbcQueryProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/linq4j/QueryProvider.html" title="interface in org.apache.calcite.linq4j"><code>QueryProvider</code></a> that talks to JDBC databases.</div>
 </th>
 </tr>
-<tr id="i966" class="altColor">
+<tr id="i987" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRel.html" title="interface in org.apache.calcite.adapter.jdbc">JdbcRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that uses JDBC calling convention.</div>
 </th>
 </tr>
-<tr id="i967" class="rowColor">
+<tr id="i988" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rules and relational operators for
@@ -6382,198 +6517,198 @@
  calling convention.</div>
 </th>
 </tr>
-<tr id="i968" class="altColor">
+<tr id="i989" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.CheckingUserDefinedFunctionVisitor.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.CheckingUserDefinedFunctionVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor for checking whether part of projection is a user defined function or not</div>
 </th>
 </tr>
-<tr id="i969" class="rowColor">
+<tr id="i990" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Aggregate operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i970" class="altColor">
+<tr id="i991" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcAggregateRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
  to a <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcAggregate</code></a>.</div>
 </th>
 </tr>
-<tr id="i971" class="rowColor">
+<tr id="i992" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcCalc.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcCalc</a></td>
 <th class="colLast" scope="row">
 <div class="block">Calc operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i972" class="altColor">
+<tr id="i993" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcCalcRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcCalcRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> to an
  <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcCalc.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcCalc</code></a>.</div>
 </th>
 </tr>
-<tr id="i973" class="rowColor">
+<tr id="i994" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcConverterRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract base class for rule that converts to JDBC.</div>
 </th>
 </tr>
-<tr id="i974" class="altColor">
+<tr id="i995" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcFilter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> in
  <a href="org/apache/calcite/adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>jdbc calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i975" class="rowColor">
+<tr id="i996" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcFilterRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> to
  an <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcFilter.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcFilter</code></a>.</div>
 </th>
 </tr>
-<tr id="i976" class="altColor">
+<tr id="i997" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcIntersect.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcIntersect</a></td>
 <th class="colLast" scope="row">
 <div class="block">Intersect operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i977" class="rowColor">
+<tr id="i998" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcIntersectRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcIntersectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a>
  to a <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcIntersect.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcIntersect</code></a>.</div>
 </th>
 </tr>
-<tr id="i978" class="altColor">
+<tr id="i999" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcJoin.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcJoin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Join operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i979" class="rowColor">
+<tr id="i1000" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcJoinRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a join to JDBC.</div>
 </th>
 </tr>
-<tr id="i980" class="altColor">
+<tr id="i1001" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcMinus.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcMinus</a></td>
 <th class="colLast" scope="row">
 <div class="block">Minus operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i981" class="rowColor">
+<tr id="i1002" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcMinusRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcMinusRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> to a
  <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcMinus.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcMinus</code></a>.</div>
 </th>
 </tr>
-<tr id="i982" class="altColor">
+<tr id="i1003" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcProject.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcProject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
  <a href="org/apache/calcite/adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>jdbc calling convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i983" class="rowColor">
+<tr id="i1004" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcProjectRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcProjectRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> to
  an <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcProject.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcProject</code></a>.</div>
 </th>
 </tr>
-<tr id="i984" class="altColor">
+<tr id="i1005" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcSort.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcSort</a></td>
 <th class="colLast" scope="row">
 <div class="block">Sort operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i985" class="rowColor">
+<tr id="i1006" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcSortRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcSortRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a <a href="org/apache/calcite/rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to an
  <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcSort.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcSort</code></a>.</div>
 </th>
 </tr>
-<tr id="i986" class="altColor">
+<tr id="i1007" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcTableModificationRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcTableModificationRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a table-modification to JDBC.</div>
 </th>
 </tr>
-<tr id="i987" class="rowColor">
+<tr id="i1008" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcTableModify.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcTableModify</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table-modification operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i988" class="altColor">
+<tr id="i1009" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcUnion.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcUnion</a></td>
 <th class="colLast" scope="row">
 <div class="block">Union operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i989" class="rowColor">
+<tr id="i1010" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcUnionRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcUnionRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an <a href="org/apache/calcite/rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> to a
  <a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcUnion.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcUnion</code></a>.</div>
 </th>
 </tr>
-<tr id="i990" class="altColor">
+<tr id="i1011" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcValues.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcValues</a></td>
 <th class="colLast" scope="row">
 <div class="block">Values operator implemented in JDBC convention.</div>
 </th>
 </tr>
-<tr id="i991" class="rowColor">
+<tr id="i1012" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcRules.JdbcValuesRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcValuesRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a values operator to JDBC.</div>
 </th>
 </tr>
-<tr id="i992" class="altColor">
+<tr id="i1013" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcSchema.html" title="class in org.apache.calcite.adapter.jdbc">JdbcSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> that is backed by a JDBC data source.</div>
 </th>
 </tr>
-<tr id="i993" class="rowColor">
+<tr id="i1014" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcSchema.Factory.html" title="class in org.apache.calcite.adapter.jdbc">JdbcSchema.Factory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema factory that creates a
  <a href="org/apache/calcite/adapter/jdbc/JdbcSchema.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcSchema</code></a>.</div>
 </th>
 </tr>
-<tr id="i994" class="altColor">
+<tr id="i1015" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcSchema.Foo.html" title="interface in org.apache.calcite.adapter.jdbc">JdbcSchema.Foo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Do not use</div>
 </th>
 </tr>
-<tr id="i995" class="rowColor">
+<tr id="i1016" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcTable.html" title="class in org.apache.calcite.adapter.jdbc">JdbcTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Queryable that gets its data from a table within a JDBC connection.</div>
 </th>
 </tr>
-<tr id="i996" class="altColor">
+<tr id="i1017" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcTableScan.html" title="class in org.apache.calcite.adapter.jdbc">JdbcTableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a table in a JDBC data source.</div>
 </th>
 </tr>
-<tr id="i997" class="rowColor">
+<tr id="i1018" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcToEnumerableConverter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcToEnumerableConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a table in a JDBC data source.</div>
 </th>
 </tr>
-<tr id="i998" class="altColor">
+<tr id="i1019" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcToEnumerableConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a relational expression from
@@ -6581,14 +6716,14 @@
  <a href="org/apache/calcite/adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
 </th>
 </tr>
-<tr id="i999" class="rowColor">
+<tr id="i1020" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/spark/JdbcToSparkConverter.html" title="class in org.apache.calcite.adapter.spark">JdbcToSparkConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression representing a scan of a table in a JDBC data source
  that returns its results as a Spark RDD.</div>
 </th>
 </tr>
-<tr id="i1000" class="altColor">
+<tr id="i1021" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/spark/JdbcToSparkConverterRule.html" title="class in org.apache.calcite.adapter.spark">JdbcToSparkConverterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert a relational expression from
@@ -6596,26 +6731,26 @@
  <a href="org/apache/calcite/adapter/spark/SparkRel.html#CONVENTION"><code>Spark convention</code></a>.</div>
 </th>
 </tr>
-<tr id="i1001" class="rowColor">
+<tr id="i1022" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcUtils.html" title="class in org.apache.calcite.adapter.jdbc">JdbcUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for the JDBC provider.</div>
 </th>
 </tr>
-<tr id="i1002" class="altColor">
+<tr id="i1023" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcUtils.DataSourcePool.html" title="class in org.apache.calcite.adapter.jdbc">JdbcUtils.DataSourcePool</a></td>
 <th class="colLast" scope="row">
 <div class="block">Ensures that if two data sources have the same definition, they will use
  the same object.</div>
 </th>
 </tr>
-<tr id="i1003" class="rowColor">
+<tr id="i1024" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcUtils.DialectPool.html" title="class in org.apache.calcite.adapter.jdbc">JdbcUtils.DialectPool</a></td>
 <th class="colLast" scope="row">
 <div class="block">Pool of dialects.</div>
 </th>
 </tr>
-<tr id="i1004" class="altColor">
+<tr id="i1025" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/jdbc/JdbcUtils.ObjectArrayRowBuilder.html" title="class in org.apache.calcite.adapter.jdbc">JdbcUtils.ObjectArrayRowBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builder that calls <code>ResultSet.getObject(int)</code> for every column,
@@ -6623,76 +6758,76 @@
  and returns an array of objects for each row.</div>
 </th>
 </tr>
-<tr id="i1005" class="rowColor">
+<tr id="i1026" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/JethroDataSqlDialect.html" title="class in org.apache.calcite.sql.dialect">JethroDataSqlDialect</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>SqlDialect</code> implementation for the JethroData database.</div>
 </th>
 </tr>
-<tr id="i1006" class="altColor">
+<tr id="i1027" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/JethroDataSqlDialect.JethroInfo.html" title="class in org.apache.calcite.sql.dialect">JethroDataSqlDialect.JethroInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information about the capabilities of a Jethro database.</div>
 </th>
 </tr>
-<tr id="i1007" class="rowColor">
+<tr id="i1028" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/JethroDataSqlDialect.JethroInfoCache.html" title="interface in org.apache.calcite.sql.dialect">JethroDataSqlDialect.JethroInfoCache</a></td>
 <th class="colLast" scope="row">
 <div class="block">Stores information about capabilities of Jethro databases.</div>
 </th>
 </tr>
-<tr id="i1008" class="altColor">
+<tr id="i1029" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/JethroDataSqlDialect.JethroInfoCacheImpl.html" title="class in org.apache.calcite.sql.dialect">JethroDataSqlDialect.JethroInfoCacheImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <code>JethroInfoCache</code>.</div>
 </th>
 </tr>
-<tr id="i1009" class="rowColor">
+<tr id="i1030" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/dialect/JethroDataSqlDialect.JethroSupportedFunction.html" title="class in org.apache.calcite.sql.dialect">JethroDataSqlDialect.JethroSupportedFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information about a function supported by Jethro.</div>
 </th>
 </tr>
-<tr id="i1010" class="altColor">
+<tr id="i1031" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational expression that combines two relational expressions according to
  some condition.</div>
 </th>
 </tr>
-<tr id="i1011" class="rowColor">
+<tr id="i1032" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinAddRedundantSemiJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinAddRedundantSemiJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to add a semi-join into a join.</div>
 </th>
 </tr>
-<tr id="i1012" class="altColor">
+<tr id="i1033" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinAssociateRule.html" title="class in org.apache.calcite.rel.rules">JoinAssociateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that changes a join based on the associativity rule.</div>
 </th>
 </tr>
-<tr id="i1013" class="rowColor">
+<tr id="i1034" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinCommuteRule.html" title="class in org.apache.calcite.rel.rules">JoinCommuteRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that permutes the inputs to a
  <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
 </th>
 </tr>
-<tr id="i1014" class="altColor">
+<tr id="i1035" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinCommuteRule.VariableReplacer.html" title="class in org.apache.calcite.rel.rules">JoinCommuteRule.VariableReplacer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Walks over an expression, replacing references to fields of the left and
  right inputs.</div>
 </th>
 </tr>
-<tr id="i1015" class="rowColor">
+<tr id="i1036" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/JoinConditionType.html" title="enum in org.apache.calcite.sql">JoinConditionType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumerates the types of condition in a join expression.</div>
 </th>
 </tr>
-<tr id="i1016" class="altColor">
+<tr id="i1037" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinExtractFilterRule.html" title="class in org.apache.calcite.rel.rules">JoinExtractFilterRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule to convert an
@@ -6701,38 +6836,26 @@
  <a href="org/apache/calcite/rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>cartesian inner join</code></a>.</div>
 </th>
 </tr>
-<tr id="i1017" class="rowColor">
+<tr id="i1038" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/JoinInfo.html" title="class in org.apache.calcite.rel.core">JoinInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">An analyzed join condition.</div>
 </th>
 </tr>
-<tr id="i1018" class="altColor">
-<td class="colFirst"><a href="org/apache/calcite/rel/core/JoinInfo.EquiJoinInfo.html" title="class in org.apache.calcite.rel.core">JoinInfo.EquiJoinInfo</a></td>
-<th class="colLast" scope="row">
-<div class="block">JoinInfo that represents an equi-join.</div>
-</th>
-</tr>
-<tr id="i1019" class="rowColor">
-<td class="colFirst"><a href="org/apache/calcite/rel/core/JoinInfo.NonEquiJoinInfo.html" title="class in org.apache.calcite.rel.core">JoinInfo.NonEquiJoinInfo</a></td>
-<th class="colLast" scope="row">
-<div class="block">JoinInfo that represents a non equi-join.</div>
-</th>
-</tr>
-<tr id="i1020" class="altColor">
+<tr id="i1039" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/JoinNamespace.html" title="class in org.apache.calcite.sql.validate">JoinNamespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Namespace representing the row type produced by joining two relations.</div>
 </th>
 </tr>
-<tr id="i1021" class="rowColor">
+<tr id="i1040" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/interpreter/JoinNode.html" title="class in org.apache.calcite.interpreter">JoinNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interpreter node that implements a
  <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
 </th>
 </tr>
-<tr id="i1022" class="altColor">
+<tr id="i1041" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">JoinProjectTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that matches a
@@ -6741,20 +6864,20 @@
  pulls the project up.</div>
 </th>
 </tr>
-<tr id="i1023" class="rowColor">
+<tr id="i1042" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinPushExpressionsRule.html" title="class in org.apache.calcite.rel.rules">JoinPushExpressionsRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes down expressions in "equal" join condition.</div>
 </th>
 </tr>
-<tr id="i1024" class="altColor">
+<tr id="i1043" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinPushThroughJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinPushThroughJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that pushes the right input of a join into through the left input of
  the join, provided that the left input is also a join.</div>
 </th>
 </tr>
-<tr id="i1025" class="rowColor">
+<tr id="i1044" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinPushTransitivePredicatesRule.html" title="class in org.apache.calcite.rel.rules">JoinPushTransitivePredicatesRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that infers predicates from on a
@@ -6763,19 +6886,19 @@
  to its inputs.</div>
 </th>
 </tr>
-<tr id="i1026" class="altColor">
+<tr id="i1045" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumeration of join types.</div>
 </th>
 </tr>
-<tr id="i1027" class="rowColor">
+<tr id="i1046" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/validate/JoinScope.html" title="class in org.apache.calcite.sql.validate">JoinScope</a></td>
 <th class="colLast" scope="row">
 <div class="block">The name-resolution context for expression inside a JOIN clause.</div>
 </th>
 </tr>
-<tr id="i1028" class="altColor">
+<tr id="i1047" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinToCorrelateRule.html" title="class in org.apache.calcite.rel.rules">JoinToCorrelateRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule that converts a <a href="org/apache/calcite/rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>
@@ -6783,7 +6906,7 @@
  then be implemented using nested loops.</div>
 </th>
 </tr>
-<tr id="i1029" class="rowColor">
+<tr id="i1048" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinToMultiJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinToMultiJoinRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule to flatten a tree of
@@ -6791,19 +6914,19 @@
  into a single <a href="org/apache/calcite/rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a> with N inputs.</div>
 </th>
 </tr>
-<tr id="i1030" class="altColor">
+<tr id="i1049" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/JoinType.html" title="enum in org.apache.calcite.linq4j">JoinType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumeration of join types.</div>
 </th>
 </tr>
-<tr id="i1031" class="rowColor">
+<tr id="i1050" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/sql/JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enumerates the types of join.</div>
 </th>
 </tr>
-<tr id="i1032" class="altColor">
+<tr id="i1051" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/rel/rules/JoinUnionTransposeRule.html" title="class in org.apache.calcite.rel.rules">JoinUnionTransposeRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Planner rule that pushes a
@@ -6811,74 +6934,87 @@
  past a non-distinct <a href="org/apache/calcite/rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>.</div>
 </th>
 </tr>
-<tr id="i1033" class="rowColor">
+<tr id="i1052" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/os/JpsTableFunction.html" title="class in org.apache.calcite.adapter.os">JpsTableFunction</a></td>
+<th class="colLast" scope="row">
+<div class="block">Table function that executes the OS "jps" ("Java Virtual Machine Process
+ Status Tool") command to list all java processes of a user.</div>
+</th>
+</tr>
+<tr id="i1053" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/util/JsonBuilder.html" title="class in org.apache.calcite.util">JsonBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builder for JSON documents (represented as <code>List</code>, <code>Map</code>,
  <code>String</code>, <code>Boolean</code>, <code>Long</code>).</div>
 </th>
 </tr>
-<tr id="i1034" class="altColor">
+<tr id="i1054" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonColumn.html" title="class in org.apache.calcite.model">JsonColumn</a></td>
 <th class="colLast" scope="row">
 <div class="block">JSON object representing a column.</div>
 </th>
 </tr>
-<tr id="i1035" class="rowColor">
+<tr id="i1055" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonCustomSchema.html" title="class in org.apache.calcite.model">JsonCustomSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">JSON schema element that represents a custom schema.</div>
 </th>
 </tr>
-<tr id="i1036" class="altColor">
+<tr id="i1056" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonCustomTable.html" title="class in org.apache.calcite.model">JsonCustomTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Custom table schema element.</div>
 </th>
 </tr>
-<tr id="i1037" class="rowColor">
+<tr id="i1057" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/JsonEnumerator.html" title="class in org.apache.calcite.adapter.csv">JsonEnumerator</a></td>
 <th class="colLast" scope="row">
-<div class="block">Enumerator that reads from a JSON file.</div>
+<div class="block">Enumerator that reads from a Object List.</div>
 </th>
 </tr>
-<tr id="i1038" class="altColor">
+<tr id="i1058" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/csv/JsonEnumerator.JsonDataConverter.html" title="class in org.apache.calcite.adapter.csv">JsonEnumerator.JsonDataConverter</a></td>
+<th class="colLast" scope="row">
+<div class="block">Json data and relDataType Converter.</div>
+</th>
+</tr>
+<tr id="i1059" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonFunction.html" title="class in org.apache.calcite.model">JsonFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function schema element.</div>
 </th>
 </tr>
-<tr id="i1039" class="rowColor">
+<tr id="i1060" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/JsonFunctions.html" title="class in org.apache.calcite.runtime">JsonFunctions</a></td>
 <th class="colLast" scope="row">
 <div class="block">A collection of functions used in JSON processing.</div>
 </th>
 </tr>
-<tr id="i1040" class="altColor">
+<tr id="i1061" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/JsonFunctions.JsonPathContext.html" title="class in org.apache.calcite.runtime">JsonFunctions.JsonPathContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Returned path context of JsonApiCommonSyntax, public for testing.</div>
 </th>
 </tr>
-<tr id="i1041" class="rowColor">
+<tr id="i1062" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/JsonFunctions.JsonValueContext.html" title="class in org.apache.calcite.runtime">JsonFunctions.JsonValueContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">The Java output of <a href="org/apache/calcite/sql/fun/SqlJsonValueExpressionOperator.html" title="class in org.apache.calcite.sql.fun"><code>SqlJsonValueExpressionOperator</code></a>.</div>
 </th>
 </tr>
-<tr id="i1042" class="altColor">
+<tr id="i1063" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/runtime/JsonFunctions.PathMode.html" title="enum in org.apache.calcite.runtime">JsonFunctions.PathMode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Path spec has two different modes: lax mode and strict mode.</div>
 </th>
 </tr>
-<tr id="i1043" class="rowColor">
+<tr id="i1064" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonJdbcSchema.html" title="class in org.apache.calcite.model">JsonJdbcSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">JSON object representing a schema that maps to a JDBC database.</div>
 </th>
 </tr>
-<tr id="i1044" class="altColor">
+<tr id="i1065" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonLattice.html" title="class in org.apache.calcite.model">JsonLattice</a></td>
 <th class="colLast" scope="row">
 <div class="block">Element that describes a star schema and provides a framework for defining,
@@ -6886,334 +7022,340 @@
  aggregation.</div>
 </th>
 </tr>
-<tr id="i1045" class="rowColor">
+<tr id="i1066" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonMapSchema.html" title="class in org.apache.calcite.model">JsonMapSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">JSON object representing a schema whose tables are explicitly specified.</div>
 </th>
 </tr>
-<tr id="i1046" class="altColor">
+<tr id="i1067" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonMaterialization.html" title="class in org.apache.calcite.model">JsonMaterialization</a></td>
 <th class="colLast" scope="row">
 <div class="block">Element that describes how a table is a materialization of a query.</div>
 </th>
 </tr>
-<tr id="i1047" class="rowColor">
+<tr id="i1068" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonMeasure.html" title="class in org.apache.calcite.model">JsonMeasure</a></td>
 <th class="colLast" scope="row">
 <div class="block">An aggregate function applied to a column (or columns) of a lattice.</div>
 </th>
 </tr>
-<tr id="i1048" class="altColor">
+<tr id="i1069" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonRoot.html" title="class in org.apache.calcite.model">JsonRoot</a></td>
 <th class="colLast" scope="row">
 <div class="block">Root schema element.</div>
 </th>
 </tr>
-<tr id="i1049" class="rowColor">
+<tr id="i1070" class="altColor">
+<td class="colFirst"><a href="org/apache/calcite/adapter/csv/JsonScannableTable.html" title="class in org.apache.calcite.adapter.csv">JsonScannableTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">Table based on a JSON file.</div>
+</th>
+</tr>
+<tr id="i1071" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonSchema.html" title="class in org.apache.calcite.model">JsonSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">Schema schema element.</div>
 </th>
 </tr>
-<tr id="i1050" class="altColor">
+<tr id="i1072" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonSchema.Type.html" title="enum in org.apache.calcite.model">JsonSchema.Type</a></td>
 <th class="colLast" scope="row">
 <div class="block">Built-in schema types.</div>
 </th>
 </tr>
-<tr id="i1051" class="rowColor">
+<tr id="i1073" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonStream.html" title="class in org.apache.calcite.model">JsonStream</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information about whether a table allows streaming.</div>
 </th>
 </tr>
-<tr id="i1052" class="altColor">
+<tr id="i1074" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/csv/JsonTable.html" title="class in org.apache.calcite.adapter.csv">JsonTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table based on a JSON file.</div>
 </th>
 </tr>
-<tr id="i1053" class="rowColor">
+<tr id="i1075" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonTable.html" title="class in org.apache.calcite.model">JsonTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table schema element.</div>
 </th>
 </tr>
-<tr id="i1054" class="altColor">
+<tr id="i1076" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonTile.html" title="class in org.apache.calcite.model">JsonTile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Materialized view within a <a href="org/apache/calcite/model/JsonLattice.html" title="class in org.apache.calcite.model"><code>JsonLattice</code></a>.</div>
 </th>
 </tr>
-<tr id="i1055" class="rowColor">
+<tr id="i1077" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonType.html" title="class in org.apache.calcite.model">JsonType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type schema element.</div>
 </th>
 </tr>
-<tr id="i1056" class="altColor">
+<tr id="i1078" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonTypeAttribute.html" title="class in org.apache.calcite.model">JsonTypeAttribute</a></td>
 <th class="colLast" scope="row">
 <div class="block">JSON object representing a type attribute.</div>
 </th>
 </tr>
-<tr id="i1057" class="rowColor">
+<tr id="i1079" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/model/JsonView.html" title="class in org.apache.calcite.model">JsonView</a></td>
 <th class="colLast" scope="row">
 <div class="block">View schema element.</div>
 </th>
 </tr>
-<tr id="i1058" class="altColor">
+<tr id="i1080" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.html" title="class in org.apache.calcite.adapter.kafka">KafkaMessageEnumerator</a>&lt;<a href="org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.html" title="type parameter in KafkaMessageEnumerator">K</a>,&#8203;<a href="org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.html" title="type parameter in KafkaMessageEnumerator">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Enumerator to read data from <code>Consumer</code>,
  and converted into SQL rows with <a href="org/apache/calcite/adapter/kafka/KafkaRowConverter.html" title="interface in org.apache.calcite.adapter.kafka"><code>KafkaRowConverter</code></a>.</div>
 </th>
 </tr>
-<tr id="i1059" class="rowColor">
+<tr id="i1081" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaRowConverter.html" title="interface in org.apache.calcite.adapter.kafka">KafkaRowConverter</a>&lt;<a href="org/apache/calcite/adapter/kafka/KafkaRowConverter.html" title="type parameter in KafkaRowConverter">K</a>,&#8203;<a href="org/apache/calcite/adapter/kafka/KafkaRowConverter.html" title="type parameter in KafkaRowConverter">V</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Interface to handle formatting between Kafka message and Calcite row.</div>
 </th>
 </tr>
-<tr id="i1060" class="altColor">
+<tr id="i1082" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaRowConverterImpl.html" title="class in org.apache.calcite.adapter.kafka">KafkaRowConverterImpl</a></td>
 <th class="colLast" scope="row">
 <div class="block">Default implementation of <a href="org/apache/calcite/adapter/kafka/KafkaRowConverter.html" title="interface in org.apache.calcite.adapter.kafka"><code>KafkaRowConverter</code></a>, both key and value are byte[].</div>
 </th>
 </tr>
-<tr id="i1061" class="rowColor">
+<tr id="i1083" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaStreamTable.html" title="class in org.apache.calcite.adapter.kafka">KafkaStreamTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A table that maps to an Apache Kafka topic.</div>
 </th>
 </tr>
-<tr id="i1062" class="altColor">
+<tr id="i1084" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaTableConstants.html" title="interface in org.apache.calcite.adapter.kafka">KafkaTableConstants</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parameter constants used to define a Kafka table.</div>
 </th>
 </tr>
-<tr id="i1063" class="rowColor">
+<tr id="i1085" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaTableFactory.html" title="class in org.apache.calcite.adapter.kafka">KafkaTableFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of <a href="org/apache/calcite/schema/TableFactory.html" title="interface in org.apache.calcite.schema"><code>TableFactory</code></a> for Apache Kafka.</div>
 </th>
 </tr>
-<tr id="i1064" class="altColor">
+<tr id="i1086" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/adapter/kafka/KafkaTableOptions.html" title="class in org.apache.calcite.adapter.kafka">KafkaTableOptions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Available options for <a href="org/apache/calcite/adapter/kafka/KafkaStreamTable.html" title="class in org.apache.calcite.adapter.kafka"><code>KafkaStreamTable</code></a>.</div>
 </th>
 </tr>
-<tr id="i1065" class="rowColor">
+<tr id="i1087" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/LabelStatement.html" title="class in org.apache.calcite.linq4j.tree">LabelStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a label, which can be put in any <a href="org/apache/calcite/linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree"><code>Expression</code></a> context.</div>
 </th>
 </tr>
-<tr id="i1066" class="altColor">
+<tr id="i1088" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/LabelTarget.html" title="class in org.apache.calcite.linq4j.tree">LabelTarget</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used to represent the target of a <a href="org/apache/calcite/linq4j/tree/GotoStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>GotoStatement</code></a>.</div>
 </th>
 </tr>
-<tr id="i1067" class="rowColor">
+<tr id="i1089" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/linq4j/tree/LambdaExpression.html" title="class in org.apache.calcite.linq4j.tree">LambdaExpression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Describes a lambda expression.</div>
 </th>
 </tr>
-<tr id="i1068" class="altColor">
+<tr id="i1090" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.html" title="class in org.apache.calcite.materialize">Lattice</a></td>
 <th class="colLast" scope="row">
 <div class="block">Structure that allows materialized views based upon a star schema to be
  recognized and recommended.</div>
 </th>
 </tr>
-<tr id="i1069" class="rowColor">
+<tr id="i1091" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.BaseColumn.html" title="class in org.apache.calcite.materialize">Lattice.BaseColumn</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column in a lattice.</div>
 </th>
 </tr>
-<tr id="i1070" class="altColor">
+<tr id="i1092" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Builder.html" title="class in org.apache.calcite.materialize">Lattice.Builder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lattice builder.</div>
 </th>
 </tr>
-<tr id="i1071" class="rowColor">
+<tr id="i1093" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Builder.Fixer.html" title="class in org.apache.calcite.materialize">Lattice.Builder.Fixer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Work space for fixing up a tree of mutable nodes.</div>
 </th>
 </tr>
-<tr id="i1072" class="altColor">
+<tr id="i1094" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Column.html" title="class in org.apache.calcite.materialize">Lattice.Column</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column in a lattice.</div>
 </th>
 </tr>
-<tr id="i1073" class="rowColor">
+<tr id="i1095" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.DerivedColumn.html" title="class in org.apache.calcite.materialize">Lattice.DerivedColumn</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column in a lattice that is based upon a SQL expression.</div>
 </th>
 </tr>
-<tr id="i1074" class="altColor">
+<tr id="i1096" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Edge.html" title="class in org.apache.calcite.materialize">Lattice.Edge</a></td>
 <th class="colLast" scope="row">
 <div class="block">Edge in the temporary graph.</div>
 </th>
 </tr>
-<tr id="i1075" class="rowColor">
+<tr id="i1097" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Measure.html" title="class in org.apache.calcite.materialize">Lattice.Measure</a></td>
 <th class="colLast" scope="row">
 <div class="block">A measure within a <a href="org/apache/calcite/materialize/Lattice.html" title="class in org.apache.calcite.materialize"><code>Lattice</code></a>.</div>
 </th>
 </tr>
-<tr id="i1076" class="altColor">
+<tr id="i1098" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.SqlWriter.html" title="class in org.apache.calcite.materialize">Lattice.SqlWriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">The information necessary to convert a column to SQL.</div>
 </th>
 </tr>
-<tr id="i1077" class="rowColor">
+<tr id="i1099" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Tile.html" title="class in org.apache.calcite.materialize">Lattice.Tile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Materialized aggregate within a lattice.</div>
 </th>
 </tr>
-<tr id="i1078" class="altColor">
+<tr id="i1100" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.TileBuilder.html" title="class in org.apache.calcite.materialize">Lattice.TileBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Tile builder.</div>
 </th>
 </tr>
-<tr id="i1079" class="rowColor">
+<tr id="i1101" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/Lattice.Vertex.html" title="class in org.apache.calcite.materialize">Lattice.Vertex</a></td>
 <th class="colLast" scope="row">
 <div class="block">Vertex in the temporary graph.</div>
 </th>
 </tr>
-<tr id="i1080" class="altColor">
+<tr id="i1102" class="altColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/LatticeChildNode.html" title="class in org.apache.calcite.materialize">LatticeChildNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Non-root node in a <a href="org/apache/calcite/materialize/Lattice.html" title="class in org.apache.calcite.materialize"><code>Lattice</code></a>.</div>
 </th>
 </tr>
-<tr id="i1081" class="rowColor">
+<tr id="i1103" class="rowColor">
 <td class="colFirst"><a href="org/apache/calcite/materialize/LatticeNode.html" title="class in org.apache.calcite.materialize">LatticeNode</a></td>
 <th class="colLast&qu