IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 8, 2005, 2:27:20 PM (21 years ago)
Author:
jhoblitt
Message:

change to be just a wrapper around [foo]Pop()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/glueforge/templates/psdb/popobject.tt

    r4147 r4164  
    33[% object_name %] *[% namespace %]PopObject(psDB *dbh)
    44{
    5     psArray         *rowSet;
    6     psMetadata      *row;
    7     psMetadata      *popped;
    8     long            deleted;
    95    bool            status;
    10     int             rowID;
    116    [% indented(object_name, "*object") %];
     7[% FOREACH item = columns -%]
     8[% IF item.type == "STR" -%]
     9    [% indented("char", "$item.name[256]") %];
     10[% ELSE-%]
     11    [% indented("$item.ctype", "$item.name") %];
     12[% END -%]
     13[% END -%]
    1214
    13     rowSet = psDBSelectRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, NULL, 1);
    14     row = psArrayGet(rowSet, 0);
    15     if (!row) {
    16         // psError(); error or table is empty
    17         return NULL;
    18     }
    19 
    20     rowID = psMetadataLookupS32(&status, row, "position");
     15    status = [% namespace %]Pop(dbh,
     16[%- SET i = 0 -%]
     17[% FOREACH item = columns -%]
     18[% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%]
     19&[% item.name -%]
     20[% END %]);
    2121    if (!status) {
    22         // psError(); something bad happened
    23         return NULL;
    24     }
    25 
    26     popped = psMetadataAlloc();
    27     psMetadataAddS32(popped, PS_LIST_TAIL, "position", NULL, rowID);
    28 
    29     deleted = psDBDeleteRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, popped);
    30     if (deleted != 1) {
    3122        // psError(); something bad happened
    3223        return NULL;
     
    3627
    3728[% FOREACH item = columns -%]
    38 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    39     object->[% item.name %] = psMetadataLookup[% item.type %](&status, row, "[% item.name %]");
    40 [% ELSIF item.type == "STR" -%]
    41     object->[% item.name %] = psMetadataLookupPtr(&status, row, "[% item.name %]");
    42 [% ELSIF item.type == "BOOL" -%]
    43     object->[% item.name %] = psMetadataLookupBool(&status, row, "[% item.name %]");
     29[% IF item.type == "STR" -%]
     30    object->[% item.name %] = psStringCopy([% item.name %]);
     31[% ELSE -%]
     32    object->[% item.name %] = [% item.name %];
    4433[% END -%]
    4534[% END -%]
Note: See TracChangeset for help on using the changeset viewer.