Changes On Branch exp-foreign-keys
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch exp-foreign-keys Excluding Merge-Ins

This is equivalent to a diff from 558a17a686 to 19844445d0

2012-12-27
03:06
Do not interpret MSIE version 6 and earlier as "human" for the purposes of automatically enabling hyperlinks. check-in: 747e1e50d5 user: drh tags: trunk
2012-12-23
07:23
Add support for running raw TH1 commands via the web interface (requires setup permissions). Closed-Leaf check-in: 6358cc3714 user: mistachkin tags: adminTh1
2012-12-22
14:36
Use NULL rather than 0 for values in the MLINK table that are empty. Leaf check-in: 19844445d0 user: drh tags: exp-foreign-keys
13:48
Update SQLite to the latest trunk, with support for the foreign_key_check pragma. check-in: 558a17a686 user: drh tags: trunk
2012-12-21
13:31
Correct typo in the description of the moderation setup page. check-in: c89a694d54 user: mistachkin tags: trunk

Changes to src/db.c.

   330    330   ** to the SQL variable.  Contrast this to bind_blob() which treats
   331    331   ** the Blob object like an SQL BLOB.
   332    332   */
   333    333   int db_bind_str(Stmt *pStmt, const char *zParamName, Blob *pBlob){
   334    334     return sqlite3_bind_text(pStmt->pStmt, paramIdx(pStmt, zParamName),
   335    335                             blob_buffer(pBlob), blob_size(pBlob), SQLITE_STATIC);
   336    336   }
          337  +
          338  +/* Clear all bindings */
          339  +int db_clear_bindings(Stmt *pStmt){
          340  +  return sqlite3_clear_bindings(pStmt->pStmt);
          341  +}
   337    342   
   338    343   /*
   339    344   ** Step the SQL statement.  Return either SQLITE_ROW or an error code
   340    345   ** or SQLITE_OK if the statement finishes successfully.
   341    346   */
   342    347   int db_step(Stmt *pStmt){
   343    348     int rc;

Changes to src/manifest.c.

  1182   1182       fid = uuid_to_rid(zToUuid, 1);
  1183   1183       if( isPublic ) content_make_public(fid);
  1184   1184     }
  1185   1185     db_static_prepare(&s1,
  1186   1186       "INSERT INTO mlink(mid,pid,fid,fnid,pfnid,mperm)"
  1187   1187       "VALUES(:m,:p,:f,:n,:pfn,:mp)"
  1188   1188     );
         1189  +  db_clear_bindings(&s1);
  1189   1190     db_bind_int(&s1, ":m", mid);
  1190         -  db_bind_int(&s1, ":p", pid);
  1191         -  db_bind_int(&s1, ":f", fid);
         1191  +  if( pid ) db_bind_int(&s1, ":p", pid);
         1192  +  if( fid ) db_bind_int(&s1, ":f", fid);
  1192   1193     db_bind_int(&s1, ":n", fnid);
  1193         -  db_bind_int(&s1, ":pfn", pfnid);
         1194  +  if( pfnid) db_bind_int(&s1, ":pfn", pfnid);
  1194   1195     db_bind_int(&s1, ":mp", mperm);
  1195   1196     db_exec(&s1);
  1196   1197     if( pid && fid ){
  1197   1198       content_deltify(pid, fid, 0);
  1198   1199     }
  1199   1200   }
  1200   1201