Changeset 5907 for trunk/glueforge
- Timestamp:
- Jan 5, 2006, 2:16:35 PM (21 years ago)
- Location:
- trunk/glueforge/templates/psdb
- Files:
-
- 63 edited
-
alloc.tt (modified) (3 diffs)
-
alloc_at.tt (modified) (1 diff)
-
alloc_c.tt (modified) (2 diffs)
-
alloc_h.tt (modified) (1 diff)
-
cleanup.tt (modified) (1 diff)
-
cleanup_at.tt (modified) (1 diff)
-
cleanup_c.tt (modified) (1 diff)
-
cleanup_h.tt (modified) (1 diff)
-
code.tt (modified) (2 diffs)
-
createtable.tt (modified) (5 diffs)
-
createtable_at.tt (modified) (1 diff)
-
createtable_c.tt (modified) (1 diff)
-
createtable_h.tt (modified) (1 diff)
-
dbcleanup_c.tt (modified) (1 diff)
-
dbsetup_c.tt (modified) (1 diff)
-
droptable.tt (modified) (1 diff)
-
droptable_at.tt (modified) (1 diff)
-
droptable_c.tt (modified) (1 diff)
-
droptable_h.tt (modified) (1 diff)
-
header.tt (modified) (4 diffs)
-
init.tt (modified) (1 diff)
-
init_at.tt (modified) (1 diff)
-
init_c.tt (modified) (1 diff)
-
init_h.tt (modified) (1 diff)
-
insert.tt (modified) (3 diffs)
-
insert_at.tt (modified) (1 diff)
-
insert_c.tt (modified) (1 diff)
-
insert_h.tt (modified) (1 diff)
-
insertfits.tt (modified) (2 diffs)
-
insertfits_at.tt (modified) (1 diff)
-
insertfits_c.tt (modified) (1 diff)
-
insertfits_h.tt (modified) (2 diffs)
-
insertobject.tt (modified) (1 diff)
-
insertobject_at.tt (modified) (1 diff)
-
insertobject_c.tt (modified) (3 diffs)
-
insertobject_h.tt (modified) (2 diffs)
-
makefile.tt (modified) (1 diff)
-
metadatafromobject.tt (modified) (1 diff)
-
metadatafromobject_at.tt (modified) (1 diff)
-
metadatafromobject_c.tt (modified) (3 diffs)
-
metadatafromobject_h.tt (modified) (1 diff)
-
object_h.tt (modified) (2 diffs)
-
objectfrommetadata.tt (modified) (3 diffs)
-
objectfrommetadata_at.tt (modified) (1 diff)
-
objectfrommetadata_c.tt (modified) (4 diffs)
-
objectfrommetadata_h.tt (modified) (1 diff)
-
pop.tt (modified) (5 diffs)
-
pop_at.tt (modified) (1 diff)
-
pop_c.tt (modified) (2 diffs)
-
pop_h.tt (modified) (1 diff)
-
popfits.tt (modified) (2 diffs)
-
popfits_at.tt (modified) (1 diff)
-
popfits_c.tt (modified) (1 diff)
-
popfits_h.tt (modified) (1 diff)
-
popobject.tt (modified) (3 diffs)
-
popobject_at.tt (modified) (1 diff)
-
popobject_c.tt (modified) (2 diffs)
-
popobject_h.tt (modified) (1 diff)
-
selectrowsfits.tt (modified) (3 diffs)
-
selectrowsfits_at.tt (modified) (1 diff)
-
selectrowsfits_c.tt (modified) (1 diff)
-
selectrowsfits_h.tt (modified) (1 diff)
-
top_makefile_am.tt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/glueforge/templates/psdb/alloc.tt
r4196 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %s') -%] 3 static void [% object_name %]Free([%object_name %] *object);3 static void [% table.object_name %]Free([% table.object_name %] *object); 4 4 5 [% object_name %] *[%object_name %]Alloc(5 [% table.object_name %] *[% table.object_name %]Alloc( 6 6 [%- SET i = 0 -%] 7 [% FOREACH item = columns -%]7 [% FOREACH item = table.columns -%] 8 8 [% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%] 9 9 [% IF item.type == "STR" -%] … … 15 15 ) 16 16 { 17 [% indented( object_name, "*object") %];17 [% indented(table.object_name, "*object") %]; 18 18 19 object = psAlloc(sizeof([% object_name %]));20 psMemSetDeallocator(object, (psFreeF cn)[%object_name %]Free);19 object = psAlloc(sizeof([% table.object_name %])); 20 psMemSetDeallocator(object, (psFreeFunc)[% table.object_name %]Free); 21 21 22 [% FOREACH item = columns -%]22 [% FOREACH item = table.columns -%] 23 23 [% IF item.type == "STR" -%] 24 24 object->[% item.name %] = psStringCopy([% item.name %]); … … 31 31 } 32 32 33 static void [% object_name %]Free([%object_name %] *object)33 static void [% table.object_name %]Free([% table.object_name %] *object) 34 34 { 35 [% FOREACH item = columns -%]35 [% FOREACH item = table.columns -%] 36 36 [% IF item.type == "STR" -%] 37 37 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])1 AT_SETUP([[% table.object_name %]Alloc()]) 2 AT_KEYWORDS([[% table.object_name %]Alloc]) 3 3 4 4 AT_CHECK([alloc]) -
trunk/glueforge/templates/psdb/alloc_c.tt
r4355 r5907 9 9 int main () 10 10 { 11 [% indented( object_name, "*object") %];11 [% indented(table.object_name, "*object") %]; 12 12 13 object = [% object_name %]Alloc(13 object = [% table.object_name %]Alloc( 14 14 [%- SET i = 0 -%] 15 [%- FOREACH item = columns -%]15 [%- FOREACH item = table.columns -%] 16 16 [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%] 17 17 [%- END -%] … … 22 22 } 23 23 24 [% FOREACH item = columns -%]24 [% FOREACH item = table.columns -%] 25 25 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" or item.type == "BOOL" -%] 26 26 if (!object->[% item.name %] == [% item.test %]) { -
trunk/glueforge/templates/psdb/alloc_h.tt
r4196 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %s') -%] 3 /** Creates a new [% object_name %] object3 /** Creates a new [% table.object_name %] object 4 4 * 5 * @return A new [% object_name %] object or NULL on failure.5 * @return A new [% table.object_name %] object or NULL on failure. 6 6 */ 7 7 8 [% object_name %] *[%object_name %]Alloc(8 [% table.object_name %] *[% table.object_name %]Alloc( 9 9 [%- SET i = 0 -%] 10 [% FOREACH item = columns -%]10 [% FOREACH item = table.columns -%] 11 11 [% IF i == 0 %][% i = 1 %][% ELSE %],[% END %] 12 12 [% IF item.type == "STR" -%] -
trunk/glueforge/templates/psdb/cleanup.tt
r4169 r5907 1 void [% namespace %]Cleanup(psDB *dbh)1 void [% table.namespace %]Cleanup(psDB *dbh) 2 2 { 3 3 psDBCleanup(dbh); -
trunk/glueforge/templates/psdb/cleanup_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]Cleanup()])2 AT_KEYWORDS([[% namespace %]Cleanup])1 AT_SETUP([[% table.namespace %]Cleanup()]) 2 AT_KEYWORDS([[% table.namespace %]Cleanup]) 3 3 4 4 AT_CHECK([cleanup]) -
trunk/glueforge/templates/psdb/cleanup_c.tt
r4169 r5907 12 12 } 13 13 14 [% namespace %]Cleanup(dbh);14 [% table.namespace %]Cleanup(dbh); 15 15 16 16 exit(EXIT_SUCCESS); -
trunk/glueforge/templates/psdb/cleanup_h.tt
r4008 r5907 2 2 */ 3 3 4 void [% namespace %]Cleanup(4 void [% table.namespace %]Cleanup( 5 5 psDB *dbh ///< Database handle 6 6 ); -
trunk/glueforge/templates/psdb/code.tt
r4334 r5907 1 #include "[% namespace %]db.h"1 #include "[% pkg_name %].h" 2 2 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 -%] 5 7 #define MAX_STRING_LENGTH 1024 6 8 9 [% FOREACH table = tables -%] 7 10 [% INCLUDE alloc.tt %] 8 11 [% INCLUDE init.tt %] … … 19 22 [% INCLUDE metadatafromobject.tt %] 20 23 [% INCLUDE objectfrommetadata.tt -%] 24 [% END -%] -
trunk/glueforge/templates/psdb/createtable.tt
r4341 r5907 1 bool [% namespace %]CreateTable(psDB *dbh)1 bool [% table.namespace %]CreateTable(psDB *dbh) 2 2 { 3 3 psMetadata *md; … … 5 5 6 6 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 -%] 9 9 [% IF item.comment; 10 10 SET item.comment = "\"$item.comment\""; … … 14 14 -%] 15 15 [% 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 %])) { 17 17 [% 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 %]")) { 19 19 [% ELSIF item.type == "BOOL" -%] 20 20 [% IF item.value == 1; … … 24 24 END; 25 25 -%] 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 %])) { 27 27 [% END -%] 28 28 psError(PS_ERR_UNKNOWN, false, "failed to add item [% item.name %]"); … … 32 32 [% END -%] 33 33 34 status = psDBCreateTable(dbh, [% namespace FILTER upper %]_TABLE_NAME, md);34 status = psDBCreateTable(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, md); 35 35 36 36 psFree(md); -
trunk/glueforge/templates/psdb/createtable_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]CreateTable()])2 AT_KEYWORDS([[% namespace %]CreateTable])1 AT_SETUP([[% table.namespace %]CreateTable()]) 2 AT_KEYWORDS([[% table.namespace %]CreateTable]) 3 3 4 4 # make sure the table is not there. -
trunk/glueforge/templates/psdb/createtable_c.tt
r4169 r5907 12 12 } 13 13 14 if(![% namespace %]CreateTable(dbh)) {14 if(![% table.namespace %]CreateTable(dbh)) { 15 15 exit(EXIT_FAILURE); 16 16 } -
trunk/glueforge/templates/psdb/createtable_h.tt
r3914 r5907 1 /** Creates a new [% table _name %] table1 /** Creates a new [% table.name %] table 2 2 * 3 3 * @return true on success 4 4 */ 5 5 6 bool [% namespace %]CreateTable(6 bool [% table.namespace %]CreateTable( 7 7 psDB *dbh ///< Database handle 8 8 ); -
trunk/glueforge/templates/psdb/dbcleanup_c.tt
r4169 r5907 11 11 } 12 12 13 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS [% table _name %]");13 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS [% table.name %]"); 14 14 15 15 psDBCleanup(dbh); -
trunk/glueforge/templates/psdb/dbsetup_c.tt
r4169 r5907 13 13 14 14 // 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); 17 17 18 18 psDBCleanup(dbh); -
trunk/glueforge/templates/psdb/droptable.tt
r4326 r5907 1 bool [% namespace %]DropTable(psDB *dbh)1 bool [% table.namespace %]DropTable(psDB *dbh) 2 2 { 3 return psDBDropTable(dbh, [% namespace FILTER upper %]_TABLE_NAME);3 return psDBDropTable(dbh, [% table.namespace FILTER upper %]_TABLE_NAME); 4 4 } -
trunk/glueforge/templates/psdb/droptable_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]DropTable()])2 AT_KEYWORDS([[% namespace %]DropTable])1 AT_SETUP([[% table.namespace %]DropTable()]) 2 AT_KEYWORDS([[% table.namespace %]DropTable]) 3 3 4 4 # make sure the table is not there. -
trunk/glueforge/templates/psdb/droptable_c.tt
r4326 r5907 12 12 } 13 13 14 if (![% namespace %]DropTable(dbh)) {14 if (![% table.namespace %]DropTable(dbh)) { 15 15 exit(EXIT_FAILURE); 16 16 } -
trunk/glueforge/templates/psdb/droptable_h.tt
r4169 r5907 1 /** Deletes a [% table _name %] table1 /** Deletes a [% table.name %] table 2 2 * 3 3 * @return true on success 4 4 */ 5 5 6 bool [% namespace %]DropTable(6 bool [% table.namespace %]DropTable( 7 7 psDB *dbh ///< Database handle 8 8 ); -
trunk/glueforge/templates/psdb/header.tt
r4346 r5907 1 #ifndef [% namespace FILTER upper %]_DB_H2 #define [% namespace FILTER upper %]_DB_H 11 #ifndef [% pkg_name FILTER upper %]_H 2 #define [% pkg_name FILTER upper %]_H 1 3 3 4 4 #include <pslib.h> … … 11 11 /// @{ 12 12 13 [% FOREACH table = tables -%] 13 14 [% INCLUDE object_h.tt %] 14 15 [% INCLUDE alloc_h.tt %] … … 26 27 [% INCLUDE metadatafromobject_h.tt %] 27 28 [% INCLUDE objectfrommetadata_h.tt -%] 29 [% END -%] 28 30 29 31 /// @} … … 33 35 #endif 34 36 35 #endif // [% namespace FILTER upper %]_DB_H37 #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)1 psDB *[% table.namespace %]Init(const char *host, const char *user, const char *passwd, const char *dbname) 2 2 { 3 3 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])1 AT_SETUP([[% table.namespace %]Init()]) 2 AT_KEYWORDS([[% table.namespace %]Init]) 3 3 4 4 AT_CHECK([init]) -
trunk/glueforge/templates/psdb/init_c.tt
r4169 r5907 7 7 psDB *dbh; 8 8 9 dbh = [% namespace %]Init("localhost", "test", NULL, "test");9 dbh = [% table.namespace %]Init("localhost", "test", NULL, "test"); 10 10 if (!dbh) { 11 11 exit(EXIT_FAILURE); -
trunk/glueforge/templates/psdb/init_h.tt
r3871 r5907 5 5 */ 6 6 7 psDB *[% namespace %]Init(7 psDB *[% table.namespace %]Init( 8 8 const char *host, ///< Database server hostname 9 9 const char *user, ///< Database username 10 10 const char *passwd, ///< Database password 11 const char *dbname ///< Database namespace11 const char *dbname ///< Database table.namespace 12 12 ); -
trunk/glueforge/templates/psdb/insert.tt
r4341 r5907 1 bool [% namespace %]Insert(psDB * dbh,1 bool [% table.namespace %]Insert(psDB * dbh, 2 2 [%- SET i = 0 -%] 3 [% FOREACH item = columns -%]3 [% FOREACH item = table.columns -%] 4 4 [% IF i == 0 %][% i = 1 %] [% ELSE %], [% END -%] 5 5 [% IF item.type == "STR" -%] … … 15 15 16 16 md = psMetadataAlloc(); 17 [% FOREACH item = columns -%]17 [% FOREACH item = table.columns -%] 18 18 [% 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 %])) { 20 20 [% 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 %]))) { 22 22 [% 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 %])) { 24 24 [% END -%] 25 25 psError(PS_ERR_UNKNOWN, false, "failed to add item [% item.name %]"); … … 29 29 [% END -%] 30 30 31 status = psDBInsertOneRow(dbh, [% namespace FILTER upper %]_TABLE_NAME, md);31 status = psDBInsertOneRow(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, md); 32 32 psFree(md); 33 33 -
trunk/glueforge/templates/psdb/insert_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]Insert()])2 AT_KEYWORDS([[% namespace %]Insert])1 AT_SETUP([[% table.namespace %]Insert()]) 2 AT_KEYWORDS([[% table.namespace %]Insert]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/insert_c.tt
r4326 r5907 14 14 } 15 15 16 if (![% namespace %]Insert(dbh,16 if (![% table.namespace %]Insert(dbh, 17 17 [%- SET i = 0 -%] 18 [%- FOREACH item = columns -%]18 [%- FOREACH item = table.columns -%] 19 19 [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%] 20 20 [%- END -%] -
trunk/glueforge/templates/psdb/insert_h.tt
r4196 r5907 8 8 */ 9 9 10 bool [% namespace %]Insert(10 bool [% table.namespace %]Insert( 11 11 psDB *dbh, ///< Database handle 12 12 [%- SET i = 0 -%] 13 [% FOREACH item = columns -%]13 [% FOREACH item = table.columns -%] 14 14 [% IF i == 0 %][% i = 1 %][% ELSE %],[% END %] 15 15 [% IF item.type == "STR" -%] -
trunk/glueforge/templates/psdb/insertfits.tt
r4341 r5907 1 bool [% namespace %]InsertFits(psDB *dbh, const psFits *fits)1 bool [% table.namespace %]InsertFits(psDB *dbh, const psFits *fits) 2 2 { 3 3 psArray *rowSet; 4 4 5 // move to (the first?) extension named [% namespace FILTER upper %]_TABLE_NAME6 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); 8 8 return false; 9 9 } … … 23 23 } 24 24 25 if (!psDBInsertRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, rowSet)) {25 if (!psDBInsertRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, rowSet)) { 26 26 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 27 27 psFree(rowSet); -
trunk/glueforge/templates/psdb/insertfits_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]InsertFits()])2 AT_KEYWORDS([[% namespace %]InsertFits])1 AT_SETUP([[% table.namespace %]InsertFits()]) 2 AT_KEYWORDS([[% table.namespace %]InsertFits]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/insertfits_c.tt
r4283 r5907 19 19 } 20 20 21 if (![% namespace %]InsertFits(dbh, fits)) {21 if (![% table.namespace %]InsertFits(dbh, fits)) { 22 22 exit(EXIT_FAILURE); 23 23 } -
trunk/glueforge/templates/psdb/insertfits_h.tt
r4240 r5907 1 /** Insert data from a binary FITS table [% object_name %] into the database1 /** Insert data from a binary FITS table [% table.object_name %] into the database 2 2 * 3 3 * This function expects a psFits object with a FITS table as the first … … 9 9 */ 10 10 11 bool [% namespace %]InsertFits(11 bool [% table.namespace %]InsertFits( 12 12 psDB *dbh, ///< Database handle 13 13 const psFits *fits ///< psFits object -
trunk/glueforge/templates/psdb/insertobject.tt
r4326 r5907 1 bool [% namespace %]InsertObject(psDB *dbh, [%object_name %] *object)1 bool [% table.namespace %]InsertObject(psDB *dbh, [% table.object_name %] *object) 2 2 { 3 return [% namespace %]Insert(dbh,3 return [% table.namespace %]Insert(dbh, 4 4 [%- SET i = 0 -%] 5 [%- FOREACH item = columns -%]5 [%- FOREACH item = table.columns -%] 6 6 [%- IF i == 0 -%][%- i = 1 -%] [% ELSE %], [% END -%] 7 7 object->[% item.name -%] -
trunk/glueforge/templates/psdb/insertobject_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]InsertObject()])2 AT_KEYWORDS([[% namespace %]InsertObject])1 AT_SETUP([[% table.namespace %]InsertObject()]) 2 AT_KEYWORDS([[% table.namespace %]InsertObject]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/insertobject_c.tt
r4326 r5907 8 8 { 9 9 psDB *dbh; 10 [% indented( object_name, "*object") %];10 [% indented(table.object_name, "*object") %]; 11 11 12 12 dbh = psDBInit("localhost", "test", NULL, "test"); … … 15 15 } 16 16 17 object = [% object_name %]Alloc(17 object = [% table.object_name %]Alloc( 18 18 [%- SET i = 0 -%] 19 [%- FOREACH item = columns -%]19 [%- FOREACH item = table.columns -%] 20 20 [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%] 21 21 [%- END -%] … … 25 25 } 26 26 27 if (![% namespace %]InsertObject(dbh, object)) {27 if (![% table.namespace %]InsertObject(dbh, object)) { 28 28 exit(EXIT_FAILURE); 29 29 } -
trunk/glueforge/templates/psdb/insertobject_h.tt
r3871 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %-20s') -%] 3 /** Insert a single [% object_name %] object into a table3 /** Insert a single [% table.object_name %] object into a table 4 4 * 5 5 * This function constructs and inserts a single row based on it's parameters. … … 8 8 */ 9 9 10 bool [% namespace %]InsertObject(10 bool [% table.namespace %]InsertObject( 11 11 psDB *dbh, ///< Database handle 12 [% indented( object_name, "*object") %]///< [%object_name %] object12 [% indented(table.object_name, "*object") %]///< [% table.object_name %] object 13 13 ); -
trunk/glueforge/templates/psdb/makefile.tt
r3865 r5907 6 6 7 7 8 objects=[% namespace %]db.o8 objects=[% table.namespace %]db.o 9 9 10 all: lib[% namespace %]db.so10 all: lib[% table.namespace %]db.so 11 11 12 lib[% namespace %]db.so: $(objects)13 $(CC) $(CFLAGS) -shared -o lib[% namespace %]db.so $(objects) $(LIBS)12 lib[% table.namespace %]db.so: $(objects) 13 $(CC) $(CFLAGS) -shared -o lib[% table.namespace %]db.so $(objects) $(LIBS) 14 14 15 15 $(objects): %.o : %.c -
trunk/glueforge/templates/psdb/metadatafromobject.tt
r4341 r5907 1 psMetadata *[% namespace %]MetadataFromObject(const [%object_name %] *object)1 psMetadata *[% table.namespace %]MetadataFromObject(const [% table.object_name %] *object) 2 2 { 3 3 psMetadata *md; 4 4 5 5 md = psMetadataAlloc(); 6 [% FOREACH item = columns -%]6 [% FOREACH item = table.columns -%] 7 7 [% 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 %])) { 9 9 [% 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 %]))) { 11 11 [% 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 %])) { 13 13 [% END -%] 14 14 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])1 AT_SETUP([[% table.namespace %]MetadataFromObject()]) 2 AT_KEYWORDS([[% table.namespace %]MetadataFromObject]) 3 3 4 4 AT_CHECK([metadatafromobject]) -
trunk/glueforge/templates/psdb/metadatafromobject_c.tt
r4361 r5907 11 11 { 12 12 psMetadata *md; 13 [% indented( object_name, "*object") %];13 [% indented(table.object_name, "*object") %]; 14 14 bool status; 15 15 16 object = [% object_name %]Alloc(16 object = [% table.object_name %]Alloc( 17 17 [%- SET i = 0 -%] 18 [%- FOREACH item = columns -%]18 [%- FOREACH item = table.columns -%] 19 19 [%- IF i == 0 -%][%- i = 1 -%][%- ELSE -%], [% END -%] [%- item.test -%] 20 20 [%- END -%] … … 24 24 } 25 25 26 md = [% namespace %]MetadataFromObject(object);26 md = [% table.namespace %]MetadataFromObject(object); 27 27 if (!md) { 28 28 exit(EXIT_FAILURE); … … 31 31 psFree(object); 32 32 33 [% FOREACH item = columns -%]33 [% FOREACH item = table.columns -%] 34 34 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%] 35 35 if (!psMetadataLookup[% item.type %](&status, md, "[% item.name %]") == [% item.test %]) { -
trunk/glueforge/templates/psdb/metadatafromobject_h.tt
r4331 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %-20s') -%] 3 /** Convert a [% object_name %] into an equivalent psMetadata3 /** Convert a [% table.object_name %] into an equivalent psMetadata 4 4 * 5 5 * @return A psMetadata pointer or NULL on error 6 6 */ 7 7 8 psMetadata *[% namespace %]MetadataFromObject(9 [% indented("const $ object_name", "*object") %]///< fooRow to convert into a psMetadata8 psMetadata *[% table.namespace %]MetadataFromObject( 9 [% indented("const $table.object_name", "*object") %]///< fooRow to convert into a psMetadata 10 10 ); -
trunk/glueforge/templates/psdb/object_h.tt
r4196 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %s') -%] 3 /** [% object_name %] data structure3 /** [% table.object_name %] data structure 4 4 * 5 * Structure for representing a single row of [% table _name %] table data.5 * Structure for representing a single row of [% table.name %] table data. 6 6 */ 7 7 8 8 typedef struct { 9 9 [% SET i = 0 -%] 10 [% FOREACH item = columns -%]10 [% FOREACH item = table.columns -%] 11 11 [% IF item.type == "STR" -%] 12 12 [% indented("char", "*$item.name") %]; … … 15 15 [% END -%] 16 16 [% END -%] 17 } [% object_name %];17 } [% table.object_name %]; -
trunk/glueforge/templates/psdb/objectfrommetadata.tt
r4363 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %s') -%] 3 [% object_name %] *[%namespace %]ObjectFromMetadata(psMetadata *md)3 [% table.object_name %] *[% table.namespace %]ObjectFromMetadata(psMetadata *md) 4 4 { 5 5 bool status; 6 [% FOREACH item = columns -%]6 [% FOREACH item = table.columns -%] 7 7 [% IF item.type == "STR" -%] 8 8 [% indented("char", "*$item.name") %]; … … 12 12 [% END -%] 13 13 14 [% FOREACH item = columns -%]14 [% FOREACH item = table.columns -%] 15 15 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%] 16 16 [% item.name %] = psMetadataLookup[% item.type %](&status, md, "[% item.name %]"); … … 26 26 [% END -%] 27 27 28 return [% object_name %]Alloc(28 return [% table.object_name %]Alloc( 29 29 [%- SET i = 0 -%] 30 [% FOREACH item = columns -%]30 [% FOREACH item = table.columns -%] 31 31 [% IF i == 0 -%][%- i = 1 -%][% ELSE %], [% END -%] 32 32 [% item.name %] -
trunk/glueforge/templates/psdb/objectfrommetadata_at.tt
r4334 r5907 1 AT_SETUP([[% namespace %]ObjectFromMetadata()])2 AT_KEYWORDS([[% namespace %]ObjectFromMetadata])1 AT_SETUP([[% table.namespace %]ObjectFromMetadata()]) 2 AT_KEYWORDS([[% table.namespace %]ObjectFromMetadata]) 3 3 4 4 AT_CHECK([objectfrommetadata]) -
trunk/glueforge/templates/psdb/objectfrommetadata_c.tt
r4334 r5907 11 11 { 12 12 psMetadata *md; 13 [% indented( object_name, "*object") %];13 [% indented(table.object_name, "*object") %]; 14 14 15 15 md = psMetadataAlloc(); 16 [% FOREACH item = columns -%]16 [% FOREACH item = table.columns -%] 17 17 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%] 18 18 if (!psMetadataAdd[% item.type %](md, PS_LIST_TAIL, "[% item.name %]", NULL, [% item.test %])) { … … 20 20 if (!psMetadataAddStr(md, PS_LIST_TAIL, "[% item.name %]", NULL, [% item.test %])) { 21 21 [% 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 %])) { 23 23 [% END -%] 24 24 psFree(md); … … 27 27 [% END -%] 28 28 29 object = [% namespace %]ObjectFromMetadata(md);29 object = [% table.namespace %]ObjectFromMetadata(md); 30 30 if (!object) { 31 31 psFree(md); … … 35 35 psFree(md); 36 36 37 [% FOREACH item = columns -%]37 [% FOREACH item = table.columns -%] 38 38 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" or item.type == "BOOL" -%] 39 39 if (!object->[% item.name %] == [% item.test %]) { -
trunk/glueforge/templates/psdb/objectfrommetadata_h.tt
r4363 r5907 1 1 /** Convert a psMetadata into an equivalent fooRow 2 2 * 3 * @return A [% object_name %] pointer or NULL on error3 * @return A [% table.object_name %] pointer or NULL on error 4 4 */ 5 5 6 [% object_name %] *[%namespace %]ObjectFromMetadata(6 [% table.object_name %] *[% table.namespace %]ObjectFromMetadata( 7 7 psMetadata *md ///< psMetadata to convert into a fooRow 8 8 ); -
trunk/glueforge/templates/psdb/pop.tt
r4341 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %s') -%] 3 bool [% namespace %]Pop(psDB *dbh,3 bool [% table.namespace %]Pop(psDB *dbh, 4 4 [%- SET i = 0 -%] 5 [% FOREACH item = columns -%]5 [% FOREACH item = table.columns -%] 6 6 [% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%] 7 7 [% IF item.type == "STR" -%] … … 19 19 int rowID; 20 20 21 rowSet = psDBSelectRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, NULL, 1);21 rowSet = psDBSelectRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, NULL, 1); 22 22 row = psArrayGet(rowSet, 0); 23 23 // FIXME: psArrayGet should increment the ref count … … 29 29 psFree(rowSet); 30 30 31 rowID = psMetadataLookupS32(&status, row, [% namespace FILTER upper %]_INDEX_NAME);31 rowID = psMetadataLookupS32(&status, row, [% table.namespace FILTER upper %]_INDEX_NAME); 32 32 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); 34 34 psFree(row); 35 35 return NULL; … … 37 37 38 38 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); 40 40 41 deleted = psDBDeleteRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, popped);41 deleted = psDBDeleteRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, popped, 0); 42 42 if (deleted != 1) { 43 43 psError(PS_ERR_UNKNOWN, false, "database failed to delete row"); … … 49 49 psFree(popped); 50 50 51 [% FOREACH item = columns -%]51 [% FOREACH item = table.columns -%] 52 52 [% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%] 53 53 *[% 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])1 AT_SETUP([[% table.namespace %]Pop()]) 2 AT_KEYWORDS([[% table.namespace %]Pop]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/pop_c.tt
r4327 r5907 8 8 { 9 9 psDB *dbh; 10 [% FOREACH item = columns -%]10 [% FOREACH item = table.columns -%] 11 11 [% IF item.type == "STR" -%] 12 12 [% indented("char", "$item.name[256]") %]; … … 21 21 } 22 22 23 if (![% namespace %]Pop(dbh,23 if (![% table.namespace %]Pop(dbh, 24 24 [%- SET i = 0 -%] 25 [% FOREACH item = columns -%]25 [% FOREACH item = table.columns -%] 26 26 [% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%] 27 27 [% IF item.type == "STR" -%] -
trunk/glueforge/templates/psdb/pop_h.tt
r4196 r5907 6 6 */ 7 7 8 bool [% namespace %]Pop(8 bool [% table.namespace %]Pop( 9 9 psDB *dbh, ///< Database handle 10 10 [%- SET i = 0 -%] 11 [% FOREACH item = columns -%]11 [% FOREACH item = table.columns -%] 12 12 [% IF i == 0 %][% i = 1 %][% ELSE %],[% END %] 13 13 [% IF item.type == "STR" -%] -
trunk/glueforge/templates/psdb/popfits.tt
r4341 r5907 1 bool [% namespace %]PopFits(psDB *dbh, psFits *fits, unsigned long long limit)1 bool [% table.namespace %]PopFits(psDB *dbh, psFits *fits, unsigned long long limit) 2 2 { 3 3 char query[MAX_STRING_LENGTH]; … … 11 11 if (snprintf(query, MAX_STRING_LENGTH, 12 12 "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) { 14 14 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %s bytes", MAX_STRING_LENGTH); 15 15 return false; -
trunk/glueforge/templates/psdb/popfits_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]PopFits()])2 AT_KEYWORDS([[% namespace %]PopFits])1 AT_SETUP([[% table.namespace %]PopFits()]) 2 AT_KEYWORDS([[% table.namespace %]PopFits]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/popfits_c.tt
r4249 r5907 19 19 } 20 20 21 if (![% namespace %]PopFits(dbh, fits, 1)) {21 if (![% table.namespace %]PopFits(dbh, fits, 1)) { 22 22 exit(EXIT_FAILURE); 23 23 } -
trunk/glueforge/templates/psdb/popfits_h.tt
r4267 r5907 7 7 */ 8 8 9 bool [% namespace %]PopFits(9 bool [% table.namespace %]PopFits( 10 10 psDB *dbh, ///< Database handle 11 11 psFits *fits, ///< psFits object -
trunk/glueforge/templates/psdb/popobject.tt
r4341 r5907 1 1 [% USE format -%] 2 2 [% indented = format('%-15s %s') -%] 3 [% object_name %] *[%namespace %]PopObject(psDB *dbh)3 [% table.object_name %] *[% table.namespace %]PopObject(psDB *dbh) 4 4 { 5 [% FOREACH item = columns -%]5 [% FOREACH item = table.columns -%] 6 6 [% IF item.type == "STR" -%] 7 7 [% indented("char", "$item.name[256]") %]; … … 11 11 [% END -%] 12 12 13 if (![% namespace %]Pop(dbh,13 if (![% table.namespace %]Pop(dbh, 14 14 [%- SET i = 0 -%] 15 [% FOREACH item = columns -%]15 [% FOREACH item = table.columns -%] 16 16 [% IF i == 0 %][% i = 1 %][% ELSE %], [% END -%] 17 17 [% IF item.type == "STR" -%] … … 25 25 } 26 26 27 return [% object_name %]Alloc(27 return [% table.object_name %]Alloc( 28 28 [%- SET i = 0 -%] 29 [% FOREACH item = columns -%]29 [% FOREACH item = table.columns -%] 30 30 [% IF i == 0 -%][%- i = 1 -%][% ELSE %], [% END -%] 31 31 [% item.name %] -
trunk/glueforge/templates/psdb/popobject_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]PopObject()])2 AT_KEYWORDS([[% namespace %]PopObject])1 AT_SETUP([[% table.namespace %]PopObject()]) 2 AT_KEYWORDS([[% table.namespace %]PopObject]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/popobject_c.tt
r4192 r5907 8 8 { 9 9 psDB *dbh; 10 [% indented( object_name, "*object") %];10 [% indented(table.object_name, "*object") %]; 11 11 12 12 dbh = psDBInit("localhost", "test", NULL, "test"); … … 15 15 } 16 16 17 object = [% namespace %]PopObject(dbh);17 object = [% table.namespace %]PopObject(dbh); 18 18 if (!object) { 19 19 exit(EXIT_FAILURE); -
trunk/glueforge/templates/psdb/popobject_h.tt
r3915 r5907 1 1 /** Removes the last row from the database and returns it 2 2 * 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. 4 4 */ 5 5 6 [% object_name %] *[%namespace %]PopObject(6 [% table.object_name %] *[% table.namespace %]PopObject( 7 7 psDB *dbh ///< Database handle 8 8 ); -
trunk/glueforge/templates/psdb/selectrowsfits.tt
r4341 r5907 1 bool [% namespace %]SelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)1 bool [% table.namespace %]SelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 2 2 { 3 3 psArray *rowSet; 4 4 psU64 i; 5 5 6 rowSet = psDBSelectRows(dbh, [% namespace FILTER upper %]_TABLE_NAME, where, limit);6 rowSet = psDBSelectRows(dbh, [% table.namespace FILTER upper %]_TABLE_NAME, where, limit); 7 7 if (!rowSet) { 8 8 return false; … … 11 11 // strip index column 12 12 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); 15 15 psFree(rowSet); 16 16 return false; … … 26 26 27 27 // 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)) { 29 29 psError(PS_ERR_UNKNOWN, false, "failed to set FITS HDU extension name"); 30 30 psFree(rowSet); -
trunk/glueforge/templates/psdb/selectrowsfits_at.tt
r4335 r5907 1 AT_SETUP([[% namespace %]SelectRowsFits()])2 AT_KEYWORDS([[% namespace %]SelectRowsFits])1 AT_SETUP([[% table.namespace %]SelectRowsFits()]) 2 AT_KEYWORDS([[% table.namespace %]SelectRowsFits]) 3 3 4 4 AT_CHECK([dbsetup]) -
trunk/glueforge/templates/psdb/selectrowsfits_c.tt
r4329 r5907 19 19 } 20 20 21 if (![% namespace %]SelectRowsFits(dbh, fits, NULL, 1)) {21 if (![% table.namespace %]SelectRowsFits(dbh, fits, NULL, 1)) { 22 22 exit(EXIT_FAILURE); 23 23 } -
trunk/glueforge/templates/psdb/selectrowsfits_h.tt
r4267 r5907 9 9 */ 10 10 11 bool [% namespace %]SelectRowsFits(11 bool [% table.namespace %]SelectRowsFits( 12 12 psDB *dbh, ///< Database handle 13 13 psFits *fits, ///< psFits object -
trunk/glueforge/templates/psdb/top_makefile_am.tt
r4350 r5907 8 8 man_MANS = \ 9 9 $(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 %] 11 17 12 docs/man/man3/[% pkg_name %].3 docs/man/man3/[% object_name %].3: 18 [%- FOREACH table = tables -%] 19 docs/man/man3/[% pkg_name %].3 docs/man/man3/[% table.object_name %].3: 13 20 $(DOXYGEN) 21 [%- END %] 14 22 15 23 clean-local:
Note:
See TracChangeset
for help on using the changeset viewer.
