What is the syntax for using the table_changes table-valued function in Databricks SQL?
The syntax for using the `table_changes` table-valued function in Databricks SQL is:
```sql
table_changes ( table_str, start [, end ] )
```
Where:

* `table_str`: A STRING literal representing the optionally qualified name of the table.
* `start`: A BIGINT or TIMESTAMP literal, representing the first version or timestamp of change to return.
* `end`: An optional BIGINT or TIMESTAMP literal, representing the last version or timestamp of change to return. If not specified, all changes from start up to the current change are returned.

The function returns a table including all columns of the table identified in `table_str`, plus the following columns:

* `_change_type STRING NOT NULL`: Specifies the change: delete, insert, update_preimage, or update_postimage
* `_commit_version BIGINT NOT NULL`: Specifies the commit version of the table associated with the change.
* `_commit_timestamp TIMESTAMP NOT NULL`: Specifies the commit timestamp associated with the change.

If `table_str` does not represent a qualified table name the name is qualified with the value of `current_schema`. If the table name contains spaces or dots, use back quotes within the string to quote that part of the name.