docs(api/result): clarify that result.rowCount can be null
#2967
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I stumbled upon this when running a
LOCK-command and looking at theresult.rowCount-field, which wasnull.This is because
result.rowCountis initialized tonull, but only set to anint-value if the returned command tag consists of more than one word, which is not the case in general.The postgres docs (https://www.postgresql.org/docs/current/protocol-message-formats.html, ctrl+f for
CommandComplete) say:This explains why, for commands such as
LOCK, there is no[ROWS]-field to parse.See the logic in
node-postgreshere:node-postgres/packages/pg/lib/result.js
Lines 13 to 47 in b357e18
Running a command such as
LOCK, postgres will return a command tag of simply the formLOCK, and thusresult.rowCountwill staynull.This PR clarififes this in the docs.