tests/testthat/_snaps/select.md

dm_rename() works for replacing pk

Code
  dm_for_filter() %>% dm_rename(tf_3, new_f = f) %>% dm_get_all_pks_impl()
Output
  # A tibble: 6 x 3
    table pk_col    autoincrement
    <chr> <keys>    <lgl>        
  1 tf_1  a         TRUE         
  2 tf_2  c         FALSE        
  3 tf_3  new_f, f1 FALSE        
  4 tf_4  h         FALSE        
  5 tf_5  k         FALSE        
  6 tf_6  o         FALSE

dm_rename() works for replacing fks

Code
  dm_for_filter() %>% dm_rename(tf_2, new_d = d, new_e = e) %>%
    dm_get_all_fks_impl()
Output
  # A tibble: 5 x 5
    child_table child_fk_cols parent_table parent_key_cols on_delete
    <chr>       <keys>        <chr>        <keys>          <chr>    
  1 tf_2        new_d         tf_1         a               no_action
  2 tf_2        new_e, e1     tf_3         f, f1           no_action
  3 tf_4        j, j1         tf_3         f, f1           no_action
  4 tf_5        l             tf_4         h               cascade  
  5 tf_5        m             tf_6         n               no_action

dm_select() works for replacing pk

Code
  dm_for_filter() %>% dm_select(tf_3, new_f = f) %>% dm_get_all_pks_impl()
Output
  # A tibble: 5 x 3
    table pk_col autoincrement
    <chr> <keys> <lgl>        
  1 tf_1  a      TRUE         
  2 tf_2  c      FALSE        
  3 tf_4  h      FALSE        
  4 tf_5  k      FALSE        
  5 tf_6  o      FALSE

dm_select() works for replacing fks, and removes missing ones

Code
  dm_for_filter() %>% dm_select(tf_2, new_d = d) %>% dm_get_all_fks_impl()
Output
  # A tibble: 4 x 5
    child_table child_fk_cols parent_table parent_key_cols on_delete
    <chr>       <keys>        <chr>        <keys>          <chr>    
  1 tf_2        new_d         tf_1         a               no_action
  2 tf_4        j, j1         tf_3         f, f1           no_action
  3 tf_5        l             tf_4         h               cascade  
  4 tf_5        m             tf_6         n               no_action

output for compound keys

Code
  dm_select(dm_for_flatten(), fact, dim_1_key_1, dim_1_key_2) %>% dm_paste(
    options = c("select", "keys"))
Message
  dm::dm(
    fact,
    dim_1,
    dim_2,
    dim_3,
    dim_4,
  ) %>%
    dm::dm_select(fact, dim_1_key_1, dim_1_key_2) %>%
    dm::dm_select(dim_1, dim_1_pk_1, dim_1_pk_2, something) %>%
    dm::dm_select(dim_2, dim_2_pk, something) %>%
    dm::dm_select(dim_3, dim_3_pk, something) %>%
    dm::dm_select(dim_4, dim_4_pk, something) %>%
    dm::dm_add_pk(dim_1, c(dim_1_pk_1, dim_1_pk_2)) %>%
    dm::dm_add_pk(dim_2, dim_2_pk) %>%
    dm::dm_add_pk(dim_3, dim_3_pk) %>%
    dm::dm_add_pk(dim_4, dim_4_pk) %>%
    dm::dm_add_fk(fact, c(dim_1_key_1, dim_1_key_2), dim_1)
Code
  dm_select(dm_for_flatten(), dim_1, dim_1_pk_1, dim_1_pk_2) %>% dm_paste(
    options = c("select", "keys"))
Message
  dm::dm(
    fact,
    dim_1,
    dim_2,
    dim_3,
    dim_4,
  ) %>%
    dm::dm_select(fact, fact, dim_1_key_1, dim_1_key_2, dim_2_key, dim_3_key, dim_4_key, something) %>%
    dm::dm_select(dim_1, dim_1_pk_1, dim_1_pk_2) %>%
    dm::dm_select(dim_2, dim_2_pk, something) %>%
    dm::dm_select(dim_3, dim_3_pk, something) %>%
    dm::dm_select(dim_4, dim_4_pk, something) %>%
    dm::dm_add_pk(dim_1, c(dim_1_pk_1, dim_1_pk_2)) %>%
    dm::dm_add_pk(dim_2, dim_2_pk) %>%
    dm::dm_add_pk(dim_3, dim_3_pk) %>%
    dm::dm_add_pk(dim_4, dim_4_pk) %>%
    dm::dm_add_fk(fact, c(dim_1_key_1, dim_1_key_2), dim_1) %>%
    dm::dm_add_fk(fact, dim_2_key, dim_2) %>%
    dm::dm_add_fk(fact, dim_3_key, dim_3) %>%
    dm::dm_add_fk(fact, dim_4_key, dim_4)
Code
  dm_select(dm_for_flatten(), fact, -dim_1_key_1) %>% dm_paste(options = c(
    "select", "keys"))
Message
  dm::dm(
    fact,
    dim_1,
    dim_2,
    dim_3,
    dim_4,
  ) %>%
    dm::dm_select(fact, fact, dim_1_key_2, dim_2_key, dim_3_key, dim_4_key, something) %>%
    dm::dm_select(dim_1, dim_1_pk_1, dim_1_pk_2, something) %>%
    dm::dm_select(dim_2, dim_2_pk, something) %>%
    dm::dm_select(dim_3, dim_3_pk, something) %>%
    dm::dm_select(dim_4, dim_4_pk, something) %>%
    dm::dm_add_pk(dim_1, c(dim_1_pk_1, dim_1_pk_2)) %>%
    dm::dm_add_pk(dim_2, dim_2_pk) %>%
    dm::dm_add_pk(dim_3, dim_3_pk) %>%
    dm::dm_add_pk(dim_4, dim_4_pk) %>%
    dm::dm_add_fk(fact, dim_2_key, dim_2) %>%
    dm::dm_add_fk(fact, dim_3_key, dim_3) %>%
    dm::dm_add_fk(fact, dim_4_key, dim_4)
Code
  dm_select(dm_for_flatten(), dim_1, -dim_1_pk_1) %>% dm_paste(options = c(
    "select", "keys"))
Message
  dm::dm(
    fact,
    dim_1,
    dim_2,
    dim_3,
    dim_4,
  ) %>%
    dm::dm_select(fact, fact, dim_1_key_1, dim_1_key_2, dim_2_key, dim_3_key, dim_4_key, something) %>%
    dm::dm_select(dim_1, dim_1_pk_2, something) %>%
    dm::dm_select(dim_2, dim_2_pk, something) %>%
    dm::dm_select(dim_3, dim_3_pk, something) %>%
    dm::dm_select(dim_4, dim_4_pk, something) %>%
    dm::dm_add_pk(dim_2, dim_2_pk) %>%
    dm::dm_add_pk(dim_3, dim_3_pk) %>%
    dm::dm_add_pk(dim_4, dim_4_pk) %>%
    dm::dm_add_fk(fact, dim_2_key, dim_2) %>%
    dm::dm_add_fk(fact, dim_3_key, dim_3) %>%
    dm::dm_add_fk(fact, dim_4_key, dim_4)


Try the dm package in your browser

Any scripts or data that you put into this service are public.

dm documentation built on Nov. 2, 2023, 6:07 p.m.