* disable issue creation and point users to dbt-adapters
* turn off dependabot
* update pull request template to point users to dbt-adapters
* remove contributing guide content and point users to the monorepo
* remove readme guide content and point users to the monorepo
* remove scheduled main branch tests
* update the branch used for nightly releases
* update relation & add tests
* switch if/else pattern
* add change log
* add test for dynamic table with path and subpath
* modify base_location config
* update to base_location_root, include schema and table name in path
* resolve linting error (f-string nested double quotes)
* resolve linting error (move to new line)
* add unit tests & make final edits to functional tests
* lint unit test
* update changie
* update dt test cases for iceberg to be dynamic
---------
Co-authored-by: Colin Rogers <111200756+colin-rogers-dbt@users.noreply.github.com>
* move config files into pyproject.toml and hatch.toml
* update workflow files to use hatch.toml
* move test matrix into the workflow
* fix pytest config in pyproject.toml
* Add failing test.
* Parametrize cases
* Change comparison logic for when to rebuild if DT has auto refresh strategy (implicit or explicit).
* Add changelog
---------
Co-authored-by: VersusFacit <versusfacit@users.noreply.github.com>
* make list relations configurable
* update iteration to page in the config settings
* update the warning to recommend how to account for breaching the limit on list_relations
* Reproduce. Test fail. Fix. Test green.
* Add changelog.
* Make a test that tests the actual behavior without hardcoding the quoted flag.
* I can't believe how elegant a solution this is.
Use a session-only configuration.
* Fix test.
* Simplify logic for this by moving this away from a quoting situation.
Columns that unquoted are capitalized regardless of the quoting ignore flag. So we let it be uppercase and then normalize it down to lowercase in Python.
* edit comments.
---------
Co-authored-by: Mike Alfare <13974384+mikealfare@users.noreply.github.com>
* remove SnowflakeAdapterResponse in favor of updated AdapterResponse in base
* remove SnowflakeAdapterResponse in favor of updated AdapterResponse in base
* Add snowflake telemetry.
* Add changelog.
* Temporary dev branch switch.
* Correct version import
* bump ci
* Temporary dev branch switch.
* Temporary dev branch switch take 2.
* Alter to meet new base schema changes.
* Fix input args.
* Change field name.
---------
Co-authored-by: Colin Rogers <111200756+colin-rogers-dbt@users.noreply.github.com>
* Fix base location not rendering without subpath and add tests.
Take optional off params that are not optional in dynamic table create DDL.
* Add changelog.
* Revert changes to external volume
* revert changes to catalog optionality.
* Tabs.
* Fix base_location_subpath generation for dynamic tables.
---------
Co-authored-by: VersusFacit <versusfacit@users.noreply.github.com>
* add a unique suffix to the database role to avoid colliding with parallel tests
* limit the database role privileges to just the test schema
* use the test schema prefix for uniqueness
* add support for iceberg dynamic tables
* remove is_dynamic-related guards as that is ga now
* simplify dynamic table testing
* add iceberg dynamic tables to existing dynamic table tests
* add standard incremental tables into the relation swap scenarios
* account for the fact that snowflake does not support renaming iceberg relations
* account for all scenarios when swapping relation types, including those which currently require a full refresh
* make it clearer which scenarios are included in each run and why by pulling the criteria into one function
---------
Co-authored-by: Mila Page <67295367+VersusFacit@users.noreply.github.com>
* Update expected rows to reflect what the append strategy actually does
* Empty commit to shift the test schema of the test off the bugged iceberg model
* More robust solution to avoid time-based model conflicts.
* prints on ci to see what's happening.
* Remove the superfluous test that is causing metadata conflicts for append.
* Add logic to enable iceberg incremental tables.
* Add changelog.
* Standardize existing_relation as name of existing model.
* Improve error message for table formats.
* Update error message and add round of tests.
* Add more comprehensive tests for before/after.
* Update identifier param in incremental materialization.
* Import Mike's revision on the relation type change test.
* Try adding iceberg incremental model scenarios.
* Disable dynamic tests.
* Refine booleans for more restricting when incremental models are built.
* Update tests to reflect realities on the database.
* Add additional metadata.
* Update boolean logic for faster runs overall.
* Last bit of cleanup per code review
* Syntax error from lack of iterable.
* move dynamic table tests down into the relation tests folder
* make utils more generic, move out of dynamic table tests
* add init files for namespacing in test discovery
* remove 2024_03 bundle items
* pipe the behavior through to relation in a temporary way to help with warnings in cli
* Adjust flag to new dbt-common setup.
* add changelog.
* Throw a compiler warning for iceberg model build without flag.
---------
Co-authored-by: VersusFacit <versusfacit@users.noreply.github.com>
Co-authored-by: Colin Rogers <111200756+colin-rogers-dbt@users.noreply.github.com>
* Add materializations of table and dynamic table.
* Add the method to tell something is iceberg format and pipe that through to relation object
* Finish create macro and fix alters.
* Finish todo items and begin cleaning code.
* revert dynamic table changes.
* Fix the drop by fixing snowflake__show_iceberg_relations
* Transient needs sophisticated handling based on what user specifies for
transient manually.
* Try to figure out what the right None semantics are.
* Revert to original statement.
* Fix the transient behavior by passing table_type again.
* Rename object_format config param to table_format
* Migrate Jinja macros to Python.
* All classes are frozen
* Clean up the metadata queries that power is_iceberg column generation
* Fix Python models generation argument
* Add changelog.
* Try to fix duplication of join record issues.
* Use the RelationConfig protocol for type checking.
* Fix transient semantics.
* Add functional tests.
* Fix test.
* Fix test.
* Fix test and remove strip calls
* Add view test case.
* Code review comments.
* I'm using too new a version of mypy for Self.
* Add a behavior flag for iceberg table materialization.
* Flip order of flag.
* Adjust test.
---------
Co-authored-by: Mila Page <versusfacit@users.noreply.github.com>
* Adding 12 for migration testing
* Cleanup other references and add changelog.
---------
Co-authored-by: Mila Page <versusfacit@users.noreply.github.com>