Skip to content
Snippets Groups Projects
Commit f7b1d683 authored by Michael Davis's avatar Michael Davis
Browse files

Removes NOT NULL constraint on the CHECKSUM_BLOB column

If CHECKSUM_BLOB is NULL, the code will fall back on CHECKSUM_ADLER32.
parent e4c0eaad
No related branches found
No related tags found
No related merge requests found
......@@ -168,7 +168,7 @@ CREATE TABLE ARCHIVE_FILE(
DISK_FILE_UID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL,
DISK_FILE_GID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL,
SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL,
CHECKSUM_BLOB CHECKSUM_BLOB_TYPE CONSTRAINT ARCHIVE_FILE_CB1_NN NOT NULL,
CHECKSUM_BLOB CHECKSUM_BLOB_TYPE,
CHECKSUM_ADLER32 NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL,
STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL,
CREATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL,
......
......@@ -113,7 +113,9 @@ void ChecksumBlob::deserialize(const std::string &bytearray) {
void ChecksumBlob::deserializeOrSetAdler32(const std::string &bytearray, uint32_t adler32) {
common::ChecksumBlob p_csb;
if(p_csb.ParseFromString(bytearray)) {
// A NULL value in the CHECKSUM_BLOB column will return an empty bytearray. If the bytearray is empty
// or otherwise invalid, default to using the contents of the CHECKSUM_ADLER32 column.
if(!bytearray.empty() && p_csb.ParseFromString(bytearray)) {
ProtobufToChecksumBlob(p_csb, *this);
} else {
insert(ADLER32, adler32);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment