fix(dao) select NULL fields as nil from the proxy #3714
Merged
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.
When reading from the proxy, we do not wish to retrieve unset columns as
ngx.null
for backwards-compatibility reasons. That is now the defaultfor all plugins since 735314c (parent commit), for plugins, and it is
now for the runloop as well.
Context: retrieving unset columns as
nil
instead ofngx.null
allowsfor backwards-compatibility with existing plugins. An example of this is
authentication plugins retrieving the authenticated Consumer, and
injecting its fields as headers into the upstream request (e.g.
X-Consumer-Username
). When such fields are unset, the followingheaders were sent upstream:
X-Consumer-Username: userdata: NULL
instead of no header at all (or worse, producing HTTP 500 errors).
This replaces parts of (but not all) #3710.