Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for possible column name duplication when generating summary rows #792

Merged
merged 16 commits into from
Jun 11, 2021

Conversation

rich-iannone
Copy link
Member

When using summary_rows() with no stub, a new column is generated internally and given the name rowname. This can conflict with a column in the input data that has the same name, generating duplicate column names and downstream errors. This fix decreases the probability that internal names used in temporary tables will conflict with column names from the input table.

Fixes: #749

@rich-iannone rich-iannone marked this pull request as ready for review June 9, 2021 01:13
Copy link
Member

@jcheng5 jcheng5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any ::xxx:: variables should be extracted into global variables instead of hardcoded literals.

Also add tests that collide with the old column names.

@rich-iannone
Copy link
Member Author

The global variables:

grand_summary_col <- "::GRAND_SUMMARY"
rowname_col_private <- "::rowname::"
group_id_col_private <- "::group_id::"

were put into dt_summary.R and used throughout the package. A large set of snapshot tests (covering a variety of edge cases and standard for all three output formats) was added to test-summary_rows.R.

jcheng5
jcheng5 previously approved these changes Jun 11, 2021
@rich-iannone rich-iannone merged commit bf1fba0 into master Jun 11, 2021
@rich-iannone rich-iannone deleted the summary-rowname branch June 11, 2021 21:04
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master: (24 commits)
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
  Add the `force_sign` arg to several numeric formatters (#793)
  Add the `fmt_engineering()` and `fmt_integer()` formatter functions (#758)
  HTML summary row styling fix (#782)
  Refactor and improve rendering of title/subtitle components in HTML/LaTeX tables (#779)
  LaTeX bugfix for summary rows, and, implementation of grand summary rows (#768)
  Reinstate once failing test
  Include stub var in resolution of visible vars
  Use `seq_len()` instead of `seq()`
  Fix typo in README (#765)
  Increment version number (#762)
  Increase version number
  Documentation fixes (#759)
  Add missing topics to _pkgdown.yml
  Add `accounting` options for `fmt_percent()` and `fmt_number()` (#756)
  Simplify arguments for RTF page numbering
  Add the `fmt_bytes()` formatter function (#750)
  Simplify page numbering text
  Add testthat snapshot tests for RTF page numbering
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

When using summary_rows() with no stub, there is a possibility for column name duplication
2 participants