DBId_t FilenameId;
DBId_t PathId;
JobId_t MarkId;
+ uint32_t DeltaSeq;
char LStat[256];
char Digest[BASE64_SIZE(CRYPTO_DIGEST_MAX_SIZE)];
int DigestType; /* NO_SIG/MD5_SIG/SHA1_SIG */
};
/* Call back context for getting a 32/64 bit value from the database */
-struct db_int64_ctx {
+class db_int64_ctx {
+public:
int64_t value; /* value returned */
int count; /* number of values seen */
+
+ db_int64_ctx() : value(0), count(0) {};
+ ~db_int64_ctx() {};
+private:
+ db_int64_ctx(const db_int64_ctx&); /* prohibit pass by value */
+ db_int64_ctx &operator=(const db_int64_ctx&); /* prohibit class assignment */
};
/* Call back context for getting a list of comma separated strings from the
#define db_unlock(mdb) mdb->_db_unlock(__FILE__, __LINE__)
/* Current database version number for all drivers */
-#define BDB_VERSION 13
+#define BDB_VERSION 14
class B_DB: public SMARTALLOC {
protected:
char *m_db_password; /* database password */
int m_db_port; /* port for host name address */
bool m_disabled_batch_insert; /* explicitly disabled batch insert mode ? */
+ bool m_dedicated; /* is this connection dedicated? */
public:
POOLMEM *errmsg; /* nicely edited error message */
};
/* sql_query Query Flags */
-#define QF_STORE_RESULT 0x01
+#define QF_STORE_RESULT 0x01
/* Use for better error location printing */
#define UPDATE_DB(jcr, db, cmd) UpdateDB(__FILE__, __LINE__, jcr, db, cmd)
* Some functions exported by sql.c for use within the cats directory.
*/
int list_result(void *vctx, int cols, char **row);
-void list_result(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *send, void *ctx, e_list_type type);
+int list_result(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *send, void *ctx, e_list_type type);
void list_dashes(B_DB *mdb, DB_LIST_HANDLER *send, void *ctx);
int get_sql_record_max(JCR *jcr, B_DB *mdb);
bool check_tables_version(JCR *jcr, B_DB *mdb);