Github user davies commented on the pull request:
https://github.com/apache/spark/pull/11248#issuecomment-185885503
Here is part of the code generated from Q72
```
/* 160 */ private boolean findNextInnerJoinRows(
/* 161 */ scala.collection.Iterator leftIter,
/* 162 */ scala.collection.Iterator rightIter) {
/* 163 */ smj_leftRow = null;
/* 164 */ int comp = 0;
/* 165 */ while (smj_leftRow == null) {
/* 166 */ if (!leftIter.hasNext()) return false;
/* 167 */ smj_leftRow = (InternalRow) leftIter.next();
/* 168 */ /* input[7, int] */
/* 169 */ boolean smj_isNull = smj_leftRow.isNullAt(7);
/* 170 */ int smj_value = smj_isNull ? -1 : (smj_leftRow.getInt(7));
/* 171 */ if (smj_isNull) {
/* 172 */ smj_leftRow = null;
/* 173 */ continue;
/* 174 */ }
/* 175 */ if (!smj_matches.isEmpty()) {
/* 176 */ comp = 0;
/* 177 */ if (comp == 0) {
/* 178 */ comp = (smj_value > smj_value3 ? 1 : smj_value <
smj_value3 ? -1 : 0);
/* 179 */ }
/* 180 */
/* 181 */ if (comp == 0) {
/* 182 */ return true;
/* 183 */ }
/* 184 */ smj_matches.clear();
/* 185 */ }
/* 186 */
/* 187 */ do {
/* 188 */ if (smj_rightRow == null) {
/* 189 */ if (!rightIter.hasNext()) {
/* 190 */ smj_value3 = smj_value;
/* 191 */
/* 192 */ return !smj_matches.isEmpty();
/* 193 */ }
/* 194 */ smj_rightRow = (InternalRow) rightIter.next();
/* 195 */ /* input[1, int] */
/* 196 */ boolean smj_isNull1 = smj_rightRow.isNullAt(1);
/* 197 */ int smj_value1 = smj_isNull1 ? -1 :
(smj_rightRow.getInt(1));
/* 198 */ if (smj_isNull1) {
/* 199 */ smj_rightRow = null;
/* 200 */ continue;
/* 201 */ }
/* 202 */
/* 203 */ smj_value2 = smj_value1;
/* 204 */
/* 205 */ }
/* 206 */
/* 207 */ comp = 0;
/* 208 */ if (comp == 0) {
/* 209 */ comp = (smj_value > smj_value2 ? 1 : smj_value <
smj_value2 ? -1 : 0);
/* 210 */ }
/* 211 */
/* 212 */ if (comp > 0) {
/* 213 */ smj_rightRow = null;
/* 214 */ } else if (comp < 0) {
/* 215 */ if (!smj_matches.isEmpty()) {
/* 216 */ smj_value3 = smj_value;
/* 217 */
/* 218 */ return true;
/* 219 */ }
/* 220 */ smj_leftRow = null;
/* 221 */ } else {
/* 222 */ smj_matches.add(smj_rightRow.copy());
/* 223 */ smj_rightRow = null;;
/* 224 */ }
/* 225 */ } while (smj_leftRow != null);
/* 226 */ }
/* 227 */ return false; // unreachable
/* 228 */ }
/* 229 */
/* 230 */ protected void processNext() throws java.io.IOException {
/* 231 */ while (findNextInnerJoinRows(smj_leftInput, smj_rightInput)) {
/* 232 */ int smj_size = smj_matches.size();
/* 233 */ boolean smj_loaded = false;
/* 234 */
/* 235 */ smj_isNull7 = smj_leftRow.isNullAt(5);
/* 236 */ smj_value9 = smj_isNull7 ? -1 : (smj_leftRow.getInt(5));
/* 237 */
/* 238 */ for (int smj_i = 0; smj_i < smj_size; smj_i ++) {
/* 239 */ InternalRow smj_rightRow1 = (InternalRow)
smj_matches.get(smj_i);
/* 240 */ /* input[3, int] */
/* 241 */ boolean smj_isNull13 = smj_rightRow1.isNullAt(3);
/* 242 */ int smj_value15 = smj_isNull13 ? -1 :
(smj_rightRow1.getInt(3));
/* 243 */ /* (input[11, int] < input[5, int]) */
/* 244 */ boolean smj_isNull14 = true;
/* 245 */ boolean smj_value16 = false;
/* 246 */
/* 247 */ if (!smj_isNull13) {
/* 248 */ if (!smj_isNull7) {
/* 249 */ smj_isNull14 = false; // resultCode could change
nullability.
/* 250 */ smj_value16 = smj_value15 < smj_value9;
/* 251 */
/* 252 */ }
/* 253 */
/* 254 */ }
/* 255 */ if (smj_isNull14 || !smj_value16) continue;
/* 256 */ if (!smj_loaded) {
/* 257 */ smj_loaded = true;
/* 258 */
/* 259 */ smj_isNull2 = smj_leftRow.isNullAt(0);
/* 260 */ smj_value4 = smj_isNull2 ? -1 : (smj_leftRow.getInt(0));
/* 261 */
/* 262 */ smj_isNull3 = smj_leftRow.isNullAt(1);
/* 263 */ smj_value5 = smj_isNull3 ? -1 : (smj_leftRow.getInt(1));
/* 264 */
/* 265 */ smj_isNull4 = smj_leftRow.isNullAt(2);
/* 266 */ smj_value6 = smj_isNull4 ? -1 : (smj_leftRow.getInt(2));
/* 267 */
/* 268 */ smj_isNull5 = smj_leftRow.isNullAt(3);
/* 269 */ smj_value7 = smj_isNull5 ? -1 : (smj_leftRow.getInt(3));
/* 270 */
/* 271 */ smj_isNull6 = smj_leftRow.isNullAt(4);
/* 272 */ smj_value8 = smj_isNull6 ? -1 : (smj_leftRow.getInt(4));
/* 273 */
/* 274 */ smj_isNull8 = smj_leftRow.isNullAt(6);
/* 275 */ smj_value10 = smj_isNull8 ? -1 :
(smj_leftRow.getInt(6));
/* 276 */
/* 277 */ smj_isNull9 = smj_leftRow.isNullAt(7);
/* 278 */ smj_value11 = smj_isNull9 ? -1 :
(smj_leftRow.getInt(7));
/* 279 */
/* 280 */ }
/* 281 */ /* input[0, int] */
/* 282 */ boolean smj_isNull10 = smj_rightRow1.isNullAt(0);
/* 283 */ int smj_value12 = smj_isNull10 ? -1 :
(smj_rightRow1.getInt(0));
/* 284 */ /* input[1, int] */
/* 285 */ boolean smj_isNull11 = smj_rightRow1.isNullAt(1);
/* 286 */ int smj_value13 = smj_isNull11 ? -1 :
(smj_rightRow1.getInt(1));
/* 287 */ /* input[2, int] */
/* 288 */ boolean smj_isNull12 = smj_rightRow1.isNullAt(2);
/* 289 */ int smj_value14 = smj_isNull12 ? -1 :
(smj_rightRow1.getInt(2));
/* 290 */ smj_metricValue.add(1);
```
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]