Changeset 4164
- Timestamp:
- Jun 8, 2005, 2:27:20 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/glueforge/templates/psdb/popobject.tt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/glueforge/templates/psdb/popobject.tt
r4147 r4164 3 3 [% object_name %] *[% namespace %]PopObject(psDB *dbh) 4 4 { 5 psArray *rowSet;6 psMetadata *row;7 psMetadata *popped;8 long deleted;9 5 bool status; 10 int rowID;11 6 [% 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 -%] 12 14 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 %]); 21 21 if (!status) { 22 // psError(); something bad happened23 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) {31 22 // psError(); something bad happened 32 23 return NULL; … … 36 27 37 28 [% 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 %]; 44 33 [% END -%] 45 34 [% END -%]
Note:
See TracChangeset
for help on using the changeset viewer.
