Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -296,9 +296,9 @@ export default defineConfig({
collapsed: true,
},
{
label: 'Services',
label: 'Features',
collapsed: true,
autogenerate: { directory: '/snowflake/services' },
autogenerate: { directory: '/snowflake/features' },
},
{
label: 'Capabilities',
Expand All @@ -324,6 +324,14 @@ export default defineConfig({
label: 'SQL Functions',
slug: 'snowflake/sql-functions',
},
{
label: 'Feature Coverage',
slug: 'snowflake/coverage-features',
},
{
label: 'Changelog',
slug: 'snowflake/changelog',
},
],
},
],
Expand Down
Binary file added public/images/snowflake/native-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ label:
---


{{< preview-notice >}}


LocalStack exposes various configuration options to control its behaviour.

Expand Down
29 changes: 0 additions & 29 deletions src/content/docs/snowflake/capabilities/ephemeral-instances.md

This file was deleted.

9 changes: 0 additions & 9 deletions src/content/docs/snowflake/capabilities/index.md

This file was deleted.

2 changes: 1 addition & 1 deletion src/content/docs/snowflake/capabilities/init-hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Initialization Hooks
description: Writing SQL scripts to initialize your Snowflake emulator
---

{{< preview-notice >}}


## Introduction

Expand Down
30 changes: 1 addition & 29 deletions src/content/docs/snowflake/capabilities/state-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ title: State Management
description: Get started with State Management in LocalStack for Snowflake
---

{{< preview-notice >}}


## Introduction

State Management in LocalStack allows you to save and load the state of your LocalStack instance. LocalStack is ephemeral in nature, so when you stop and restart your LocalStack instance, all the data is lost. With State Management, you can save the state of your LocalStack instance and load it back when you restart your LocalStack instance.

State Management in LocalStack encompasses the following features:

- **Cloud Pods**: Cloud Pods are persistent state snapshots of your LocalStack instance that can easily be shared, stored, versioned, and restored.
- **Export & Import State**: Export and import the state of your LocalStack instance on your local machine as a local file.
- **Persistence**: Persist the state of your LocalStack instance on your local machine using a configuration variable.

Expand Down Expand Up @@ -75,30 +74,3 @@ $ localstack state import '<file-name>'
{{< /command >}}

The `<file-name>` argument is required and specifies the file path to import the state from. The file should be generated from a previous export.

## Cloud Pods

Cloud pods are persistent state snapshots of your LocalStack instance that can easily be stored, versioned, shared, and restored. Cloud Pods can be used for various purposes, such as:

- Save and manage snapshots of active LocalStack instances.
- Share state snapshots with your team to debug collectively.
- Automate your testing pipelines by pre-seeding CI environments.
- Create reproducible development and testing environments locally.

You can save and load the persistent state of Cloud Pods, using the Cloud Pods CLI. LocalStack provides a remote storage backend that can be used to store the state of your running application and share it with your team members. Cloud Pods CLI is included in the [LocalStack CLI installation](https://docs.localstack.cloud/getting-started/installation/#localstack-cli), so there's no need for additional installations to begin using it.

### Create a new Cloud Pod

To create the Cloud Pod, you can run the following command:

{{< command >}}
$ localstack pod save '<pod-name>'
{{< /command >}}

### Load an existing Cloud Pod

To load the Cloud Pod, you can run the following command:

{{< command >}}
$ localstack pod load '<pod-name>'
{{< /command >}}
48 changes: 44 additions & 4 deletions src/content/docs/snowflake/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,51 @@
title: Changelog
description: Changelog for the latest releases of the LocalStack for Snowflake.
template: doc
nav:
label:
---

{{< preview-notice >}}
### 1.0.0
- Add support for `SHOW/ALTER FUNCTION`
- Fix incompatibilities with GO driver and SnowSQL client
- Add support for `SHOW INDEXES`
- Improve timestamp string support in `TO_TIMESTAMP`
- Fix casting values to array
- Cast `MERGE INTO/UPDATE` commands arguments to target type
- Make `TO_BOOLEAN` work with all boolean strings
- Enhance parity for parsing URLs with whitespaces in `PUT` commands
- Enhance and add support for metadata columns in parquet format
- Enhance CRUD support for external volumes
- Add support for `EXECUTE TASK`
- Fix identifier parsing in stages and file formats
- Enhance `SHOW TABLES` feature parity
- Handle `DATE` and `TIME` functions
- Add initial Iceberg support
- Enhance parity for GRANT statements and DB permissions
- Add initial support for password-less auth using RSA key
- Enhance parity for queries over staged JSON files
- Add initial support for Catalog Integrations
- Support prepared statements in ODBC driver
- Enhance decimals parity
- Add initial support for granting `APPLICATION ROLE`
- Enhance parity for SQL procedures with SF-native statements
- Add support for lateral column references on `SELECT`
- Fix `SHOW TABLE` with schema scope for Flyway
- Decode field delimiters passed as hex or octal values
- Remove modifiers from binary columns
- Fix permissions to clone default database
- Add support for numeric paramstyle
- Enhance support for `CASE` expressions in `BEGIN..END` blocks
- Refreshed UI
- Enhance parity for `DESCRIBE DATABASE` queries
- Enable local deployment of Streamlit Native Apps
- Enhance parity for materialized view queries
- Enhance parity for `SHOW DYNAMIC TABLES`
- Fix handling of `IF EXISTS` statements within transactions
- Enhance support for `BEGIN` code blocks with multiple command statements
- Enhance logic for native apps and permission grants
- Enhance parity for Native Apps that contain streamlit apps
- Add auto-conversion of strings to `ARRAY/OBJECT` types
- Add support for Polaris catalog


### 0.3.0
- Add support for multi-account setups
Expand Down Expand Up @@ -297,4 +337,4 @@ label:
- Add `snowpipe`/streaming APIs

### 0.1.0
- Initial release of the extension
- Initial release of the extension
160 changes: 160 additions & 0 deletions src/content/docs/snowflake/coverage-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
---
title: "Feature Coverage"
description: Overview of the implemented Snowflake features in LocalStack
template: doc
---

## Resource Types and Operations

This page provides a list of Snowflake query features (resource types and operations) that are supported in the LocalStack emulator.
The content will be updated as additional query features and functions are implemented.

### Applications
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**APPLICATION**|✅|✅|✅|✅|✅|

### Application Packages
| |ALTER|CREATE|DROP|SHOW|
|----|----|----|----|----|
|**APPLICATION PACKAGE**|✅|✅|✅|✅|

### Catalog Integration
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**CATALOG INTEGRATION**|❓|✅|❓|✅|✅|

### Databases
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|UNDROP|USE|
|----|----|----|----|----|----|----|----|
|**DATABASE**|✅|✅|✅|✅|✅|❓|✅|

### Dynamic Tables
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|UNDROP|
|----|----|----|----|----|----|----|
|**DYNAMIC TABLE**|❓|✅|✅|✅|✅|❓|

### External Tables
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**EXTERNAL TABLE**|❓|❓|❓|❓|❓|

### External Volumes
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|UNDROP|
|----|----|----|----|----|----|----|
|**EXTERNAL VOLUME**|✅|✅|✅|✅|✅|❓|

### File Formats
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**FILE FORMAT**|✅|✅|✅|✅|✅|

### Functions
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**FUNCTION**|✅|✅|✅|✅|✅|

### Hybrid Tables
| |CREATE|SHOW|
|----|----|----|
|**HYBRID TABLE**|✅|✅|

### Iceberg Tables
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|UNDROP|
|----|----|----|----|----|----|----|
|**ICEBERG TABLE**|❓|✅|❓|✅|❓|❓|

### Indexes
| |CREATE|DROP|SHOW|
|----|----|----|----|
|**INDEX**|✅|✅|✅|

### Materialized Views
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|TRUNCATE|
|----|----|----|----|----|----|----|
|**MATERIALIZED VIEW**|✅|✅|✅|✅|✅|✅|

### Pipes
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**PIPE**|✅|✅|✅|✅|✅|

### Procedures
| |ALTER|CALL|CALL WITH|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|----|----|
|**PROCEDURE**|❓|✅|❓|✅|✅|✅|✅|

### Roles
| |ALTER|CREATE|DROP|GRANT|REVOKE|SHOW|USE|
|----|----|----|----|----|----|----|----|
|**ROLE**|❓|✅|✅|❓|❓|✅|✅|

### Row Access Policies
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**ROW ACCESS POLICY**|✅|✅|✅|✅|✅|

### Schemas
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|UNDROP|USE|
|----|----|----|----|----|----|----|----|
|**SCHEMA**|✅|✅|✅|✅|✅|❓|✅|

### Sequences
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**SEQUENCE**|✅|✅|✅|✅|✅|

### Shares
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**SHARE**|❓|✅|❓|✅|❓|

### Stages
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**STAGE**|✅|✅|✅|✅|✅|

### Storage Integrations
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**STORAGE INTEGRATION**|❓|✅|✅|✅|✅|

### Streams
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**STREAM**|✅|✅|✅|✅|✅|

### Streamlits
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**STREAMLIT**|✅|✅|✅|✅|✅|

### Tables
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|TRUNCATE|UNDROP|
|----|----|----|----|----|----|----|----|
|**TABLE**|✅|✅|✅|✅|✅|❓|❓|

### Tags
| |ALTER|CREATE|DROP|SHOW|UNDROP|
|----|----|----|----|----|----|
|**TAG**|✅|✅|✅|✅|❓|

### Tasks
| |ALTER|CREATE|DESCRIBE|DROP|EXECUTE|SHOW|
|----|----|----|----|----|----|----|
|**TASK**|✅|✅|✅|✅|✅|✅|

### Users
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**USER**|✅|✅|❓|✅|✅|

### Views
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|
|----|----|----|----|----|----|
|**VIEW**|✅|✅|✅|✅|✅|

### Warehouses
| |ALTER|CREATE|DESCRIBE|DROP|SHOW|USE|
|----|----|----|----|----|----|----|
|**WAREHOUSE**|✅|✅|✅|✅|✅|✅|
Loading