Skip to contents

Version 2024.6.17

  • Allows for CS9_DBCONFIG_ROLE_CREATE_TABLE in environmental variables.

Version 2024.6.17

  • When running in parallel, a seed is set according to the index of the first analysis in each plan.

Version 2024.6.6

  • Partition table names are now ‘xxxpartitionxxx’ not ‘PARTITION’

Version 2024.3.7

  • Including confirm_insert_via_nrow in DBtables. Checks nrow() before insert and after insert. If nrow() has not increased sufficiently, then attempt an upsert.

Version 2023.8.1

  • cs9::path now uses _interactive instead of interactive.

Version 2023.5.3

  • In R 4.3.0 as.character(lubridate::now()) adds microseconds, which breaks the SQL upload. This is now replaced by cstime::now_c().

Version 2023.4.14

  • Changed “success” to “succeeded” in update_config_tasks_stats

Version 2023.4.13

  • DBPartitionedTableExtended_v9$info() bug fixed with argument collapse=TRUE.
  • Inclusion of confirm_indexes in DBPartitionedTableExtended_v9.

Version 2023.4.12

  • DBPartitionedTableExtended_v9$nrow() now has a new argument collapse=FALSE that provides partion-specific results
  • DBPartitionedTableExtended_v9$info() now includes sizes in MB

Version 2023.4.3

  • Bug fix in DBPartitionedTableExtended_v9$nrow()

Version 2023.4.2

  • Extension of DBPartitionedTableExtended_v9 so that it is easier to use multiple partitioning variables.

Version 2023.4.1

  • Inclusion of partitions_randomized in DBPartitionedTableExtended_v9 so that when running in parallel, the database tables don’t get locked.
  • Inclusion of remove_table in DBPartitionedTableExtended_v9
  • Fixed an error in RAM calculation in parallel for get_config_tasks_stats

Version 2023.3.31

  • DBTableExtended_v9 now automatically includes a column for all tables, called auto_last_updated_datetime, which is automatically calculated each time that row is changed.
  • Creation of DBPartitionedTableExtended_v9, which allows for one dataset to be partitioned amongst multiple SQL tables automatically.

Version 2023.3.8

  • SurveillanceSystem_v9 constructor now takes in an argument called implementation_version, which can be used to identify what version of analytics code is currently being run.
  • update_config_last_updated has now been replaced by update_config_tables_last_updated (which contains when the tables were last updated) and config_tasks_stats (which contains all the runtimes of the tasks).
  • SurveillanceSystem_v9 now uses an internal R6 class DBTableExtended_v9 (which extends csdb::DBTable_v9) instead of using csdb::DBTable_v9 directly. DBTableExtended_v9 calls update_config_last_updated after altering a database table.

Version 2023.3.7

  • sc8 is deprecated in favor of cs9.

Version 8.0.2

  • Allows for multiple databases to be used for different access levels.
  • copy_into_new_table_where now also copies indexes.
  • V8 schemas now have a nice print function.
  • V8 redirects now have a nice print function.
  • copy_into_new_table_where uses tablock.
  • upsert_at_end_of_each_plan and insert_at_end_of_each_plan can now take named lists as the return value from the action_fn.
  • Custom progressr handler.

Version 8.0.1

  • When using sc8::add_task_from_config_v8 the schema list is checked to make sure they are actually schemas. This will solve the issue where people incorrectly add non-existent schemas to the task.
  • insert_data, upsert_data, drop_all_rows_and_then_insert_data are now the recommended ways of inserting data
  • addin_load_production
  • schemas now use load_folder_fn, which should dynamically check if a user has permission to write to a folder, solving permissions errors
  • Including tm_get_schema_names
  • Both granularity_time AND granularity_geo are now included in db censors
  • Requires R >= 4.1.0
  • sc8::config$plan_attempt_index now exists. When running plans in parallel, if a plan fails it is retried five times. This lets a user track which attempt they are on. This is mostly useful so that emails and smses are only sent when sc8::config$plan_attempt_index==1
  • (Disabled) TABLOCK is disabled right now due to issues where data would not be uploaded.
  • (Disabled) Data is sorted before sending it to bcp to speed up in/upserts.

Version 8.0.0

  • Release of schema redirects that allow for restricted and anonymous datasets to be seamlessly used by people with different access rights
  • Consistent naming of task_from_config_v8 and add_schema_v8

Version 7.1.4

  • db_insert_data, db_upsert_data, db_drop_all_rows_and_then_upsert_data are now the recommended ways of inserting data

Version 7.1.3

  • update_config_datetime and get_config_datetime now automatically record database table updates as well

Version 7.1.2

  • Updating default db schemas to be more explicit with the useage of isotime.

Version 7.1.1

  • qsenc_save and qsenc_read to save/read to/from encrypted files.

Version 7.1.0

  • task_from_config_v3 sets a new direction for creation of tasks and management of tasks
  • describe_tasks and describe_schemas help with automatic documentation

Version 7.0.8

  • task_inline_v1 allows for easy inline task creation
  • Corresponding RStudio addin for inline tasks that copy from one db table to another

Version 7.0.7

  • copy_into_new_table_where allows for the creation of a new table from an old table
  • Including task_from_config_v2
  • First RStudio addin

Version 7.0.6

  • write_data_infile now checks for Infinite/NaN values and sets them to NA

Version 7.0.5

  • Task now includes action_before_fn and action_after_fn

Version 7.0.4

  • validator_field_contents_sykdomspulsen now allows baregion as a valid granularity_geo

Version 7.0.3

  • tm_get_plans_argsets_as_dt provides an overview of the plans and argsets within a task

Version 7.0.2

  • keep_rows_where now also retains the PK constraints