Skip to content

Commit 279f6cb

Browse files
committed
minor bug fix for PostgreSQL --file-read
1 parent bd89ade commit 279f6cb

File tree

1 file changed

+29
-28
lines changed

1 file changed

+29
-28
lines changed

Diff for: plugins/generic/filesystem.py

+29-28
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ def _checkFileLength(self, localFile, remoteFile, fileRead=False):
4040
lengthQuery = "SELECT LENGTH(LOAD_FILE('%s'))" % remoteFile
4141

4242
elif Backend.isDbms(DBMS.PGSQL):
43-
if fileRead:
44-
lengthQuery = True
45-
else:
4643
lengthQuery = "SELECT LENGTH(data) FROM pg_largeobject WHERE loid=%d" % self.oid
4744

4845
elif Backend.isDbms(DBMS.MSSQL):
@@ -53,32 +50,36 @@ def _checkFileLength(self, localFile, remoteFile, fileRead=False):
5350

5451
localFileSize = os.path.getsize(localFile)
5552

56-
logger.debug("checking the length of the remote file %s" % remoteFile)
57-
remoteFileSize = inject.getValue(lengthQuery, resumeValue=False, expected=EXPECTED.INT, charsetType=CHARSET_TYPE.DIGITS)
58-
sameFile = None
59-
60-
if isNumPosStrValue(remoteFileSize):
61-
remoteFileSize = long(remoteFileSize)
62-
sameFile = False
63-
64-
if localFileSize == remoteFileSize:
65-
sameFile = True
66-
infoMsg = "the local file %s and the remote file " % localFile
67-
infoMsg += "%s have the same size" % remoteFile
68-
elif remoteFileSize > localFileSize:
69-
infoMsg = "the remote file %s is larger than " % remoteFile
70-
infoMsg += "the local file %s" % localFile
71-
else:
72-
infoMsg = "the remote file %s is smaller than " % remoteFile
73-
infoMsg += "file '%s' (%d bytes)" % (localFile, localFileSize)
74-
75-
logger.info(infoMsg)
53+
if fileRead and Backend.isDbms(DBMS.PGSQL):
54+
logger.info("length of read file %s cannot be checked on PostgreSQL" % remoteFile)
55+
sameFile = True
7656
else:
77-
sameFile = False
78-
warnMsg = "it looks like the file has not been written, this "
79-
warnMsg += "can occur if the DBMS process' user has no write "
80-
warnMsg += "privileges in the destination path"
81-
logger.warn(warnMsg)
57+
logger.debug("checking the length of the remote file %s" % remoteFile)
58+
remoteFileSize = inject.getValue(lengthQuery, resumeValue=False, expected=EXPECTED.INT, charsetType=CHARSET_TYPE.DIGITS)
59+
sameFile = None
60+
61+
if isNumPosStrValue(remoteFileSize):
62+
remoteFileSize = long(remoteFileSize)
63+
sameFile = False
64+
65+
if localFileSize == remoteFileSize:
66+
sameFile = True
67+
infoMsg = "the local file %s and the remote file " % localFile
68+
infoMsg += "%s have the same size" % remoteFile
69+
elif remoteFileSize > localFileSize:
70+
infoMsg = "the remote file %s is larger than " % remoteFile
71+
infoMsg += "the local file %s" % localFile
72+
else:
73+
infoMsg = "the remote file %s is smaller than " % remoteFile
74+
infoMsg += "file '%s' (%d bytes)" % (localFile, localFileSize)
75+
76+
logger.info(infoMsg)
77+
else:
78+
sameFile = False
79+
warnMsg = "it looks like the file has not been written, this "
80+
warnMsg += "can occur if the DBMS process' user has no write "
81+
warnMsg += "privileges in the destination path"
82+
logger.warn(warnMsg)
8283

8384
return sameFile
8485

0 commit comments

Comments
 (0)