-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Description
arangodb-php/lib/ArangoDBClient/DocumentHandler.php
Lines 648 to 655 in 54f7800
if (isset($params[ConnectionOptions::OPTION_REPLACE_POLICY]) && | |
$params[ConnectionOptions::OPTION_REPLACE_POLICY] === UpdatePolicy::ERROR | |
) { | |
if (null !== $options['revision']) { | |
$params['ignoreRevs'] = false; | |
$headers['if-match'] = '"' . $options['revision'] . '"'; | |
} | |
} |
Line 651 may cause "Undefined index" Notice
'revision'
option may not be set in $options
param of put
. Docs of replace
and replaceById
methods doesn't mention it should be provided. Instead it points out to Document's _rev.
So please consider (accordingly to patch
method), to base the condition on something like:
$revision = $document->getRevision();
if (null !== $revision) { ...
or provide 'revision'
option/param within replace
or replaceById
methods (ie. like it's done in remove
)
The issue doesn't appears in < 3.5.0 , since in previous versions includeOptionsInParams
in ArangoDBClient/Handler
returns empty array when its $options
param is empty.
Condition result:
if (isset($params[ConnectionOptions::OPTION_REPLACE_POLICY]) &&
$params[ConnectionOptions::OPTION_REPLACE_POLICY] === UpdatePolicy::ERROR
)
is always false then
Metadata
Metadata
Assignees
Labels
No labels