X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fcats%2Fsql_get.c;h=55d9818496dd052f67c04cfe4f6f21d2e566c88d;hb=04ed7aa59b3c185e750b4d36260afa945612a497;hp=b0e795e4f83af70d27aeb2310843474306a415f7;hpb=510ffab23d953f61a33820c78b39d9ff07b6fbc1;p=bacula%2Fbacula diff --git a/bacula/src/cats/sql_get.c b/bacula/src/cats/sql_get.c index b0e795e4f8..55d9818496 100644 --- a/bacula/src/cats/sql_get.c +++ b/bacula/src/cats/sql_get.c @@ -609,13 +609,15 @@ bool db_get_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pdbr) Mmsg(mdb->cmd, "SELECT PoolId,Name,NumVols,MaxVols,UseOnce,UseCatalog,AcceptAnyVolume," "AutoPrune,Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles," -"MaxVolBytes,PoolType,LabelType,LabelFormat,RecyclePoolId,ScratchPoolId FROM Pool WHERE Pool.PoolId=%s", +"MaxVolBytes,PoolType,LabelType,LabelFormat,RecyclePoolId,ScratchPoolId," +"ActionOnPurge FROM Pool WHERE Pool.PoolId=%s", edit_int64(pdbr->PoolId, ed1)); } else { /* find by name */ Mmsg(mdb->cmd, "SELECT PoolId,Name,NumVols,MaxVols,UseOnce,UseCatalog,AcceptAnyVolume," "AutoPrune,Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles," -"MaxVolBytes,PoolType,LabelType,LabelFormat,RecyclePoolId,ScratchPoolId FROM Pool WHERE Pool.Name='%s'", +"MaxVolBytes,PoolType,LabelType,LabelFormat,RecyclePoolId,ScratchPoolId," +"ActionOnPurge FROM Pool WHERE Pool.Name='%s'", pdbr->Name); } if (QUERY_DB(jcr, mdb, mdb->cmd)) { @@ -649,6 +651,7 @@ bool db_get_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pdbr) bstrncpy(pdbr->LabelFormat, row[16]!=NULL?row[16]:"", sizeof(pdbr->LabelFormat)); pdbr->RecyclePoolId = str_to_int64(row[17]); pdbr->ScratchPoolId = str_to_int64(row[18]); + pdbr->ActionOnPurge = str_to_int32(row[19]); ok = true; } } @@ -950,7 +953,7 @@ bool db_get_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr) "MaxVolFiles,Recycle,Slot,FirstWritten,LastWritten,InChanger," "EndFile,EndBlock,VolParts,LabelType,LabelDate,StorageId," "Enabled,LocationId,RecycleCount,InitialWrite," - "ScratchPoolId,RecyclePoolId,VolReadTime,VolWriteTime " + "ScratchPoolId,RecyclePoolId,VolReadTime,VolWriteTime,ActionOnPurge " "FROM Media WHERE MediaId=%s", edit_int64(mr->MediaId, ed1)); } else { /* find by name */ @@ -960,7 +963,7 @@ bool db_get_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr) "MaxVolFiles,Recycle,Slot,FirstWritten,LastWritten,InChanger," "EndFile,EndBlock,VolParts,LabelType,LabelDate,StorageId," "Enabled,LocationId,RecycleCount,InitialWrite," - "ScratchPoolId,RecyclePoolId,VolReadTime,VolWriteTime " + "ScratchPoolId,RecyclePoolId,VolReadTime,VolWriteTime,ActionOnPurge " "FROM Media WHERE VolumeName='%s'", mr->VolumeName); } @@ -1018,6 +1021,7 @@ bool db_get_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr) mr->RecyclePoolId = str_to_int64(row[34]); mr->VolReadTime = str_to_int64(row[35]); mr->VolWriteTime = str_to_int64(row[36]); + mr->ActionOnPurge = str_to_int32(row[37]); ok = true; } @@ -1069,7 +1073,7 @@ bool db_get_file_list(JCR *jcr, B_DB *mdb, char *jobids, #ifdef new_db_get_file_list POOL_MEM buf2(PM_MESSAGE); Mmsg(buf2, select_recent_version_with_basejob[db_type], - jobids, jobids, jobids); + jobids, jobids, jobids, jobids); Mmsg(buf, "SELECT Path.Path, Filename.Name, Temp.FileIndex, Temp.JobId, LStat, MD5 " "FROM ( %s ) AS Temp " @@ -1259,19 +1263,4 @@ bail_out: return false; } -/* - * Use to build a string of int list from a query. "10,20,30" - */ -int db_get_int_handler(void *ctx, int num_fields, char **row) -{ - POOLMEM *ret = (POOLMEM *)ctx; - if (num_fields == 1) { - if (ret[0]) { - pm_strcat(ret, ","); - } - pm_strcat(ret, row[0]); - } - return 0; -} - #endif /* HAVE_SQLITE3 || HAVE_MYSQL || HAVE_SQLITE || HAVE_POSTGRESQL || HAVE_DBI */