Changes in version 1.8.3.9012 Bug fixes ci - Restore the workflows the template sync deleted (#574). Continuous integration - Run coverage checks after pkgdown push. Uncategorized - Feat(ci): Render README.md and index.md in CI (cynkra/cynkratemplate#118). Changes in version 1.8.3.9011 Features - Specify the schema of Arrow results (#571). Continuous integration - Point the backends and odbc workflows at the central install action (#569). Uncategorized - Refactor(ci): Serve the revdep scripts with the actions instead of copying them (cynkra/cynkratemplate#149). - Feat(ci): Run R-hub checks on every cran-* push, through rhub-setup and rhub-check actions (cynkra/cynkratemplate#145). - Feat(ci): Report coverage on pull requests from this repository (cynkra/cynkratemplate#146). - Ci: Bound every job with timeout-minutes (cynkra/cynkratemplate#144). - Fix(revdep2): Let a slice with no packages check nothing instead of failing (cynkra/cynkratemplate#150). - Feat: Build a binary package in every check job and share it as an artifact (cynkra/cynkratemplate#141). - Fix(ci): Collect the fleet's workflow fixes after the move to central actions (cynkra/cynkratemplate#139). Changes in version 1.8.3.9010 Documentation - Break lines at meaning boundaries (#563). - Drop the branch from the coverage badge (#562). - Use pak::pak() for the development install (#560). Changes in version 1.8.3.9009 Chore - Remove Copilot setup steps. Uncategorized - Refactor(ci): Serve the actions from this repository instead of copying them (cynkra/cynkratemplate#121). - Refactor(ci): Move every script out of the workflows and into a named action (cynkra/cynkratemplate#120). - Refactor(ci): Make an action of what the workflows say more than once. - Refactor(ci): Move every script that could change out of the workflows. - Refactor(ci): Extract the last three scripts, which only a named action can hold. - Fix(ci): Keep the raw name expression out of the running job's step list (cynkra/cynkratemplate#119). - Fix(fledge): Push the bump to the default branch wherever that is allowed (cynkra/cynkratemplate#117). - Fix(ci): Make a failing rcc run say what failed, and link to it (cynkra/cynkratemplate#115). - Fix(ci): Exempt deprecation warnings from the roxygenize warning gate (cynkra/cynkratemplate#114). Changes in version 1.8.3.9008 Features ci - Align the revdep2, revdep4 and revdepx subsystems with rigraph. Uncategorized - Perf(revdepx): Compile the revdeps' checks through ccache. - Fix(ci): Survive an archived CRAN package, and install it from where it still lives. Changes in version 1.8.3.9007 Bug fixes ci - Backport kit fixes from rigraph, duckdb-r and dm. Changes in version 1.8.3.9006 Continuous integration - Wrap the commit status update into an action. - Route ccache through one-word compiler wrappers on Unix. - Name every step and restore the log entry setup-pandoc swallows. Changes in version 1.8.3.9005 Continuous integration - Add sharded revdep2 workflow. Uncategorized - Ci: Harden workflow_run workflows against untrusted pull requests (#106). - Ci: Pin third-party actions to commits and let Renovate keep them pinned (#105). Changes in version 1.8.3.9004 Chore - Auto-update from GitHub Actions (#554). Continuous integration - Remove unused pr-commands workflow. Uncategorized - Ci: Give every workflow and job an explicit permissions block (#103). - Ci: Pass workflow context through the environment, not into script text (#102). Changes in version 1.8.3.9003 - Ci: Run all smoke-test checks even when one fails (#97). - Ci: Apply matrix env vars in the workflow, not in custom actions (#95). - Ci: Link the responsible workflow run in snapshot update PRs (#96). Changes in version 1.8.3.9002 Continuous integration - Lock down format-suggest egress (audit → block). - Silence failing linters to make lint workflow pass (#542). Changes in version 1.8.3.9001 Bug fixes - Avoid implicit assignments inside expect_warning() (#545). - Order arguments without defaults before those with defaults (#547). - Resolve commented-code lints (#549). - Specify stringsAsFactors = FALSE explicitly in data.frame() calls (#546). - Mark intentional empty pairlist2() args as nolint (#548). - Set call. = FALSE in ctx sentinel stop() calls (#543). ci - Emit empty package matrix when there are no (rev)deps. Continuous integration - Silence failing linters to make lint workflow pass (#542). - Fix MySQL ODBC backend workflow (#539). Uncategorized - Ci: Harden format-suggest against pull_request_target pwn requests (#93). Changes in version 1.8.3.9000 Bug fixes - Replace legacy PST8PDT time zone with America/Los_Angeles in roundtrip tests (#540). Continuous integration - Run on Ubuntu 26.04. - Align workflows with template. fledge - CRAN release v1.8.3 (#536). Changes in version 1.8.3 (2026-07-22) Features - New tweaks(create_table_empty = ) tweak, for backends that need a dedicated code path to create empty tables (@MichaelChirico, #406, #408). - Use trivial_query() by default in create_table_as() (@MichaelChirico, #410, #420). - Test that the object returned by dbUnquoteIdentifier() is of class Id. - Add an extra sanity test in spec_sql_write_table (@MichaelChirico, #411). - Improve the failure mode of the missing-method test (@MichaelChirico, #405). - Assign the result in send_query_stale_warning to stabilize the test (@detule, #373). - Clarify the warning message emitted when a skip = pattern matches none of the tests in spec_all (@MichaelChirico, #398). Bug fixes - Suppress warnings when creating invalid objects. Chore - Add build-time dependency on vctrs (@MichaelChirico, #394, #395). - Reinstate lint infrastructure as a GitHub Actions workflow (@MichaelChirico, #396). Documentation - Improve wording of the test_all(skip = ) description (@MichaelChirico, #397, #399). - Fix bad links and a typo. Changes in version 1.8.2 (2024-12-07) Chore - More explicit message on constructive errors. - Bump DBI dependency. Documentation - Set BS version explicitly for now (@maelle, #370). - Add package to \link{} targets. Testing - Adapt tests to updates of the constructive package. Changes in version 1.8.1 (2024-03-31) Features - Allow multiple warnings in disconnect tests (#363). - Fix specification for Arrow tests (#357). - Show DBItest function in backtrace (#349, #354). - Specify value argument for dbCreateTable() and dbCreateTableArrow() (#345). - Enable two tests for dbGetQueryArrow() (#342). - Relax dbListObjects() spec (#339, #341). Chore - Avoid dplyr (#364). - Remove .dots argument to test_select_with_null() (#362). - Prefer map() over lapply() (#361) and map_*() over vapply() (#356). - Bump DBI dependency to fix tests (#359). - Document sources for autogenerated files (#353), add comments to generated code (#358). - Make test names unique, with a numeric suffix (#355). - Align with RSQLite (#351). - Replace unconditional skip with versioned skip (#347). - Consistent use of skip_if_not_dbitest() (#346). Continuous integration - Modernize backends checks. Documentation - Use dbitemplate (@maelle, #360). - Mention dbBindArrow() in documentation (#350). - Minor specification fixes (#344). Changes in version 1.8.0 (2023-12-21) Bug fixes - Fix create_roundtrip_keywords and create_roundtrip_quotes tests (#283). Features - Relax specification of dbUnquoteIdentifier(), character vectors are now allowed too. - Specify dbFetchChunk() (#331), dbFetchArrowChunk() (#301) and dbBindArrow() (#328). - Inline all tests for dbBind() (#326). - Require support for dbFetch(n = NA) (#296, #316). - New allow_na_rows_affected tweak to support NA values returned from dbGetRowsAffected() (#297, #312). - Switch to nanoarrow (#291). - Basic tests for the new db*Arrow() interface (#287). - New skip_if_not_dbitest() (#289). - reexport test uses interface for dev DBI if the backend is compatible with DBItest > 1.7.3. - Slightly better code generated for tweaks() (#313). - Remove interface to dblog in the CRAN version. CI/CD - Add adbi to check matrix (#314). - Reenable ODBC MySQL tests (#288). - Tweak read_table_missing test (#285). Chore - Remove rlang qualification (#332). - No longer need as.data.frame() twice for Arrow (#302, #330). - Consistent use of skip_if_not_dbitest() (#317). - Disable Arrow skips (#303). - Modernize sql_union() (#304). - Make better use of trivial_df() (#284). Documentation - Avoid error if RSQLite is not installed. Testing - Run DBItest for SQLite as part of the checks here (#318). - Enable remaining Arrow tests (#307). - Fix checks without suggested packages (#300). Changes in version 1.7.3 (2022-10-18) Features - Use and enable compatibility with testthat edition 3 (#263, #268). Complete removal of expect_is() (@MichaelChirico, #257). - Adapt to new Arrow DBI generics (#265). - Better stack traces for visibility tests. - dbQuoteIdentifier() roundtrip is tested for tables only (@dpprdan, #256). - test_some() also tests a test if it would normally be skipped. Chore - Bump minimum DBI version to 1.1.3. - Refactor DBI tests in preparation for inlining them. Bug fixes - Correct cleanup even if dbIsValid() is not implemented. Changes in version 1.7.2 (2021-12-17) Features - tweaks() gains dbitest_version argument to support targeting a specific version of the DBItest package. The default is 1.7.1 (#236). - Reuse database connection for most tests (#245). - New roundtrip_date_extended, roundtrip_timestamp_extended, append_roundtrip_date_extended and append_roundtrip_timestamp_extended test dates between 1800 and 2999 (#148, #249). - New quote_literal_empty test (#248). - New bind_character_escape test for binding special characters (#242). - New bind_time_minutes_integer test for integer durations. Bug fixes - All column names are specified using lowercase on input, for compatibility with Redshift (#234). - column_info_consistent no longer tests mangling of column names (#181). - spec_sql_append_table test: Remove bad argument. Documentation - Improve documentation: list spec_ objects in pkgdown help index, add cross references (#128). - Add specification for value argument to DBI::dbWriteTable() (#235). Internal - Replace internal with_result(), with_remove_test_tables() and with_rollback_on_error() for better error traces (#184, #250, #251, #253). - Use palmerpenguins::penguins instead of iris (#241). - Fix MySQL ODBC test on GitHub Actions (#237). - Improve testthat 3e compatibility: remove testthat::expect_is() and testthat::expect_that() from tests (#231, @michaelquinn32). - Decompose query used for testing dbBind(). Changes in version 1.7.1 (2021-07-31) Features - Many tests now emit simpler stack traces, because the connection is opened by the test driver and not by the test itself (#187). Reduce usage of with_remove_test_table() for better stack traces on error (#196). Remove with_*connection() (#193). - test_some() shows DBI code via dblog (#217) if dblog = TRUE (#226). - New "bind_date_integer", "bind_time_seconds" and "bind_time_hours" tests (#218). - New create_table_as tweak (#131). - "roundtrip_time" and "append_roundtrip_time" tests now also test values of class "difftime" with units other than "secs" (#199). - All tables created by the tests have the "dbit" prefix. Almost all tests now use random table names to avoid collisions and unrelated test failures (#197). - "roundtrip_timestamp" tests now accept a time zone set by the database backend (#178, #198). - Support more than one class of each type in DBI backend packages. Bug fixes - Fix input dataset in "overwrite_table_missing" test (#210, @martinstuder). - Use original test name to decide if a test is skipped (#225). - Fix reexport test: skip if package is not installed, remove checks for deprecated functions and functions not reexported (#203). Internal - Requires DBI 1.1.1. - Test odbc as part of the backend tests (#228). - Dynamic build matrix for backends (#221). - Compatibility with testthat 3.0.0 (#207). - Switch to GitHub Actions (#201). Changes in version 1.7.0 (2019-12-16) Specifications - Specify tests for dbGetInfo(). - Specify immediate argument (r-dbi/DBI#268). - Specify dbCreateTable() and dbAppendTable() (#169). - New unquote_identifier_table_schema test: Identifiers of the form table.schema can be processed with dbUnquoteIdentifier(). - Fix has_completed_statement test (#176). Testing infrastructure - Document how to run tests externally and how to debug tests (#165). - test_*() gain new run_only = NULL argument that allow restricting the tests to be run with a positive match. test_some() uses run_only instead of constructing a regular expression with negative lookahead. This helps troubleshooting a single test with testthat::set_reporter(DebugReporter$new()) . - make_context() gains default_skip argument and uses the DBIConnector class. - Support NULL default value in driver constructor (#171). Internal - Fulfill CII badge requirements (#179, @TSchiefer). - Use debugme. - Require R 3.2. - Avoid subsetting vectors out of bounds, for consistency with vctrs. Changes in version 1.6.0 New checks - Now checking that Id() is reexported. - Support temporary argument in dbRemoveTable() (default: FALSE) (r-dbi/DBI#141). - Added specification for the behavior in case of duplicate column names (#137). - The bigint argument to dbConnect() is now specified. Accepts "integer64", "integer", "numeric" and "character", large integers are returned as values of that type (#133). - Add specification for partially filled field.types argument. - Specify dbRemoveTable(fail_if_missing = FALSE) (r-dbi/DBI#197). - Add specification for dbColumnInfo() (r-dbi/DBI#75). - Add specification for dbListFields() (r-dbi/DBI#75). - Test that named parameters are actually matched by name in dbBind(), by shuffling them (#138). - Explicitly specify default row.names = FALSE for dbReadTable() and dbWriteTable() (#139). - Add specification for writing 64-bit values, backends must support roundtripping values returned from the database (#146). - Add specification for the params argument to dbGetQuery(), dbSendQuery(), dbExecute() and dbSendStatement() (#159). - Add test for dbQuoteIdentifier(): "The names of the input argument are preserved in the output" (r-lib/DBI#173). - Blob tests now also read and write zero bytes (\x00). - Add string encoded in Latin-1 to the character tests. - Added test for dbIsValid() on stale connections. Removed checks - Don't test selecting untyped NULL anymore. - Full interface compliance doesn't require a method for dbGetInfo(DBIDriver) for now. - Remove "cannot_forget_disconnect" test that fails on R-devel (#150). - Methods without db prefix are not checked for ellipsis in the signature anymore. - Don't specify Inf and NaN for lack of consistent support across DBMS (#142). Updated/corrected checks - Fix query that is supposed to generate a syntax error. - Fix typo (#147, @jonmcalder). - Implement POSIXlt bind test correctly. - Improve error detection for dbBind(). - Redesign tests for dbBind(), now queries of the form SELECT CASE WHEN (? = ?) AND (? IS NULL) THEN 1.5 ELSE 2.5 are issued. The original tests were inappropriate for RMariaDB, because an untyped placeholder is returned as a blob. - Transaction tests now use dbWriteTable() instead of dbCreateTable(), because some DBMS don't support transactions for DML. - Fix timestamp tests for RMariaDB. - Fix string constants. - The "roundtrip_timestamp" test now correctly handles timezone information. The output timezone is ignored. - Clear result in spec_meta_get_info_result (#143). - Use named argument for n in dbGetQuery() call. - Minor fixes. Tweaks - New tweak blob_cast allows specifying a conversion function to the BLOB data type. - New is_null_check tweak that allows specifying a function that is used when checking values for NULL. Required for RPostgres. - New list_temporary_tables tweak that can be enabled independently of temporary_tables to indicate that the DBMS does not support listing temporary tables. Infrastructure - Allow running only a subset of tests in test_all() by specifying an environment variable. - test_all() and test_some() return NULL invisibly. Internals - Compatibility code if DBI::dbQuoteLiteral() is unavailable. - New trivial_query() replaces many hard-coded queries and uses non-integer values for better compatibility with RMariaDB. - Convert factor to character for iris data (#141). Changes in version 1.5-2 (2018-01-25) - Fix test that fails with "noLD". - Fix NOTEs on R-devel. Changes in version 1.5-1 (2017-12-11) - Remove "cannot_forget_disconnect" test that fails on R-devel (#150). Changes in version 1.5 (2017-06-19) Finalize specification. Most tests now come with a corresponding prose, only those where the behavior is not finally decided don't have a prose version yet (#88). New tests - Test behavior of methods in presence of placeholders (#120). - Test column name mismatch behavior for appending tables (#93). - Test that dbBind() against factor works but raises a warning (#91). - Test roundtrip of alternating empty and non-empty strings (#42). - Test multiple columns of different types in one statement or table (#35). - Test field.types argument to dbWriteTable() (#12). - Added tests for invalid or closed connection argument to all methods that expect a connection as first argument (#117). - Enabled test that tests a missing dbDisconnect(). - Add test for unambiguous escaping of identifiers (rstats-db/RSQLite#123). - Reenable tests for visibility (#89). - Fix and specify 64-bit roundtrip test. - 64-bit integers only need to be coercible to numeric and character (#74). - Added roundtrip test for time values (#14). - Added tweaks for handling date, time, timestamp, ... (#53, #76). - Test that dbFetch() on update-only query returns warning (#66). Adapted tests - NULL is a valid value for the row.names argument, same as FALSE. - A column named row_names receives no special handling (#54). - A warning (not an error anymore) is expected when calling dbDisconnect() on a closed or invalid connection. - row.names = FALSE is now the default for methods that read or write tables. - Add NA to beginning and end of columns in table roundtrip tests (#24). - Stricter tests for confusion of named and unnamed SQL parameters and placeholders (#107). - Also check names of all returned data frames. - The return value for all calls to dbGetQuery(), dbFetch(), and dbReadTable() is now checked for consistency (all columns have the same length, length matches number of rows) (#126). - Removed stress tests that start a new session. - Allow hms (or other subclasses of difftime) to be returned as time class (#135, @jimhester). - Test that dates are of type numeric (#99, @jimhester). - Replace POSIXlt by POSIXct (#100, @jimhester). - Use "PST8PDT" instead of "PST" as time zone (#110, @thrasibule). - Added tests for support of blob objects (input and output), but backends are not required to return blob objects (#98). - The logical_return, date_typed and timestamp_typed tweaks are respected by the bind tests. - Fixed tests involving time comparison; now uses UTC timezone and compares against a difftime. - Tests for roundtrip of character values now includes tabs, in addition to many other special characters (#85). - Make sure at least one table exists in the dbListTables() test. - Fix roundtrip tests for raw columns: now expecting NULL and not NA entries for SQL NULL values. - Fix expect_equal_df() for list columns. - Testing that a warning is given if the user forgets to call dbDisconnect() or dbClearResult() (#103). - Numeric roundtrip accepts conversion of NaN to NA (#79). Internal - Fix R CMD check errors. - Internal consistency checks (#114). - Skip patterns that don't match any of the tests now raise a warning (#84). - New test_some() to test individual tests (#136). - Use desc instead of devtools (#40). - All unexpected warnings are now reported as test failures (#113). - DBItest_tweaks class gains a $ method, accessing an undefined tweak now raises an error. - The arguments of the tweaks() function now have default values that further describe their intended usage. - New with_closed_connection(ctx = ctx, ), with_invalid_connection(ctx = ctx, ), with_result() and with_remove_test_table() helpers, and expect_visible(), expect_inbisible_true(), and expect_equal_df() expectations for more concise tests. Changes in version 1.4 (2016-12-03) DBI specification - Use markdown in documentation. - Description of parametrized queries and statements (#88). - New hidden DBIspec-wip page for work-in-progress documentation. - Get rid of "Format" and "Usage" sections, and aliases, in the specs. Tests - Not testing for presence of max.connections element in dbGetInfo(Driver) (rstats-db/DBI#56). - Test multi-row binding for queries and statements (#96). - New ellipsis check that verifies that all implemented DBI methods contain ... in their formals. This excludes show() and all methods defined in this or other packages. - Refactored bind_ tests to use the new parameter_pattern tweak (#95). - Rough draft of transaction tests (#36). - New fetch_zero_rows test, split from fetch_premature_close. - The "compliance" test tests that the backend package exports exactly one subclass of each DBI virtual class. - Document and enhance test for dbDataType("DBIDriver", "ANY") (#88). - Minor corrections for "bind" tests. Internal - Isolate stress tests from main test suite (#92). - Refactor test specification in smaller modules, isolated from actual test execution (#81). This breaks the documentation of the tests, which will be substituted by a DBI specification in prose. - Align description of binding with code. - Refactor tests for dbBind(), test is run by BindTester class, and behavior is specified by members and by instances of the new BindTesterExtra class. - The skip argument to the test_() functions is again evaluated with perl = TRUE to support negative lookaheads (#33). - Use dbSendStatement() and dbExecute() where appropriate. - Avoid empty subsections in Rd documentation to satisfy R CMD check (#81). Changes in version 1.3 (2016-07-07) Bug fixes - Fix read_table test when the backend actually returns the data in a different order. New tests - Test dbDataType() on connections (#69, #75, @imanuelcostigan). - Check returned strings for UTF-8 encoding (#72). - Repeated dbBind() + dbFetch() on the same result set (#51). Features - tweaks() gains an ... as first argument to support future/deprecated tweaks (with a warning), and also to avoid unnamed arguments (#83). - testthat now shows a more accurate location for the source of errors, failures, and skips (#78). - Aggregate skipped tests, only one skip() call per test function. - Indicate that some tests are optional in documentation (#15). Internal - New constructor_relax_args tweak, currently not queried. - The ctx argument is now explicit in the test functions. - Change underscores to dashes in file names. - Remove testthat compatibility hack. - New all_have_utf8_or_ascii_encoding() which vectorizes has_utf8_or_ascii_encoding(). - Test on AppVeyor (#73). - Work around regression in R 3.3.0 (fix scheduled for R 3.3.1) which affected stress tests. Changes in version 1.2 (2016-05-24) - Infrastructure - Support names for contexts (@hoesler, #67). - The skip argument to the test functions is now treated as a Perl regular expression to allow negative lookahead. Use skip = "(?!test_regex).*" to choose a single test to run (#33). - Added encoding arguments to non-ASCII string constants (#60, @hoesler). - Improve tests - simultaneous_connections test always closes all connections on exit (@hoesler, #68). - More generic compliance check (@hoesler, #61). - Update documentation to reflect test condition (@imanuelcostigan, #70). - testthat dependency - Import all of testthat to avoid R CMD check warnings. - Compatibility with dev version of testthat (#62). - Improve Travis builds - Use container-based builds on Travis. - Install RPostgres and RMySQL from rstats-db. - Install DBI and testthat from GitHub. Changes in version 1.1 - New feature: tweaks - New argument tweaks to make_context() (#49). - New tweaks(), essentially constructs a named list of tweaks but with predefined and documented argument names. - constructor_name, respected by the constructor.* tests. - strict_identifier, if TRUE all identifier must be syntactic names even if quoted. The quoting test is now split, and a part is ignored conditional to this tweak. The roundtrip_quotes tests also respects this tweak. - omit_blob_tests for DBMS that don't have a BLOB data type. - current_needs_parens -- some SQL dialects (e.g., BigQuery) require parentheses for the functions current_date, current_time and current_timestamp. - union, for specifying a nonstandard way of combining queries. All union queries now name each column in each subquery (required for bigrquery). - New tests - dbGetInfo(Result) (rstats-db/DBI#55). - dbListFields() (#26). - New package_name test in test_getting_started(). - Improved tests - Stress test now installs package in temporary library (before loading DBI) using R CMD INSTALL before loading DBI (rstats-db/RSQLite#128, #48). - Row count is now tested for equality but not identity, so that backends can return a numeric value > 2^31 at their discretion. - Call dbRemoveTable() instead of issuing DROP requests, the latter might be unsupported. - Use subqueries in queries that use WHERE. - Test that dbClearResult() on a closed result set raises a warning. - Expect a warning instead of an error for double disconnect (#50). - Move connection test that requires dbFetch() to test_result(). - Split can_connect_and_disconnect test. - Expect DBI to be in Imports, not in Depends. - Removed tests - Remove test for dbGetException() (rstats-db/DBI#51). - Bug fixes - Fix broken tests for quoting. - Self-testing - Test RPostgres, RMySQL, RSQLite and RKazam as part of the Travis-CI tests (#52). - Travis CI now installs rstats-db/DBI, updated namespace imports (dbiCheckCompliance(), dbListResults()). - Use fork of testthat. - Utilities - Return test results as named array of logical. Requires hadley/testthat#360, gracefully degrades with the CRAN version. - Internal - Refactored the get_info_() tests to use a vector of names. - Use versioned dependency for DBI - Use unqualified calls to dbBind() again Changes in version 1.0 - CRAN release - Eliminate errors on win-builder - Satisfy R CMD check - Use LGPL-2 license - Add RStudio as copyright holder - Move devtools package from "Imports" to "Suggests" Changes in version 0.3 - Feature-complete, ready for review - Tests from the proposal - Add missing methods to compliance check - Add simple read-only test (#27) - Add stress tests for repeated load/unload (with and without connecting) in new R session (#2), - Migrate all tests from existing backends (#28) - Refactor data_ tests to use a worker function test_select() - Test tables with NA values above and below the non-NA value in data_ tests - Test return values and error conditions for dbBind() and dbClearResult() (#31) - Test vectorization of dbQuoteString() and dbQuoteIdentifier() (#18) - Test that dates have integer as underlying data type (#9) - Roundtrip tests sort output table to be sure (#32) - Test NA to NULL conversion in dbQuoteString(), and false friends (#23) - Enhance test for dbQuoteIdentifier() (#30) - Style - Avoid using data.frame() for date and time columns (#10) - Use expect_identical() instead of expect_equal() in many places (#13) - Catch all errors in on.exit() handlers via expect_error() (#20). - Combine "meta" tests into new test_meta() (#37) - Documentation - New "test" vignette (#16) - Add package documentation (#38) - Same as 0.2-5 Changes in version 0.2 - Tests from the proposal - SQL - Metadata - DBI compliance (not testing read-only yet) - Migrate most of the tests from RMySQL - Test improvements - Test BLOB data type (#17) - Check actual availability of type returned by dbDataType() (#19) - Testing infrastructure - Disambiguate test names (#21) - Use regex matching for deciding skipped tests, skip regex must match the entire test name - Documentation - Document all tests in each test function using the new inline documentation feature of roxygen2 - Improve documentation for test_all(): Tests are listed in new "Tests" section - Add brief instructions to README - Move repository to rstats-db namespace - Same as 0.1-6 Changes in version 0.1 - First GitHub release - Builds successfully on Travis - Testing infrastructure - Test context - Skipped tests call skip() - Function test_all() that runs all tests - Tests from the proposal - Getting started - Driver - Connection - Results - Code formatting is checked with lintr - Same as 0.0-5