- Notifications
You must be signed in to change notification settings - Fork28
Commit8f2ea8b
committed
Resurrect heap_deformtuple(), this time implemented as a singly nested
loop over the fields instead of a loop around heap_getattr. This isconsiderably faster (O(N) instead of O(N^2)) when there are nulls orvarlena fields, since those prevent use of attcacheoff. Replace loopsover heap_getattr with heap_deformtuple in situations where all or mostof the fields have to be fetched, such as printtup and tuptoaster.Profiling done more than a year ago shows that this should be a nicewin for situations involving many-column tables.1 parentaf44cac commit8f2ea8b
File tree
8 files changed
+314
-208
lines changed- src
- backend
- access
- common
- heap
- commands
- executor
- include/access
8 files changed
+314
-208
lines changedLines changed: 166 additions & 114 deletions
Large diffs are not rendered by default.
Lines changed: 48 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
12 |
| - | |
| 12 | + | |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
| |||
65 | 65 |
| |
66 | 66 |
| |
67 | 67 |
| |
| 68 | + | |
| 69 | + | |
68 | 70 |
| |
69 | 71 |
| |
70 | 72 |
| |
| |||
103 | 105 |
| |
104 | 106 |
| |
105 | 107 |
| |
| 108 | + | |
| 109 | + | |
106 | 110 |
| |
107 | 111 |
| |
108 | 112 |
| |
| |||
243 | 247 |
| |
244 | 248 |
| |
245 | 249 |
| |
| 250 | + | |
246 | 251 |
| |
247 |
| - | |
| 252 | + | |
248 | 253 |
| |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
249 | 261 |
| |
250 | 262 |
| |
251 | 263 |
| |
252 | 264 |
| |
| 265 | + | |
253 | 266 |
| |
254 | 267 |
| |
| 268 | + | |
| 269 | + | |
| 270 | + | |
255 | 271 |
| |
256 | 272 |
| |
257 | 273 |
| |
| |||
297 | 313 |
| |
298 | 314 |
| |
299 | 315 |
| |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
300 | 321 |
| |
301 | 322 |
| |
302 | 323 |
| |
| |||
310 | 331 |
| |
311 | 332 |
| |
312 | 333 |
| |
313 |
| - | |
| 334 | + | |
314 | 335 |
| |
315 |
| - | |
316 | 336 |
| |
317 |
| - | |
318 |
| - | |
| 337 | + | |
319 | 338 |
| |
320 | 339 |
| |
321 | 340 |
| |
| |||
383 | 402 |
| |
384 | 403 |
| |
385 | 404 |
| |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
386 | 410 |
| |
387 | 411 |
| |
388 | 412 |
| |
| |||
395 | 419 |
| |
396 | 420 |
| |
397 | 421 |
| |
398 |
| - | |
| 422 | + | |
399 | 423 |
| |
400 | 424 |
| |
401 | 425 |
| |
| |||
414 | 438 |
| |
415 | 439 |
| |
416 | 440 |
| |
417 |
| - | |
| 441 | + | |
418 | 442 |
| |
419 |
| - | |
420 | 443 |
| |
421 | 444 |
| |
422 |
| - | |
423 |
| - | |
| 445 | + | |
424 | 446 |
| |
425 | 447 |
| |
426 | 448 |
| |
| |||
461 | 483 |
| |
462 | 484 |
| |
463 | 485 |
| |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
464 | 493 |
| |
465 | 494 |
| |
466 | 495 |
| |
| |||
587 | 616 |
| |
588 | 617 |
| |
589 | 618 |
| |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
590 | 624 |
| |
591 | 625 |
| |
592 | 626 |
| |
| |||
599 | 633 |
| |
600 | 634 |
| |
601 | 635 |
| |
602 |
| - | |
| 636 | + | |
603 | 637 |
| |
604 | 638 |
| |
605 | 639 |
| |
| |||
618 | 652 |
| |
619 | 653 |
| |
620 | 654 |
| |
621 |
| - | |
| 655 | + | |
622 | 656 |
| |
623 |
| - | |
624 | 657 |
| |
625 | 658 |
| |
626 |
| - | |
627 |
| - | |
| 659 | + | |
628 | 660 |
| |
629 | 661 |
| |
630 | 662 |
| |
|
Lines changed: 41 additions & 29 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
281 | 281 |
| |
282 | 282 |
| |
283 | 283 |
| |
284 |
| - | |
285 |
| - | |
| 284 | + | |
| 285 | + | |
286 | 286 |
| |
287 | 287 |
| |
288 |
| - | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
289 | 297 |
| |
290 | 298 |
| |
291 |
| - | |
292 | 299 |
| |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
293 | 304 |
| |
294 | 305 |
| |
295 | 306 |
| |
| |||
299 | 310 |
| |
300 | 311 |
| |
301 | 312 |
| |
302 |
| - | |
303 |
| - | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
304 | 316 |
| |
305 | 317 |
| |
306 | 318 |
| |
| |||
321 | 333 |
| |
322 | 334 |
| |
323 | 335 |
| |
324 |
| - | |
325 |
| - | |
326 | 336 |
| |
327 | 337 |
| |
328 | 338 |
| |
| |||
333 | 343 |
| |
334 | 344 |
| |
335 | 345 |
| |
| 346 | + | |
336 | 347 |
| |
| 348 | + | |
337 | 349 |
| |
338 | 350 |
| |
339 | 351 |
| |
340 | 352 |
| |
341 | 353 |
| |
342 |
| - | |
343 |
| - | |
| 354 | + | |
344 | 355 |
| |
345 | 356 |
| |
346 |
| - | |
347 | 357 |
| |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
348 | 364 |
| |
349 | 365 |
| |
350 | 366 |
| |
| |||
353 | 369 |
| |
354 | 370 |
| |
355 | 371 |
| |
| 372 | + | |
| 373 | + | |
| 374 | + | |
356 | 375 |
| |
357 | 376 |
| |
358 | 377 |
| |
359 |
| - | |
360 | 378 |
| |
361 | 379 |
| |
| 380 | + | |
362 | 381 |
| |
363 | 382 |
| |
364 | 383 |
| |
| |||
369 | 388 |
| |
370 | 389 |
| |
371 | 390 |
| |
372 |
| - | |
373 |
| - | |
374 |
| - | |
375 |
| - | |
| 391 | + | |
376 | 392 |
| |
377 | 393 |
| |
378 | 394 |
| |
379 | 395 |
| |
380 | 396 |
| |
381 | 397 |
| |
382 |
| - | |
| 398 | + | |
383 | 399 |
| |
384 | 400 |
| |
385 |
| - | |
| 401 | + | |
386 | 402 |
| |
387 | 403 |
| |
388 | 404 |
| |
389 | 405 |
| |
390 | 406 |
| |
391 | 407 |
| |
392 |
| - | |
| 408 | + | |
393 | 409 |
| |
394 | 410 |
| |
395 | 411 |
| |
| |||
413 | 429 |
| |
414 | 430 |
| |
415 | 431 |
| |
416 |
| - | |
417 |
| - | |
| 432 | + | |
418 | 433 |
| |
419 | 434 |
| |
420 | 435 |
| |
421 | 436 |
| |
422 | 437 |
| |
423 |
| - | |
| 438 | + | |
424 | 439 |
| |
425 | 440 |
| |
426 |
| - | |
427 | 441 |
| |
428 | 442 |
| |
429 | 443 |
| |
430 | 444 |
| |
431 | 445 |
| |
432 |
| - | |
| 446 | + | |
433 | 447 |
| |
434 | 448 |
| |
435 | 449 |
| |
| |||
461 | 475 |
| |
462 | 476 |
| |
463 | 477 |
| |
464 |
| - | |
| 478 | + | |
465 | 479 |
| |
466 | 480 |
| |
467 |
| - | |
468 | 481 |
| |
469 | 482 |
| |
470 | 483 |
| |
| |||
768 | 781 |
| |
769 | 782 |
| |
770 | 783 |
| |
771 |
| - | |
772 |
| - | |
| 784 | + | |
773 | 785 |
| |
774 | 786 |
| |
775 | 787 |
| |
|
0 commit comments
Comments
(0)