Merged
Conversation
IanManske
commented
Aug 23, 2023
Contributor
|
@IanManske - I think we're close with this one. Are you able to fix the conflicts? |
Member
Author
|
@jntrnr Yep, should be resolved! |
Contributor
|
@IanManske - great work! I also appreciated all the little touch-up fixes you found. Landing. |
Contributor
|
Wow, this is huge. Big thanks to @IanManske for this, and to JT for reviewing it! |
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
This PR creates a new
Recordtype to reduce duplicate code and possibly bugs as well. (This is an edited version of #9648.)RecordimplementsFromIteratorandIntoIteratorand so can be iterated over or collected into. For example, this helps with conversions to and from (hash)maps. (Also, no morecols.iter().zip(vals)!)Recordhas apush(col, val)function to help insure that the number of columns is equal to the number of values. I caught a few potential bugs thanks to this (e.g. in thelscommand).record!macro that helps simplify record creation. It is used like so:Where possible, prefer
record!or.collect()on an iterator instead of multipleRecord::pushs, since the first two automatically set the record capacity and do less work overall.User-Facing Changes
Besides the changes in
nu-protocolthe only other breaking changes are tonu-table::{ExpandedTable::build_map, JustTable::kv_table}.