Snowflake Native Apps FAQs#

General Issues#

I received GE** code in the result message. What does it mean?#

The GE** or SE** code indicates Service Level Error. This could be due to Transmission Error, invalid input, or other issues. Please check the Result Codes page of your product for the specific error message.

RecordID in my input table is not incremented continuously?#

“Snowflake does not guarantee generating sequence numbers without gaps. The generated numbers are not necessarily contiguous.”

—Source: Snowflake Documentation

Visit Using Sequence in Snowflake for more information.

Can I call a stored procedure of the application from a different schema?#

Usually, you can call a stored procedure from a different schema with its full context when the access control allows it.

Example: CALL DATABASE_NAME.SCHEMA_NAME.PROCEDURE_NAME(…);

However, the Native App framework imposes a different approach. Our core feature is connecting with Melissa Web Services to process your data. We integrate the API access into the application design. A Snowflake-defined role is created during the app installation to manage and secure access to the application database, typically named APP_PUBLIC or similar. All installed stored procedures are owned by this application role, which is different from the account role used for installation. When you install the app, the application role is granted to the account role used for installation, allowing it to access the app as a user. Additional account roles can be granted to use the app within the application context only.

This behavior is currently set as the default by Snowflake and cannot be changed due to security reasons. The stored procedures of the application only have owner’s rights within the application context, which limits the ability to make cross-schema calls.

See more About owners right’s and restricted caller’s rights in an app .