IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 5, 2006, 2:16:35 PM (21 years ago)
Author:
jhoblitt
Message:

split global and per table data
forward port generated code to pslib 0.9.0

File:
1 edited

Legend:

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

    r4341 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %s') -%]
    3 bool [% namespace %]Pop(psDB *dbh,
     3bool [% table.namespace %]Pop(psDB *dbh,
    44[%- SET i = 0 -%]
    5 [% FOREACH item = columns -%]
     5[% FOREACH item = table.columns -%]
    66[% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%]
    77[% IF item.type == "STR" -%]
     
    1919    int             rowID;
    2020
    21     rowSet = psDBSelectRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, NULL, 1);
     21    rowSet = psDBSelectRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, NULL, 1);
    2222    row = psArrayGet(rowSet, 0);
    2323    // FIXME: psArrayGet should increment the ref count
     
    2929    psFree(rowSet);
    3030
    31     rowID = psMetadataLookupS32(&status, row, [% namespace FILTER upper %]_INDEX_NAME);
     31    rowID = psMetadataLookupS32(&status, row, [% table.namespace FILTER upper %]_INDEX_NAME);
    3232    if (!status) {
    33         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", [% namespace FILTER upper %]_INDEX_NAME);
     33        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", [% table.namespace FILTER upper %]_INDEX_NAME);
    3434        psFree(row);
    3535        return NULL;
     
    3737
    3838    popped = psMetadataAlloc();
    39     psMetadataAddS32(popped, PS_LIST_TAIL, [% namespace FILTER upper %]_INDEX_NAME, NULL, rowID);
     39    psMetadataAddS32(popped, PS_LIST_TAIL, [% table.namespace FILTER upper %]_INDEX_NAME, 0, NULL, rowID);
    4040
    41     deleted = psDBDeleteRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, popped);
     41    deleted = psDBDeleteRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, popped, 0);
    4242    if (deleted != 1) {
    4343        psError(PS_ERR_UNKNOWN, false, "database failed to delete row");
     
    4949    psFree(popped);
    5050
    51 [% FOREACH item = columns -%]
     51[% FOREACH item = table.columns -%]
    5252[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    5353    *[% item.name %] = psMetadataLookup[% item.type %](&status, row, "[% item.name %]");
Note: See TracChangeset for help on using the changeset viewer.