4b5cd61950725b446645ab7276dd60cb3765d8e8
galt
  Mon Feb 10 12:30:20 2014 -0800
initial work on creating a random session key for greater securiy of cart data
diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index db83953..99d36e7 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -190,32 +190,33 @@
    return cdb;
    }
 }
 
 struct cartDb *loadDb(struct sqlConnection *conn, char *table, int id, boolean *found)
 /* Load bits from database and save in hash. */
 {
 struct cartDb *cdb;
 char query[256];
 boolean result = TRUE;
 
 cdb = cartDbLoadFromId(conn, table, id);
 if (!cdb)
     {
     result = FALSE;
-    sqlSafef(query, sizeof(query), "INSERT %s VALUES(0,\"\",0,now(),now(),0)",
-	  table);
+    sqlSafef(query, sizeof(query), "INSERT %s VALUES(0,'',0,now(),now(),0%-s)",
+	  table,
+	  cartDbHasSessionKey(conn, table) ? ",''" : "");
     sqlUpdate(conn, query);
     id = sqlLastAutoId(conn);
     if ((cdb = cartDbLoadFromId(conn,table,id)) == NULL)
         errAbort("Couldn't get cartDb for id=%d right after loading.  "
 		 "MySQL problem??", id);
     }
 *found = result;
 return cdb;
 }
 
 void cartExclude(struct cart *cart, char *var)
 /* Exclude var from persistent storage. */
 {
 hashAdd(cart->exclude, var, NULL);
 }