|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.17 1996/12/04 03:05:55 bryanh Exp $ |
| 11 | + * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.18 1996/12/09 01:22:17 bryanh Exp $ |
12 | 12 | *
|
13 | 13 | * NOTES
|
14 | 14 | * The old interface functions have been converted to macros
|
@@ -658,52 +658,61 @@ fastgetattr(HeapTuple tup,
|
658 | 658 | }
|
659 | 659 |
|
660 | 660 | /* ----------------
|
661 |
| - *heap_getattr |
| 661 | + *heap_getattr |
662 | 662 | *
|
663 |
| - *returns an attribute from a heap tuple. uses |
664 |
| - * ---------------- |
665 |
| - */ |
| 663 | + * Find a particular field in a row represented as a heap tuple. |
| 664 | + * We return a pointer into that heap tuple, which points to the |
| 665 | + * first byte of the value of the field in question. |
| 666 | + * |
| 667 | + * If the field in question has a NULL value, we return a null |
| 668 | + * pointer and return <*isnull> == true. Otherwise, we return |
| 669 | + * <*isnull> == false. |
| 670 | + * |
| 671 | + * <tup> is the pointer to the heap tuple. <attnum> is the attribute |
| 672 | + * number of the column (field) caller wants. <tupleDesc> is a |
| 673 | + * pointer to the structure describing the row and all its fields. |
| 674 | + * ---------------- */ |
666 | 675 | char*
|
667 | 676 | heap_getattr(HeapTupletup,
|
668 |
| -Bufferb, |
669 |
| -intattnum, |
670 |
| -TupleDesctupleDesc, |
671 |
| -bool*isnull) |
| 677 | +Bufferb, |
| 678 | +intattnum, |
| 679 | +TupleDesctupleDesc, |
| 680 | +bool*isnull) |
672 | 681 | {
|
673 |
| -boollocalIsNull; |
| 682 | +boollocalIsNull; |
674 | 683 |
|
675 | 684 | /* ----------------
|
676 |
| - *sanity checks |
| 685 | + *sanity checks |
677 | 686 | * ----------------
|
678 | 687 | */
|
679 | 688 | Assert(tup!=NULL);
|
680 | 689 |
|
681 | 690 | if (!PointerIsValid(isnull))
|
682 |
| -isnull=&localIsNull; |
| 691 | +isnull=&localIsNull; |
683 | 692 |
|
684 | 693 | if (attnum> (int)tup->t_natts) {
|
685 |
| -*isnull= true; |
686 |
| -return ((char*)NULL); |
| 694 | +*isnull= true; |
| 695 | +return ((char*)NULL); |
687 | 696 | }
|
688 | 697 |
|
689 | 698 | /* ----------------
|
690 |
| - *take care of user defined attributes |
| 699 | + *take care of user defined attributes |
691 | 700 | * ----------------
|
692 | 701 | */
|
693 | 702 | if (attnum>0) {
|
694 |
| -char*datum; |
695 |
| -datum=fastgetattr(tup,attnum,tupleDesc,isnull); |
696 |
| -
|
697 |
| -return (datum); |
| 703 | +char*datum; |
| 704 | +datum=fastgetattr(tup,attnum,tupleDesc,isnull); |
| 705 | +
|
| 706 | +return (datum); |
698 | 707 | }
|
699 | 708 |
|
700 | 709 | /* ----------------
|
701 |
| - *take care of system attributes |
| 710 | + *take care of system attributes |
702 | 711 | * ----------------
|
703 | 712 | */
|
704 | 713 | *isnull= false;
|
705 | 714 | return
|
706 |
| -heap_getsysattr(tup,b,attnum); |
| 715 | +heap_getsysattr(tup,b,attnum); |
707 | 716 | }
|
708 | 717 |
|
709 | 718 | /* ----------------
|
|