X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fcats%2Fsql_create.c;h=da5c18d793227836f22e563aa9d8d63a36f23cfb;hb=c7eef1a064f66e5e22de82af1e9263b67a3d536b;hp=a3a877da1010e8eb19b5b793bb5ce2cfc5a7f5b5;hpb=d96e3d4b7a67d43be92cc420fb059cb13077b89a;p=bacula%2Fbacula diff --git a/bacula/src/cats/sql_create.c b/bacula/src/cats/sql_create.c index a3a877da10..da5c18d793 100644 --- a/bacula/src/cats/sql_create.c +++ b/bacula/src/cats/sql_create.c @@ -53,16 +53,16 @@ extern void split_path_and_file(JCR *jcr, B_DB *mdb, const char *fname); /* Create a new record for the Job - * Returns: false on failure - * true on success + * Returns: 0 on failure + * 1 on success */ -bool +int db_create_job_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr) { char dt[MAX_TIME_LENGTH]; time_t stime; struct tm tm; - bool ok; + int stat; utime_t JobTDate; char ed1[30]; @@ -86,65 +86,15 @@ db_create_job_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr) Mmsg2(&mdb->errmsg, _("Create DB Job record %s failed. ERR=%s\n"), mdb->cmd, sql_strerror(mdb)); jr->JobId = 0; - ok = false; - } else { - jr->JobId = sql_insert_id(mdb, N_("Job")); - ok = true; - } - db_unlock(mdb); - return ok; -} - -/* Create a new migration, archive, copy - * Returns: false on failure - * true on success - */ -bool -db_create_mac_record(JCR *jcr, B_DB *mdb, MAC_DBR *mr) -{ - char schedt[MAX_TIME_LENGTH], sdt[MAX_TIME_LENGTH], edt[MAX_TIME_LENGTH]; - time_t stime; - struct tm tm; - bool ok; - utime_t JobTDate; - char ed1[30], ed2[30]; - - db_lock(mdb); - - stime = mr->SchedTime; - ASSERT(stime != 0); - - localtime_r(&stime, &tm); - strftime(schedt, sizeof(schedt), "%Y-%m-%d %T", &tm); - JobTDate = (utime_t)stime; - localtime_r(&mr->StartTime, &tm); - strftime(sdt, sizeof(sdt), "%Y-%m-%d %T", &tm); - localtime_r(&mr->EndTime, &tm); - strftime(edt, sizeof(edt), "%Y-%m-%d %T", &tm); - - /* Must create it */ - Mmsg(mdb->cmd, -"INSERT INTO MAC (OriginaJobId,JobType,JobLevel,SchedTime," -"StartTime,EndTime,JobTDate) VALUES " -"('%s','%c','%c','%s','%s','%s',%s)", - edit_int64(mr->OriginalJobId, ed1), - (char)(mr->JobType), (char)(mr->JobLevel), - schedt, sdt, edt, edit_uint64(JobTDate, ed2)); - - if (!INSERT_DB(jcr, mdb, mdb->cmd)) { - Mmsg2(&mdb->errmsg, _("Create DB MAC record %s failed. ERR=%s\n"), - mdb->cmd, sql_strerror(mdb)); - mr->JobId = 0; - ok = false; + stat = 0; } else { - mr->JobId = sql_insert_id(mdb, N_("Job")); - ok = true; + jr->JobId = sql_insert_id(mdb, NT_("Job")); + stat = 1; } db_unlock(mdb); - return ok; + return stat; } - /* Create a JobMedia record for medium used this job * Returns: false on failure * true on success @@ -249,7 +199,7 @@ db_create_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pr) pr->PoolId = 0; stat = false; } else { - pr->PoolId = sql_insert_id(mdb, N_("Pool")); + pr->PoolId = sql_insert_id(mdb, NT_("Pool")); stat = true; } db_unlock(mdb); @@ -296,7 +246,7 @@ db_create_device_record(JCR *jcr, B_DB *mdb, DEVICE_DBR *dr) dr->DeviceId = 0; ok = false; } else { - dr->DeviceId = sql_insert_id(mdb, N_("Device")); + dr->DeviceId = sql_insert_id(mdb, NT_("Device")); ok = true; } db_unlock(mdb); @@ -354,7 +304,7 @@ bool db_create_storage_record(JCR *jcr, B_DB *mdb, STORAGE_DBR *sr) Jmsg(jcr, M_ERROR, 0, "%s", mdb->errmsg); ok = false; } else { - sr->StorageId = sql_insert_id(mdb, N_("Storage")); + sr->StorageId = sql_insert_id(mdb, NT_("Storage")); sr->created = true; ok = true; } @@ -402,7 +352,7 @@ db_create_mediatype_record(JCR *jcr, B_DB *mdb, MEDIATYPE_DBR *mr) mr->MediaTypeId = 0; stat = false; } else { - mr->MediaTypeId = sql_insert_id(mdb, N_("MediaType")); + mr->MediaTypeId = sql_insert_id(mdb, NT_("MediaType")); stat = true; } db_unlock(mdb); @@ -441,11 +391,11 @@ db_create_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr) /* Must create it */ Mmsg(mdb->cmd, -"INSERT INTO Media (VolumeName,MediaType,MediaTypeId,PoolId,MaxVolBytes," -"VolCapacityBytes,Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles," +"INSERT INTO Media (VolumeName,MediaType,PoolId,MaxVolBytes,VolCapacityBytes," +"Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles," "VolStatus,Slot,VolBytes,InChanger,VolReadTime,VolWriteTime,VolParts," -"EndFile,EndBlock,LabelType,StorageId,DeviceId,LocationId) " -"VALUES ('%s','%s',0,%u,%s,%s,%d,%s,%s,%u,%u,'%s',%d,%s,%d,%s,%s,%d,0,0,%d,%s,0,0)", +"EndFile,EndBlock,LabelType,StorageId) " +"VALUES ('%s','%s',%u,%s,%s,%d,%s,%s,%u,%u,'%s',%d,%s,%d,%s,%s,%d,0,0,%d,%s)", mr->VolumeName, mr->MediaType, mr->PoolId, edit_uint64(mr->MaxVolBytes,ed1), @@ -473,7 +423,7 @@ db_create_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr) mdb->cmd, sql_strerror(mdb)); stat = 0; } else { - mr->MediaId = sql_insert_id(mdb, N_("Media")); + mr->MediaId = sql_insert_id(mdb, NT_("Media")); stat = 1; if (mr->set_label_date) { char dt[MAX_TIME_LENGTH]; @@ -555,7 +505,7 @@ int db_create_client_record(JCR *jcr, B_DB *mdb, CLIENT_DBR *cr) cr->ClientId = 0; stat = 0; } else { - cr->ClientId = sql_insert_id(mdb, N_("Client")); + cr->ClientId = sql_insert_id(mdb, NT_("Client")); stat = 1; } db_unlock(mdb); @@ -666,7 +616,7 @@ bool db_create_fileset_record(JCR *jcr, B_DB *mdb, FILESET_DBR *fsr) fsr->FileSetId = 0; stat = false; } else { - fsr->FileSetId = sql_insert_id(mdb, N_("FileSet")); + fsr->FileSetId = sql_insert_id(mdb, NT_("FileSet")); fsr->created = true; stat = true; } @@ -759,17 +709,17 @@ bail_out: static int db_create_file_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar) { int stat; - static char *no_digest = "0"; - char *digest; + static char *no_sig = "0"; + char *sig; ASSERT(ar->JobId); ASSERT(ar->PathId); ASSERT(ar->FilenameId); - if (ar->Digest == NULL) { - digest = no_digest; + if (ar->Sig == NULL || ar->Sig[0] == 0) { + sig = no_sig; } else { - digest = ar->Digest; + sig = ar->Sig; } /* Must create it */ @@ -777,7 +727,7 @@ static int db_create_file_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar) "INSERT INTO File (FileIndex,JobId,PathId,FilenameId," "LStat,MD5) VALUES (%u,%u,%u,%u,'%s','%s')", ar->FileIndex, ar->JobId, ar->PathId, ar->FilenameId, - ar->attr, digest); + ar->attr, sig); if (!INSERT_DB(jcr, mdb, mdb->cmd)) { Mmsg2(&mdb->errmsg, _("Create db File record %s failed. ERR=%s"), @@ -786,7 +736,7 @@ static int db_create_file_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar) ar->FileId = 0; stat = 0; } else { - ar->FileId = sql_insert_id(mdb, N_("File")); + ar->FileId = sql_insert_id(mdb, NT_("File")); stat = 1; } return stat; @@ -850,7 +800,7 @@ static int db_create_path_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar) ar->PathId = 0; stat = 0; } else { - ar->PathId = sql_insert_id(mdb, N_("Path")); + ar->PathId = sql_insert_id(mdb, NT_("Path")); stat = 1; } @@ -904,7 +854,7 @@ static int db_create_filename_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar) Jmsg(jcr, M_FATAL, 0, "%s", mdb->errmsg); ar->FilenameId = 0; } else { - ar->FilenameId = sql_insert_id(mdb, N_("Filename")); + ar->FilenameId = sql_insert_id(mdb, NT_("Filename")); } return ar->FilenameId > 0; }