"update resources set nodename = ?, displayname = ?, contenttype = ? where resource_id = ? ;"
#define SQL_NOTEBOOK_NEW \
- "insert into notebooks(resource_id, position) " \
+ "insert into notebooks(resource_id, position) values " \
"(?, (select coalesce(max(position), 0)+1 from notebooks)) returning notebook_id;"
#define SQL_NOTEBOOK_SWAP_POS \
dbuQuerySetParamInt64(q, 1, collection_id);
if(!q->exec(q)) {
err = dbuResultAsValue(q->getResult(q), ¬ebooks_id);
+ if(!err) {
+ DBUResult *result = dbuSqlExecParamInt64(connection, NULL, SQL_NOTEBOOK_NEW, notebooks_id);
+ int64_t unused;
+ err = dbuResultAsInt64(result, &unused);
+ }
}
dbuQueryFree(q);
- q = connection->createQuery(connection, NULL);
- dbuQuerySetSQL(q, "insert into resources(parent_id, nodename, iscollection) values (?, 'My Notes', 1) returning resource_id;");
- dbuQuerySetParamInt64(q, 1, notebooks_id);
- if(!q->exec(q)) {
- err = dbuResultAsValue(q->getResult(q), &mynotes_id);
+ if(!err) {
+ q = connection->createQuery(connection, NULL);
+ dbuQuerySetSQL(q, "insert into resources(parent_id, nodename, iscollection) values (?, 'My Notes', 1) returning resource_id;");
+ dbuQuerySetParamInt64(q, 1, notebooks_id);
+ if(!q->exec(q)) {
+ err = dbuResultAsValue(q->getResult(q), &mynotes_id);
+ if(!err) {
+ DBUResult *result = dbuSqlExecParamInt64(connection, NULL, SQL_NOTEBOOK_NEW, mynotes_id);
+ int64_t unused;
+ err = dbuResultAsInt64(result, &unused);
+ }
+ }
+ dbuQueryFree(q);
}
- dbuQueryFree(q);
+
return err;
}