Index: /trunk/ippdb/src/ippdb.c
===================================================================
--- /trunk/ippdb/src/ippdb.c	(revision 15002)
+++ /trunk/ippdb/src/ippdb.c	(revision 15003)
@@ -19293,5 +19293,5 @@
 static void magicInputSkyfileRowFree(magicInputSkyfileRow *object);
 
-magicInputSkyfileRow *magicInputSkyfileRowAlloc(psS64 magic_id, psS64 diff_id, psS32 node)
+magicInputSkyfileRow *magicInputSkyfileRowAlloc(psS64 magic_id, psS64 diff_id, const char *node)
 {
     magicInputSkyfileRow *_object;
@@ -19302,5 +19302,5 @@
     _object->magic_id = magic_id;
     _object->diff_id = diff_id;
-    _object->node = node;
+    _object->node = psStringCopy(node);
 
     return _object;
@@ -19309,4 +19309,5 @@
 static void magicInputSkyfileRowFree(magicInputSkyfileRow *object)
 {
+    psFree(object->node);
 }
 
@@ -19324,5 +19325,5 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "node", PS_DATA_S32, "AUTO_INCREMENT INDEX(magic_id, node)", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "node", PS_DATA_STRING, "INDEX(magic_id, node)", "64")) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item node");
         psFree(md);
@@ -19342,5 +19343,5 @@
 }
 
-bool magicInputSkyfileInsert(psDB * dbh, psS64 magic_id, psS64 diff_id, psS32 node)
+bool magicInputSkyfileInsert(psDB * dbh, psS64 magic_id, psS64 diff_id, const char *node)
 {
     psMetadata *md = psMetadataAlloc();
@@ -19355,5 +19356,5 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "node", PS_DATA_S32, NULL, node)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "node", PS_DATA_STRING, NULL, node)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item node");
         psFree(md);
@@ -19466,5 +19467,5 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "node", PS_DATA_S32, NULL, object->node)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "node", PS_DATA_STRING, NULL, object->node)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item node");
         psFree(md);
@@ -19490,5 +19491,5 @@
         return false;
     }
-    psS32 node = psMetadataLookupS32(&status, md, "node");
+    char* node = psMetadataLookupPtr(&status, md, "node");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item node");
Index: /trunk/ippdb/src/ippdb.h
===================================================================
--- /trunk/ippdb/src/ippdb.h	(revision 15002)
+++ /trunk/ippdb/src/ippdb.h	(revision 15003)
@@ -9070,5 +9070,5 @@
     psS64           magic_id;
     psS64           diff_id;
-    psS32           node;
+    char            *node;
 } magicInputSkyfileRow;
 
@@ -9081,5 +9081,5 @@
     psS64           magic_id,
     psS64           diff_id,
-    psS32           node
+    const char      *node
 );
 
@@ -9113,5 +9113,5 @@
     psS64           magic_id,
     psS64           diff_id,
-    psS32           node
+    const char      *node
 );
 
Index: /trunk/ippdb/tests/alloc.c
===================================================================
--- /trunk/ippdb/tests/alloc.c	(revision 15002)
+++ /trunk/ippdb/tests/alloc.c	(revision 15003)
@@ -2195,5 +2195,5 @@
         magicInputSkyfileRow *object;
 
-        object = magicInputSkyfileRowAlloc(-64, -64, -32    );
+        object = magicInputSkyfileRowAlloc(-64, -64, "a string"    );
 
         if (!object) {
@@ -2209,5 +2209,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->node == -32) {
+        if (strncmp(object->node, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/insert.c
===================================================================
--- /trunk/ippdb/tests/insert.c	(revision 15002)
+++ /trunk/ippdb/tests/insert.c	(revision 15003)
@@ -613,5 +613,5 @@
         }
 
-        if (!magicInputSkyfileInsert(dbh, -64, -64, -32)) {
+        if (!magicInputSkyfileInsert(dbh, -64, -64, "a string")) {
             exit(EXIT_FAILURE);
         }
Index: /trunk/ippdb/tests/insertobject.c
===================================================================
--- /trunk/ippdb/tests/insertobject.c	(revision 15002)
+++ /trunk/ippdb/tests/insertobject.c	(revision 15003)
@@ -894,5 +894,5 @@
         }
 
-        object = magicInputSkyfileRowAlloc(-64, -64, -32);
+        object = magicInputSkyfileRowAlloc(-64, -64, "a string");
         if (!object) {
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/metadatafromobject.c
===================================================================
--- /trunk/ippdb/tests/metadatafromobject.c	(revision 15002)
+++ /trunk/ippdb/tests/metadatafromobject.c	(revision 15003)
@@ -2452,5 +2452,5 @@
         bool            status;
 
-        object = magicInputSkyfileRowAlloc(-64, -64, -32);
+        object = magicInputSkyfileRowAlloc(-64, -64, "a string");
         if (!object) {
             exit(EXIT_FAILURE);
@@ -2470,5 +2470,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "node") == -32) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "node"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/objectfrommetadata.c
===================================================================
--- /trunk/ippdb/tests/objectfrommetadata.c	(revision 15002)
+++ /trunk/ippdb/tests/objectfrommetadata.c	(revision 15003)
@@ -3937,5 +3937,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "node", 0, NULL, -32)) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "node", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -3956,5 +3956,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->node == -32) {
+        if (strncmp(object->node, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
