Refactor/fixes - #515
Draft
timcadman wants to merge 191 commits into
Draft
Refactor/fixes#515timcadman wants to merge 191 commits into
timcadman wants to merge 191 commits into
Conversation
Update with V6.3.1-RC2-dev
Update to align with V6.3.5 dev changes
…ework Updates for context() + copyright
Incorporate "v6.3.5 dev feat/testthat rework"
Added 'pull_request_template'
…ase into v7.0-dev-feat/performance
Refactor/perf batch 8
Refactor/perf batch 9
Refactor/perf batch 10
Refactor/perf batch 10
This branch has not been deployed
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.
Background
Fixes found in a full review of the v7.0 refactor (batches 1–10): a data leak, behaviour that changed relative to 6.3.5, and small doc and code errors.
What's changed
ds.asListdata leak:asListDSreturned the converted object to the client. It is now an assign function. It was an aggregate only to work around an old repository quirk with lists; tests confirm lists now assign correctly on Opal and Armadillo..loadServersideObjectnow errors on a NULL object ("is NULL") for every function, includingds.class, which used to return"NULL". Deliberate breaking change: NULL objects only arise from mistakes such as a typo inds.make.meanDS/varDSaccept logical, so an all-NA column no longer breaks the call.corDS/covDSaccept factors again (correlated on level codes).lengthDS/dimDSaccept any class.meanSdGpDSaccepts a numeric grouping variable.ds.cor/ds.covignorey(with a warning) whenxis a matrix or data.frame.ds.changeRefGrouptreats a numericrefas a level name again.BooleDSaccepts"TRUE"/"FALSE"/"NA"asV2.levelsDSchecks the privacy level first.ds.mdPatterncombine: pools columns by variable name, not position.md.patternorders columns by missingness, which differs between studies, so variables could be mixed.seqDS: from/to/by/length.out are converted withas.numericinstead of being looked up as object names.glmChecks,ds.table: restore the user'swarnoption on exit. This fix was on 6.3.x but never ported to v7.