* Put assert UDFs in `mozfun` project.
* Tweak syntax in `assert.array_equals()` to avoid SQLGlot parsing error.
https://github.com/tobymao/sqlglot/issues/2348
* Fix SQL syntax error in `assert.struct_equals()` tests.
* Fix UDF dependency file path logic when deploying to stage.
* Change regular expressions in `parse_routine` module to allow quotes around routines' dataset and name.
* WIP: Initial implementation of FxA Amplitude export
* Use submission_date parameter
* Add hmac-sha256 SQL implementation
* Escape language column name
Co-Authored-By: Jeff Klukas <jeff@klukas.net>
* Use hmac_sha256; update for review feedback
* Reformat sql files
* Add docs for HMAC implementation
* Validate hmac_sha256 against NIST test vectors
* Add filepath as from_text arg
Co-authored-by: Daniel Thorn <dthorn@mozilla.com>
* Explicitly use named argument
Co-authored-by: Daniel Thorn <dthorn@mozilla.com>
* Add docs for hmac validation
* WIP: Derive os_used_week/month as incremental query
* Retrieve hmac_key from encrypted keys table
Co-authored-by: Jeff Klukas <jeff@klukas.net>
* Remove fxa_hmac param
* Reformat SQL files
* Use bytes_seen for os_used
* Rename udfs
* Format UDF sql
* Don't include NULL os values
* Don't include NULL user properties
* Update comment for UDF
* Use fully-named datasets, not fxa*
* Cast key_id to bytes
* Fix failing tests
* Fix test failures
* Use new dataset for view query
* Add access denied exception for secret access
* Remove flake8 changes
* Update description of fxa_amplitude_export
Co-authored-by: Jeff Klukas <jeff@klukas.net>
* Remove version suffix from view
Co-authored-by: Jeff Klukas <jeff@klukas.net>
Co-authored-by: Daniel Thorn <dthorn@mozilla.com>