IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5907 for trunk/glueforge


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

Location:
trunk/glueforge/templates/psdb
Files:
63 edited

Legend:

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

    r4196 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %s') -%]
    3 static void [% object_name %]Free([% object_name %] *object);
     3static void [% table.object_name %]Free([% table.object_name %] *object);
    44
    5 [% object_name %] *[% object_name %]Alloc(
     5[% table.object_name %] *[% table.object_name %]Alloc(
    66[%- SET i = 0 -%]
    7 [% FOREACH item = columns -%]
     7[% FOREACH item = table.columns -%]
    88[% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%]
    99[% IF item.type == "STR" -%]
     
    1515)
    1616{
    17     [% indented(object_name, "*object") %];
     17    [% indented(table.object_name, "*object") %];
    1818
    19     object = psAlloc(sizeof([% object_name %]));
    20     psMemSetDeallocator(object, (psFreeFcn)[% object_name %]Free);
     19    object = psAlloc(sizeof([% table.object_name %]));
     20    psMemSetDeallocator(object, (psFreeFunc)[% table.object_name %]Free);
    2121
    22 [% FOREACH item = columns -%]
     22[% FOREACH item = table.columns -%]
    2323[% IF item.type == "STR" -%]
    2424    object->[% item.name %] = psStringCopy([% item.name %]);
     
    3131}
    3232
    33 static void [% object_name %]Free([% object_name %] *object)
     33static void [% table.object_name %]Free([% table.object_name %] *object)
    3434{
    35 [% FOREACH item = columns -%]
     35[% FOREACH item = table.columns -%]
    3636[% IF item.type == "STR" -%]
    3737    psFree(object->[% item.name %]);
  • trunk/glueforge/templates/psdb/alloc_at.tt

    r4335 r5907  
    1 AT_SETUP([[% object_name %]Alloc()])
    2 AT_KEYWORDS([[% object_name %]Alloc])
     1AT_SETUP([[% table.object_name %]Alloc()])
     2AT_KEYWORDS([[% table.object_name %]Alloc])
    33
    44AT_CHECK([alloc])
  • trunk/glueforge/templates/psdb/alloc_c.tt

    r4355 r5907  
    99int main ()
    1010{
    11     [% indented(object_name, "*object") %];
     11    [% indented(table.object_name, "*object") %];
    1212
    13     object = [% object_name %]Alloc(
     13    object = [% table.object_name %]Alloc(
    1414[%- SET i = 0 -%]
    15 [%- FOREACH item = columns -%]
     15[%- FOREACH item = table.columns -%]
    1616    [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%]
    1717[%- END -%]
     
    2222    }
    2323
    24 [% FOREACH item = columns -%]
     24[% FOREACH item = table.columns -%]
    2525[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" or item.type == "BOOL" -%]
    2626    if (!object->[% item.name %] == [% item.test %]) {
  • trunk/glueforge/templates/psdb/alloc_h.tt

    r4196 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %s') -%]
    3 /** Creates a new [% object_name %] object
     3/** Creates a new [% table.object_name %] object
    44 *
    5  *  @return A new [% object_name %] object or NULL on failure.
     5 *  @return A new [% table.object_name %] object or NULL on failure.
    66 */
    77
    8 [% object_name %] *[% object_name %]Alloc(
     8[% table.object_name %] *[% table.object_name %]Alloc(
    99[%- SET i = 0 -%]
    10 [% FOREACH item = columns -%]
     10[% FOREACH item = table.columns -%]
    1111[% IF i == 0 %][% i = 1 %][% ELSE %],[% END %]
    1212[% IF item.type == "STR" -%]
  • trunk/glueforge/templates/psdb/cleanup.tt

    r4169 r5907  
    1 void [% namespace %]Cleanup(psDB *dbh)
     1void [% table.namespace %]Cleanup(psDB *dbh)
    22{
    33    psDBCleanup(dbh);
  • trunk/glueforge/templates/psdb/cleanup_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]Cleanup()])
    2 AT_KEYWORDS([[% namespace %]Cleanup])
     1AT_SETUP([[% table.namespace %]Cleanup()])
     2AT_KEYWORDS([[% table.namespace %]Cleanup])
    33
    44AT_CHECK([cleanup])
  • trunk/glueforge/templates/psdb/cleanup_c.tt

    r4169 r5907  
    1212    }
    1313
    14     [% namespace %]Cleanup(dbh);
     14    [% table.namespace %]Cleanup(dbh);
    1515
    1616    exit(EXIT_SUCCESS);
  • trunk/glueforge/templates/psdb/cleanup_h.tt

    r4008 r5907  
    22 */
    33
    4 void [% namespace %]Cleanup(
     4void [% table.namespace %]Cleanup(
    55    psDB            *dbh                ///< Database handle
    66);
  • trunk/glueforge/templates/psdb/code.tt

    r4334 r5907  
    1 #include "[% namespace %]db.h"
     1#include "[% pkg_name %].h"
    22
    3 #define [% namespace FILTER upper %]_TABLE_NAME "[% table_name %]"
    4 #define [% namespace FILTER upper %]_INDEX_NAME "position"
     3[% FOREACH table = tables -%]
     4#define [% table.namespace FILTER upper %]_TABLE_NAME "[% table.name %]"
     5#define [% table.namespace FILTER upper %]_INDEX_NAME "position"
     6[% END -%]
    57#define MAX_STRING_LENGTH 1024
    68
     9[% FOREACH table = tables -%]
    710[% INCLUDE alloc.tt %]
    811[% INCLUDE init.tt %]
     
    1922[% INCLUDE metadatafromobject.tt %]
    2023[% INCLUDE objectfrommetadata.tt -%]
     24[% END -%]
  • trunk/glueforge/templates/psdb/createtable.tt

    r4341 r5907  
    1 bool [% namespace %]CreateTable(psDB *dbh)
     1bool [% table.namespace %]CreateTable(psDB *dbh)
    22{
    33    psMetadata          *md;
     
    55
    66    md = psMetadataAlloc();
    7     psMetadataAdd(md, PS_LIST_TAIL, [% namespace FILTER upper %]_INDEX_NAME, PS_META_S32, "AUTO_INCREMENT", 0.0);
    8 [% FOREACH item = columns -%]
     7    psMetadataAdd(md, PS_LIST_TAIL, [% table.namespace FILTER upper %]_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0);
     8[% FOREACH item = table.columns -%]
    99[% IF item.comment;
    1010    SET item.comment = "\"$item.comment\"";
     
    1414-%]
    1515[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    16     if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", [% item.comment %], [% item.value %])) {
     16    if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", 0, [% item.comment %], [% item.value %])) {
    1717[% ELSIF item.type == "STR" -%]
    18     if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", [% item.comment %], "[% item.value %]")) {
     18    if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", 0, [% item.comment %], "[% item.value %]")) {
    1919[% ELSIF item.type == "BOOL" -%]
    2020[% IF item.value == 1;
     
    2424END;
    2525-%]
    26     if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_META_BOOL, [% item.comment %], [% item.value %])) {
     26    if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_DATA_BOOL, [% item.comment %], [% item.value %])) {
    2727[% END -%]
    2828        psError(PS_ERR_UNKNOWN, false, "failed to add item [% item.name %]");
     
    3232[% END -%]
    3333
    34     status = psDBCreateTable(dbh, [% namespace FILTER upper %]_TABLE_NAME, md);
     34    status = psDBCreateTable(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, md);
    3535
    3636    psFree(md);
  • trunk/glueforge/templates/psdb/createtable_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]CreateTable()])
    2 AT_KEYWORDS([[% namespace %]CreateTable])
     1AT_SETUP([[% table.namespace %]CreateTable()])
     2AT_KEYWORDS([[% table.namespace %]CreateTable])
    33
    44# make sure the table is not there.
  • trunk/glueforge/templates/psdb/createtable_c.tt

    r4169 r5907  
    1212    }
    1313
    14     if(![% namespace %]CreateTable(dbh)) {
     14    if(![% table.namespace %]CreateTable(dbh)) {
    1515        exit(EXIT_FAILURE);
    1616    }
  • trunk/glueforge/templates/psdb/createtable_h.tt

    r3914 r5907  
    1 /** Creates a new [% table_name %] table
     1/** Creates a new [% table.name %] table
    22 *
    33 * @return true on success
    44 */
    55
    6 bool [% namespace %]CreateTable(
     6bool [% table.namespace %]CreateTable(
    77    psDB            *dbh                ///< Database handle
    88);
  • trunk/glueforge/templates/psdb/dbcleanup_c.tt

    r4169 r5907  
    1111    }
    1212
    13     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS [% table_name %]");
     13    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS [% table.name %]");
    1414
    1515    psDBCleanup(dbh);
  • trunk/glueforge/templates/psdb/dbsetup_c.tt

    r4169 r5907  
    1313
    1414    // remove the table if it already exists
    15     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS [% table_name %]");
    16     [% namespace %]CreateTable(dbh);
     15    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS [% table.name %]");
     16    [% table.namespace %]CreateTable(dbh);
    1717
    1818    psDBCleanup(dbh);
  • trunk/glueforge/templates/psdb/droptable.tt

    r4326 r5907  
    1 bool [% namespace %]DropTable(psDB *dbh)
     1bool [% table.namespace %]DropTable(psDB *dbh)
    22{
    3     return psDBDropTable(dbh, [% namespace FILTER upper %]_TABLE_NAME);
     3    return psDBDropTable(dbh, [% table.namespace FILTER upper %]_TABLE_NAME);
    44}
  • trunk/glueforge/templates/psdb/droptable_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]DropTable()])
    2 AT_KEYWORDS([[% namespace %]DropTable])
     1AT_SETUP([[% table.namespace %]DropTable()])
     2AT_KEYWORDS([[% table.namespace %]DropTable])
    33
    44# make sure the table is not there.
  • trunk/glueforge/templates/psdb/droptable_c.tt

    r4326 r5907  
    1212    }
    1313
    14     if (![% namespace %]DropTable(dbh)) {
     14    if (![% table.namespace %]DropTable(dbh)) {
    1515        exit(EXIT_FAILURE);
    1616    }
  • trunk/glueforge/templates/psdb/droptable_h.tt

    r4169 r5907  
    1 /** Deletes a [% table_name %] table
     1/** Deletes a [% table.name %] table
    22 *
    33 * @return true on success
    44 */
    55
    6 bool [% namespace %]DropTable(
     6bool [% table.namespace %]DropTable(
    77    psDB            *dbh                ///< Database handle
    88);
  • trunk/glueforge/templates/psdb/header.tt

    r4346 r5907  
    1 #ifndef [% namespace FILTER upper %]_DB_H
    2 #define [% namespace FILTER upper %]_DB_H 1
     1#ifndef [% pkg_name FILTER upper %]_H
     2#define [% pkg_name FILTER upper %]_H 1
    33
    44#include <pslib.h>
     
    1111/// @{
    1212
     13[% FOREACH table = tables -%]
    1314[% INCLUDE object_h.tt %]
    1415[% INCLUDE alloc_h.tt %]
     
    2627[% INCLUDE metadatafromobject_h.tt %]
    2728[% INCLUDE objectfrommetadata_h.tt -%]
     29[% END -%]
    2830
    2931/// @}
     
    3335#endif
    3436
    35 #endif // [% namespace FILTER upper %]_DB_H
     37#endif // [% table.namespace FILTER upper %]_DB_H
  • trunk/glueforge/templates/psdb/init.tt

    r4326 r5907  
    1 psDB *[% namespace %]Init(const char *host, const char *user, const char *passwd, const char *dbname)
     1psDB *[% table.namespace %]Init(const char *host, const char *user, const char *passwd, const char *dbname)
    22{
    33    return psDBInit(host, user, passwd, dbname);
  • trunk/glueforge/templates/psdb/init_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]Init()])
    2 AT_KEYWORDS([[% namespace %]Init])
     1AT_SETUP([[% table.namespace %]Init()])
     2AT_KEYWORDS([[% table.namespace %]Init])
    33
    44AT_CHECK([init])
  • trunk/glueforge/templates/psdb/init_c.tt

    r4169 r5907  
    77    psDB            *dbh;
    88
    9     dbh = [% namespace %]Init("localhost", "test", NULL, "test");
     9    dbh = [% table.namespace %]Init("localhost", "test", NULL, "test");
    1010    if (!dbh) {
    1111        exit(EXIT_FAILURE);
  • trunk/glueforge/templates/psdb/init_h.tt

    r3871 r5907  
    55 */
    66
    7 psDB *[% namespace %]Init(
     7psDB *[% table.namespace %]Init(
    88    const char      *host,              ///< Database server hostname
    99    const char      *user,              ///< Database username
    1010    const char      *passwd,            ///< Database password
    11     const char      *dbname             ///< Database namespace
     11    const char      *dbname             ///< Database table.namespace
    1212);
  • trunk/glueforge/templates/psdb/insert.tt

    r4341 r5907  
    1 bool [% namespace %]Insert(psDB * dbh,
     1bool [% table.namespace %]Insert(psDB * dbh,
    22[%- SET i = 0 -%]
    3 [% FOREACH item = columns -%]
     3[% FOREACH item = table.columns -%]
    44[% IF i == 0 %][% i = 1 %] [% ELSE %], [% END -%]
    55[% IF item.type == "STR" -%]
     
    1515
    1616    md = psMetadataAlloc();
    17 [% FOREACH item = columns -%]
     17[% FOREACH item = table.columns -%]
    1818[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    19     if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", NULL, [% item.name %])) {
     19    if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", 0, NULL, [% item.name %])) {
    2020[% ELSIF item.type == "STR" -%]
    21     if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", NULL, psStringCopy([% item.name %]))) {
     21    if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", 0, NULL, psStringCopy([% item.name %]))) {
    2222[% ELSIF item.type == "BOOL" -%]
    23     if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_META_BOOL, NULL, [% item.name %])) {
     23    if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_DATA_BOOL, NULL, [% item.name %])) {
    2424[% END -%]
    2525        psError(PS_ERR_UNKNOWN, false, "failed to add item [% item.name %]");
     
    2929[% END -%]
    3030
    31     status = psDBInsertOneRow(dbh, [% namespace FILTER upper %]_TABLE_NAME, md);
     31    status = psDBInsertOneRow(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, md);
    3232    psFree(md);
    3333
  • trunk/glueforge/templates/psdb/insert_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]Insert()])
    2 AT_KEYWORDS([[% namespace %]Insert])
     1AT_SETUP([[% table.namespace %]Insert()])
     2AT_KEYWORDS([[% table.namespace %]Insert])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/insert_c.tt

    r4326 r5907  
    1414    }
    1515
    16     if (![% namespace %]Insert(dbh,
     16    if (![% table.namespace %]Insert(dbh,
    1717[%- SET i = 0 -%]
    18 [%- FOREACH item = columns -%]
     18[%- FOREACH item = table.columns -%]
    1919[%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%]
    2020[%- END -%]
  • trunk/glueforge/templates/psdb/insert_h.tt

    r4196 r5907  
    88 */
    99
    10 bool [% namespace %]Insert(
     10bool [% table.namespace %]Insert(
    1111    psDB            *dbh,               ///< Database handle
    1212[%- SET i = 0 -%]
    13 [% FOREACH item = columns -%]
     13[% FOREACH item = table.columns -%]
    1414[% IF i == 0 %][% i = 1 %][% ELSE %],[% END %]
    1515[% IF item.type == "STR" -%]
  • trunk/glueforge/templates/psdb/insertfits.tt

    r4341 r5907  
    1 bool [% namespace %]InsertFits(psDB *dbh, const psFits *fits)
     1bool [% table.namespace %]InsertFits(psDB *dbh, const psFits *fits)
    22{
    33    psArray         *rowSet;
    44
    5     // move to (the first?) extension named  [% namespace FILTER upper %]_TABLE_NAME
    6     if (!psFitsMoveExtName(fits, [% namespace FILTER upper %]_TABLE_NAME)) {
    7         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", [% namespace FILTER upper %]_TABLE_NAME);
     5    // move to (the first?) extension named  [% table.namespace FILTER upper %]_TABLE_NAME
     6    if (!psFitsMoveExtName(fits, [% table.namespace FILTER upper %]_TABLE_NAME)) {
     7        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", [% table.namespace FILTER upper %]_TABLE_NAME);
    88        return false;
    99    }
     
    2323    }
    2424
    25     if (!psDBInsertRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, rowSet)) {
     25    if (!psDBInsertRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, rowSet)) {
    2626        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    2727        psFree(rowSet);
  • trunk/glueforge/templates/psdb/insertfits_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]InsertFits()])
    2 AT_KEYWORDS([[% namespace %]InsertFits])
     1AT_SETUP([[% table.namespace %]InsertFits()])
     2AT_KEYWORDS([[% table.namespace %]InsertFits])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/insertfits_c.tt

    r4283 r5907  
    1919    }
    2020
    21     if (![% namespace %]InsertFits(dbh, fits)) {
     21    if (![% table.namespace %]InsertFits(dbh, fits)) {
    2222        exit(EXIT_FAILURE);
    2323    }
  • trunk/glueforge/templates/psdb/insertfits_h.tt

    r4240 r5907  
    1 /** Insert data from a binary FITS table [% object_name %] into the database
     1/** Insert data from a binary FITS table [% table.object_name %] into the database
    22 *
    33 * This function expects a psFits object with a FITS table as the first
     
    99 */
    1010
    11 bool [% namespace %]InsertFits(
     11bool [% table.namespace %]InsertFits(
    1212    psDB            *dbh,               ///< Database handle
    1313    const psFits    *fits               ///< psFits object
  • trunk/glueforge/templates/psdb/insertobject.tt

    r4326 r5907  
    1 bool [% namespace %]InsertObject(psDB *dbh, [% object_name %] *object)
     1bool [% table.namespace %]InsertObject(psDB *dbh, [% table.object_name %] *object)
    22{
    3     return [% namespace %]Insert(dbh,
     3    return [% table.namespace %]Insert(dbh,
    44[%- SET i = 0 -%]
    5 [%- FOREACH item = columns -%]
     5[%- FOREACH item = table.columns -%]
    66[%- IF i == 0 -%][%- i = 1 -%] [% ELSE %], [% END -%]
    77object->[% item.name -%]
  • trunk/glueforge/templates/psdb/insertobject_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]InsertObject()])
    2 AT_KEYWORDS([[% namespace %]InsertObject])
     1AT_SETUP([[% table.namespace %]InsertObject()])
     2AT_KEYWORDS([[% table.namespace %]InsertObject])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/insertobject_c.tt

    r4326 r5907  
    88{
    99    psDB            *dbh;
    10     [% indented(object_name, "*object") %];
     10    [% indented(table.object_name, "*object") %];
    1111
    1212    dbh = psDBInit("localhost", "test", NULL, "test");
     
    1515    }
    1616
    17     object = [% object_name %]Alloc(
     17    object = [% table.object_name %]Alloc(
    1818[%- SET i = 0 -%]
    19 [%- FOREACH item = columns -%]
     19[%- FOREACH item = table.columns -%]
    2020    [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%]
    2121[%- END -%]
     
    2525    }
    2626
    27     if (![% namespace %]InsertObject(dbh, object)) {
     27    if (![% table.namespace %]InsertObject(dbh, object)) {
    2828        exit(EXIT_FAILURE);
    2929    }
  • trunk/glueforge/templates/psdb/insertobject_h.tt

    r3871 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %-20s') -%]
    3 /** Insert a single [% object_name %] object into a table
     3/** Insert a single [% table.object_name %] object into a table
    44 *
    55 * This function constructs and inserts a single row based on it's parameters.
     
    88 */
    99
    10 bool [% namespace %]InsertObject(
     10bool [% table.namespace %]InsertObject(
    1111    psDB            *dbh,               ///< Database handle
    12     [% indented(object_name, "*object") %]///< [% object_name %] object
     12    [% indented(table.object_name, "*object") %]///< [% table.object_name %] object
    1313);
  • trunk/glueforge/templates/psdb/makefile.tt

    r3865 r5907  
    66
    77
    8 objects=[% namespace %]db.o
     8objects=[% table.namespace %]db.o
    99
    10 all: lib[% namespace %]db.so
     10all: lib[% table.namespace %]db.so
    1111
    12 lib[% namespace %]db.so: $(objects)
    13         $(CC) $(CFLAGS) -shared -o lib[% namespace %]db.so $(objects) $(LIBS)
     12lib[% table.namespace %]db.so: $(objects)
     13        $(CC) $(CFLAGS) -shared -o lib[% table.namespace %]db.so $(objects) $(LIBS)
    1414
    1515$(objects): %.o : %.c
  • trunk/glueforge/templates/psdb/metadatafromobject.tt

    r4341 r5907  
    1 psMetadata *[% namespace %]MetadataFromObject(const [% object_name %] *object)
     1psMetadata *[% table.namespace %]MetadataFromObject(const [% table.object_name %] *object)
    22{
    33    psMetadata      *md;
    44
    55    md = psMetadataAlloc();
    6 [% FOREACH item = columns -%]
     6[% FOREACH item = table.columns -%]
    77[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    8     if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", NULL, object->[% item.name %])) {
     8    if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", 0, NULL, object->[% item.name %])) {
    99[% ELSIF item.type == "STR" -%]
    10     if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", NULL, psStringCopy(object->[% item.name %]))) {
     10    if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", 0, NULL, psStringCopy(object->[% item.name %]))) {
    1111[% ELSIF item.type == "BOOL" -%]
    12     if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_META_BOOL, NULL, object->[% item.name %])) {
     12    if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_DATA_BOOL, NULL, object->[% item.name %])) {
    1313[% END -%]
    1414        psError(PS_ERR_UNKNOWN, false, "failed to add item [% item.name %]");
  • trunk/glueforge/templates/psdb/metadatafromobject_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]MetadataFromObject()])
    2 AT_KEYWORDS([[% namespace %]MetadataFromObject])
     1AT_SETUP([[% table.namespace %]MetadataFromObject()])
     2AT_KEYWORDS([[% table.namespace %]MetadataFromObject])
    33
    44AT_CHECK([metadatafromobject])
  • trunk/glueforge/templates/psdb/metadatafromobject_c.tt

    r4361 r5907  
    1111{
    1212    psMetadata      *md;
    13     [% indented(object_name, "*object") %];
     13    [% indented(table.object_name, "*object") %];
    1414    bool            status;
    1515
    16     object = [% object_name %]Alloc(
     16    object = [% table.object_name %]Alloc(
    1717[%- SET i = 0 -%]
    18 [%- FOREACH item = columns -%]
     18[%- FOREACH item = table.columns -%]
    1919    [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%]
    2020[%- END -%]
     
    2424    }
    2525
    26     md = [% namespace %]MetadataFromObject(object);
     26    md = [% table.namespace %]MetadataFromObject(object);
    2727    if (!md) {
    2828        exit(EXIT_FAILURE);
     
    3131    psFree(object);
    3232
    33 [% FOREACH item = columns -%]
     33[% FOREACH item = table.columns -%]
    3434[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    3535    if (!psMetadataLookup[% item.type %](&status, md, "[% item.name %]") == [% item.test %]) {
  • trunk/glueforge/templates/psdb/metadatafromobject_h.tt

    r4331 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %-20s') -%]
    3 /** Convert a [% object_name %] into an equivalent psMetadata
     3/** Convert a [% table.object_name %] into an equivalent psMetadata
    44 *
    55 * @return A psMetadata pointer or NULL on error
    66 */
    77
    8 psMetadata *[% namespace %]MetadataFromObject(
    9     [% indented("const $object_name", "*object") %]///< fooRow to convert into a psMetadata
     8psMetadata *[% table.namespace %]MetadataFromObject(
     9    [% indented("const $table.object_name", "*object") %]///< fooRow to convert into a psMetadata
    1010);
  • trunk/glueforge/templates/psdb/object_h.tt

    r4196 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %s') -%]
    3 /** [% object_name %] data structure
     3/** [% table.object_name %] data structure
    44 *
    5  * Structure for representing a single row of [% table_name %] table data.
     5 * Structure for representing a single row of [% table.name %] table data.
    66 */
    77
    88typedef struct {
    99[% SET i = 0 -%]
    10 [% FOREACH item = columns -%]
     10[% FOREACH item = table.columns -%]
    1111[% IF item.type == "STR" -%]
    1212    [% indented("char", "*$item.name") %];
     
    1515[% END -%]
    1616[% END -%]
    17 } [% object_name %];
     17} [% table.object_name %];
  • trunk/glueforge/templates/psdb/objectfrommetadata.tt

    r4363 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %s') -%]
    3 [% object_name %] *[% namespace %]ObjectFromMetadata(psMetadata *md)
     3[% table.object_name %] *[% table.namespace %]ObjectFromMetadata(psMetadata *md)
    44{
    55    bool            status;
    6 [% FOREACH item = columns -%]
     6[% FOREACH item = table.columns -%]
    77[% IF item.type == "STR" -%]
    88    [% indented("char", "*$item.name") %];
     
    1212[% END -%]
    1313
    14 [% FOREACH item = columns -%]
     14[% FOREACH item = table.columns -%]
    1515[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    1616    [% item.name %] = psMetadataLookup[% item.type %](&status, md, "[% item.name %]");
     
    2626[% END -%]
    2727
    28     return [% object_name %]Alloc(
     28    return [% table.object_name %]Alloc(
    2929[%- SET i = 0 -%]
    30 [% FOREACH item = columns -%]
     30[% FOREACH item = table.columns -%]
    3131[% IF i == 0 -%][%- i = 1 -%][% ELSE %], [% END -%]
    3232[% item.name %]
  • trunk/glueforge/templates/psdb/objectfrommetadata_at.tt

    r4334 r5907  
    1 AT_SETUP([[% namespace %]ObjectFromMetadata()])
    2 AT_KEYWORDS([[% namespace %]ObjectFromMetadata])
     1AT_SETUP([[% table.namespace %]ObjectFromMetadata()])
     2AT_KEYWORDS([[% table.namespace %]ObjectFromMetadata])
    33
    44AT_CHECK([objectfrommetadata])
  • trunk/glueforge/templates/psdb/objectfrommetadata_c.tt

    r4334 r5907  
    1111{
    1212    psMetadata      *md;
    13     [% indented(object_name, "*object") %];
     13    [% indented(table.object_name, "*object") %];
    1414
    1515    md = psMetadataAlloc();
    16 [% FOREACH item = columns -%]
     16[% FOREACH item = table.columns -%]
    1717[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
    1818    if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", NULL, [% item.test %])) {
     
    2020    if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", NULL, [% item.test %])) {
    2121[% ELSIF item.type == "BOOL" -%]
    22     if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_META_BOOL, NULL, [% item.test %])) {
     22    if (!psMetadataAdd(md, PS_LIST_TAIL, "[% item.name %]", PS_DATA_BOOL, NULL, [% item.test %])) {
    2323[% END -%]
    2424        psFree(md);
     
    2727[% END -%]
    2828
    29     object = [% namespace %]ObjectFromMetadata(md);
     29    object = [% table.namespace %]ObjectFromMetadata(md);
    3030    if (!object) {
    3131        psFree(md);
     
    3535    psFree(md);
    3636
    37 [% FOREACH item = columns -%]
     37[% FOREACH item = table.columns -%]
    3838[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" or item.type == "BOOL" -%]
    3939    if (!object->[% item.name %] == [% item.test %]) {
  • trunk/glueforge/templates/psdb/objectfrommetadata_h.tt

    r4363 r5907  
    11/** Convert a psMetadata into an equivalent fooRow
    22 *
    3  * @return A [% object_name %] pointer or NULL on error
     3 * @return A [% table.object_name %] pointer or NULL on error
    44 */
    55
    6 [% object_name %] *[% namespace %]ObjectFromMetadata(
     6[% table.object_name %] *[% table.namespace %]ObjectFromMetadata(
    77    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    88);
  • 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 %]");
  • trunk/glueforge/templates/psdb/pop_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]Pop()])
    2 AT_KEYWORDS([[% namespace %]Pop])
     1AT_SETUP([[% table.namespace %]Pop()])
     2AT_KEYWORDS([[% table.namespace %]Pop])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/pop_c.tt

    r4327 r5907  
    88{
    99    psDB            *dbh;
    10 [% FOREACH item = columns -%]
     10[% FOREACH item = table.columns -%]
    1111[% IF item.type == "STR" -%]
    1212    [% indented("char", "$item.name[256]") %];
     
    2121    }
    2222
    23     if (![% namespace %]Pop(dbh,
     23    if (![% table.namespace %]Pop(dbh,
    2424[%- SET i = 0 -%]
    25 [% FOREACH item = columns -%]
     25[% FOREACH item = table.columns -%]
    2626[% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%]
    2727[% IF item.type == "STR" -%]
  • trunk/glueforge/templates/psdb/pop_h.tt

    r4196 r5907  
    66 */
    77
    8 bool [% namespace %]Pop(
     8bool [% table.namespace %]Pop(
    99    psDB            *dbh,               ///< Database handle
    1010[%- SET i = 0 -%]
    11 [% FOREACH item = columns -%]
     11[% FOREACH item = table.columns -%]
    1212[% IF i == 0 %][% i = 1 %][% ELSE %],[% END %]
    1313[% IF item.type == "STR" -%]
  • trunk/glueforge/templates/psdb/popfits.tt

    r4341 r5907  
    1 bool [% namespace %]PopFits(psDB *dbh, psFits *fits, unsigned long long limit)
     1bool [% table.namespace %]PopFits(psDB *dbh, psFits *fits, unsigned long long limit)
    22{
    33    char            query[MAX_STRING_LENGTH];
     
    1111    if (snprintf(query, MAX_STRING_LENGTH,
    1212                "DELETE FROM %s ORDER BY %s DESC LIMIT %lld",
    13                 [% namespace FILTER upper %]_TABLE_NAME, [% namespace FILTER upper %]_INDEX_NAME, limit) < 0) {
     13                [% table.namespace FILTER upper %]_TABLE_NAME, [% table.namespace FILTER upper %]_INDEX_NAME, limit) < 0) {
    1414        psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %s bytes", MAX_STRING_LENGTH);
    1515        return false;
  • trunk/glueforge/templates/psdb/popfits_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]PopFits()])
    2 AT_KEYWORDS([[% namespace %]PopFits])
     1AT_SETUP([[% table.namespace %]PopFits()])
     2AT_KEYWORDS([[% table.namespace %]PopFits])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/popfits_c.tt

    r4249 r5907  
    1919    }
    2020
    21     if (![% namespace %]PopFits(dbh, fits, 1)) {
     21    if (![% table.namespace %]PopFits(dbh, fits, 1)) {
    2222        exit(EXIT_FAILURE);
    2323    }
  • trunk/glueforge/templates/psdb/popfits_h.tt

    r4267 r5907  
    77 */
    88
    9 bool [% namespace %]PopFits(
     9bool [% table.namespace %]PopFits(
    1010    psDB            *dbh,               ///< Database handle
    1111    psFits          *fits,              ///< psFits object
  • trunk/glueforge/templates/psdb/popobject.tt

    r4341 r5907  
    11[% USE format -%]
    22[% indented = format('%-15s %s') -%]
    3 [% object_name %] *[% namespace %]PopObject(psDB *dbh)
     3[% table.object_name %] *[% table.namespace %]PopObject(psDB *dbh)
    44{
    5 [% FOREACH item = columns -%]
     5[% FOREACH item = table.columns -%]
    66[% IF item.type == "STR" -%]
    77    [% indented("char", "$item.name[256]") %];
     
    1111[% END -%]
    1212
    13     if (![% namespace %]Pop(dbh,
     13    if (![% table.namespace %]Pop(dbh,
    1414[%- SET i = 0 -%]
    15 [% FOREACH item = columns -%]
     15[% FOREACH item = table.columns -%]
    1616[% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%]
    1717[% IF item.type == "STR" -%]
     
    2525    }
    2626
    27     return [% object_name %]Alloc(
     27    return [% table.object_name %]Alloc(
    2828[%- SET i = 0 -%]
    29 [% FOREACH item = columns -%]
     29[% FOREACH item = table.columns -%]
    3030[% IF i == 0 -%][%- i = 1 -%][% ELSE %], [% END -%]
    3131[% item.name %]
  • trunk/glueforge/templates/psdb/popobject_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]PopObject()])
    2 AT_KEYWORDS([[% namespace %]PopObject])
     1AT_SETUP([[% table.namespace %]PopObject()])
     2AT_KEYWORDS([[% table.namespace %]PopObject])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/popobject_c.tt

    r4192 r5907  
    88{
    99    psDB            *dbh;
    10     [% indented(object_name, "*object") %];
     10    [% indented(table.object_name, "*object") %];
    1111
    1212    dbh = psDBInit("localhost", "test", NULL, "test");
     
    1515    }
    1616
    17     object = [% namespace %]PopObject(dbh);
     17    object = [% table.namespace %]PopObject(dbh);
    1818    if (!object) {
    1919        exit(EXIT_FAILURE);
  • trunk/glueforge/templates/psdb/popobject_h.tt

    r3915 r5907  
    11/** Removes the last row from the database and returns it
    22 *
    3  * @return A new [% object_name %] on success or NULL on failure.
     3 * @return A new [% table.object_name %] on success or NULL on failure.
    44 */
    55
    6 [% object_name %] *[% namespace %]PopObject(
     6[% table.object_name %] *[% table.namespace %]PopObject(
    77    psDB            *dbh                ///< Database handle
    88);
  • trunk/glueforge/templates/psdb/selectrowsfits.tt

    r4341 r5907  
    1 bool [% namespace %]SelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     1bool [% table.namespace %]SelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    22{
    33    psArray         *rowSet;
    44    psU64           i;
    55
    6     rowSet = psDBSelectRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, where, limit);
     6    rowSet = psDBSelectRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, where, limit);
    77    if (!rowSet) {
    88        return false;
     
    1111    // strip index column
    1212    for (i = 0; i < rowSet->n; i++) {
    13         if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, [% namespace FILTER upper %]_INDEX_NAME)) {
    14             psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", [% namespace FILTER upper %]_INDEX_NAME);
     13        if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, [% table.namespace FILTER upper %]_INDEX_NAME)) {
     14            psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", [% table.namespace FILTER upper %]_INDEX_NAME);
    1515            psFree(rowSet);
    1616            return false;
     
    2626
    2727    // FIXME: needs to be after a new ext is written?
    28     if (!psFitsSetExtName(fits, [% namespace FILTER upper %]_TABLE_NAME)) {
     28    if (!psFitsSetExtName(fits, [% table.namespace FILTER upper %]_TABLE_NAME)) {
    2929        psError(PS_ERR_UNKNOWN, false, "failed to set FITS HDU extension name");
    3030        psFree(rowSet);
  • trunk/glueforge/templates/psdb/selectrowsfits_at.tt

    r4335 r5907  
    1 AT_SETUP([[% namespace %]SelectRowsFits()])
    2 AT_KEYWORDS([[% namespace %]SelectRowsFits])
     1AT_SETUP([[% table.namespace %]SelectRowsFits()])
     2AT_KEYWORDS([[% table.namespace %]SelectRowsFits])
    33
    44AT_CHECK([dbsetup])
  • trunk/glueforge/templates/psdb/selectrowsfits_c.tt

    r4329 r5907  
    1919    }
    2020
    21     if (![% namespace %]SelectRowsFits(dbh, fits, NULL, 1)) {
     21    if (![% table.namespace %]SelectRowsFits(dbh, fits, NULL, 1)) {
    2222        exit(EXIT_FAILURE);
    2323    }
  • trunk/glueforge/templates/psdb/selectrowsfits_h.tt

    r4267 r5907  
    99 */
    1010
    11 bool [% namespace %]SelectRowsFits(
     11bool [% table.namespace %]SelectRowsFits(
    1212    psDB            *dbh,               ///< Database handle
    1313    psFits          *fits,              ///< psFits object
  • trunk/glueforge/templates/psdb/top_makefile_am.tt

    r4350 r5907  
    88man_MANS = \
    99    $(top_builddir)/docs/man/man3/[% pkg_name %].3 \
    10     $(top_builddir)/docs/man/man3/[% object_name %].3
     10[%- FOREACH table = tables %]
     11[% IF NOT loop.last -%]
     12    $(top_builddir)/docs/man/man3/[% table.object_name %].3 \
     13[% ELSE -%]
     14    $(top_builddir)/docs/man/man3/[% table.object_name %].3
     15[% END -%]
     16[% END %]
    1117
    12 docs/man/man3/[% pkg_name %].3 docs/man/man3/[% object_name %].3:
     18[%- FOREACH table = tables -%]
     19docs/man/man3/[% pkg_name %].3 docs/man/man3/[% table.object_name %].3:
    1320        $(DOXYGEN)
     21[%- END %]
    1422
    1523clean-local:
Note: See TracChangeset for help on using the changeset viewer.