Errata

Snowflake: The Definitive Guide

Errata for Snowflake: The Definitive Guide

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Page You can create stored functions in JavaScript
Extending SQL with Stored Procedures and UDFs

You can create stored functions in JavaScript
Should be
You can create stored procedures in JavaScript

Note from the Author or Editor:
Page82: Replace "You can create stored functions in JavaScript and UDFs in SQL, JavaScript, Python, and Java languages." with the following sentences: "You can create stored procedures natively using JavaScript or by Snowflake scripting and using Snowpark, you can create stored prrocedures using Java, Python, or Scala. You can create UDFs using SQL, JavaScript, Python, and Java languages."


Anonymous  Sep 02, 2022  Dec 16, 2022
Page Chapter 3 Extending SQL with Stored Procedures and UDFs
UTF

should be UDF

Note from the Author or Editor:
Page82: Replace "UTFs" with "User-defined table functions (UDTFs)"

Anonymous  Sep 02, 2022  Dec 16, 2022
Page Page 82
Table 3-2

"How to reference" line:
For named stage: add the @symbol, should be "@<stage_name>"
For table stage: replace the "$" symbol with the "%" symbol

"Supports setting file formats" line:
For external stage: replace "No" with "Yes"

Joyce Kay Avila  Sep 08, 2022  Dec 16, 2022
Page Page 38
4th paragraph

Current statement reads as "The following SQL script will create a medium-sized virtual warehouse, with four clusters ...". The word "clusters" should be changed to "servers".

Note from the Author or Editor:
Yes, that is correct. "clusters" should be changed to "servers".

Michael Winterbottom  Jan 25, 2023 
Page Page 49
Caption for Figure 2-20

Currently reads as "The virtual warehouse cache in the Snowflake cloud services layer".

Should read as "The virtual warehouse cache in the Snowflake compute layer".

Note from the Author or Editor:
Figure 2-20 description needs to have "cloud services layer" changed to "compute layer".

Michael Winterbottom  Jan 30, 2023 
Page Page 78
Last code example on page

Currently reads as ...
"DELETE FROM <Base_Table> WHERE <Column_Name> >
(SELECT AVG <Column> FROM <View_Name>);"

Should read as ...
"DELETE FROM <Base_Table> WHERE <Column_Name> >
(SELECT AVG <Column_Name> FROM <View_Name>);"

Note from the Author or Editor:
<Column> needs to be changed to <Column_Name>

Michael Winterbottom  Jan 30, 2023 
Page Page 95
Code example near middle of page

Code example currently reads as ...

ALTER TASK IF EXISTS tsk_15 SUSPEND;

However the task name is 'tsk_wait_15' ... and therefore the above should be:

ALTER TASK IF EXISTS tsk_wait_15 SUSPEND;

Note from the Author or Editor:
Change tsk_15 to tsk_wait_15 on page 95 code section

Michael Winterbottom  Feb 01, 2023 
Page Page 170
2nd paragraph

Currently reads as ...
"We also can attempt to assign to a user a default role that does exist:"

Should read as (insert the word "not") ...
"We also can attempt to assign to a user a default role that does not exist:"

Michael Winterbottom  Feb 14, 2023 
Page Page 332
Figure 10-17

Label in the blue box currently reads as ...
Data provide account

Should read as ...
Data provider account

Michael Winterbottom  Mar 02, 2023 
Chapter 6

Resource Monitor Credit Quota
An account-level resource monitor credit quota, stated in terms of Snowflake credits, is based on the entire amount of cloud service usage. However, the account-level credit quota does not consider the daily 10% adjustment for cloud services. Only an account-level resource monitor can monitor credit usage for virtual warehouses that provide cloud services. Resource monitors, at the virtual warehouse-level, can only be created for user-created and managed virtual warehouses.

-> instead of "However, the account-level credit quota does not consider" the text should be "However, the warehouse-level credit quota does not consider".

Anonymous  May 30, 2022  Aug 10, 2022
Printed
Page 71
4th paragraph

Materialized tables, announced in June 2022, has been renamed to dynamic tables.

Joyce Kay Avila
 
Dec 13, 2022  Dec 16, 2022
Page 81
Figure 3-23. The objects hierarchy for Snowflake stages

The text says "Internal named stages and external stages can be created as either a permanent or a temporary stage."

However, Figure 3-23 only puts an asterisk against "Internal stage type" as being either permanent or temporary.

Then, Table 3-2 says that "External stage" cannot be temporary.

They all disagree with each other!

Note from the Author or Editor:
(1) The text is correct.
(2) Figure 3-23 needs to have the asterisk removed from the "Internal stage type" circle. Asterisks should be placed next to "External stage type" and "Internal named stage type" and
(3) Table 3-2 needs to be corrected as follows: For the line "Temporary type possible?", the "User stage" value should be "No", the "Table stage" value should be "No" and the "External stage" value should be "Yes".

John Rotenstein  Sep 03, 2022  Dec 16, 2022
Page 83
Warning box (2nd last paragraph)

Figure 3-24 mentions Python UDF, Java UDF, JavaScript UDF and SQL UDF.

However, the warning box says "...you’ll want to use a Snowflake UDF."

However, there is no "Snowflake UDF" mentioned in the diagram or anywhere else in the book. This is confusing. It should simply say "UDF" rather than "Snowflake UDF".

Note from the Author or Editor:
Replace "Snowflake UDF" with "UDF".

John Rotenstein  Sep 03, 2022  Dec 16, 2022
Page 86
Last 3 paragraphs

The two terms "JavaScript secure UDF" and "secure SQL UDF" seem strange --they should have a common type of name.

For example: "JavaScript secure UDF" and "SQL secure UDF"

or: "secure JavaScript UDF" and "secure SQL UDF"

Note from the Author or Editor:
Replace "JavaScript secure UDFs" with "secure JavaScript UDFs"

John Rotenstein  Sep 04, 2022  Dec 16, 2022
Page 87
Header at top of page

"UDTF" in heading should be "UDF"

Note from the Author or Editor:
UDTF should remain as is, in the heading. However, to make it more clear, UDTF (a special type of UDF) should be defined in the sentence.

Change to this on page 87 -- "Market basket analysis is a common use of secure SQL user-defined table functions (UDTFs), and that is what we'll be demonstrating."

John Rotenstein  Sep 04, 2022  Dec 16, 2022
Printed
Page 116
Last Sentence

Need to replace "DataOps" with "DataOps.live"

Joyce Kay Avila
 
Sep 05, 2022  Dec 16, 2022
Page 131
Paragraph 1

"Snowflake's data and time data types are supported ... " should be "Snowflake's date and time data types are supported ... "

Note from the Author or Editor:
"data" should be changed to "date"

Sergio Ramos-Valverde  Dec 15, 2025 
Page 139
Paragraph 1

".. or external snowflake stages, control access to data is easily achieved ..." should be ".. or external snowflake stages, control over access to data is easily achieved ...", or ".. or external snowflake stages, controlling access to data is easy ..."

Note from the Author or Editor:
Need to add the word "over" to the sentence -- "...or external Snowflake stages, control over access to the data is easily achieved"

Sergio Ramos-Valverde  Dec 19, 2025 
Printed
Page 145
Fourth line from the top

"Snowflake UDFs" should be replaced with "UDFs supported by Snowflake"

Joyce Kay Avila
 
Sep 05, 2022  Dec 16, 2022
Page 160
Figure 5-17

Two roles assigned to monitoring role are concatenated under one box instead of separate

Note from the Author or Editor:
Figure 5-17 has 5 roles assigned to the monitoring role but there should be 6 roles. The RM1_MONITOR and WH1_MONITOR roles appear to have been combined into one when they should instead be two separate roles in the diagram.

Sergio Ramos-Valverde  Dec 22, 2025 
Page 161
Final paragraph

"Next, be sure to grant usage of virtual warehouse VW2_WH directly to IT roles and usage of virtual warehouse VW2_WH to business roles."

Should be

"Next, be sure to grant usage of virtual warehouse VW1_WH directly to IT roles and usage of virtual warehouse VW2_WH to business roles."

Since in the following example, you assign VW1_WH and VW2_WH to different roles

Note from the Author or Editor:
VW2_WH needs to be changed to VW1_WH
s/b: "Next, be sure to grant usage of virtual warehouse VW1_WH to IT roles..."

Sergio Ramos-Valverde  Dec 22, 2025 
Page 164
First paragraph

1. "DB2_SCHEMA1_ALL" sub-bullets both reference "DB2.DB1..." objects, should be "DB2.DB2..."

2. All objects referred to in full uppercase except for "SELECT on future tables in schema DB2.DB2_Schema2" - should read "SELECT on future tables in schema DB2.DB2_SCHEMA2"

Note from the Author or Editor:
s/b as follows (change DB1 to DB2):
DB2_SCHEMA1_ALL
* ALL on schema DB2.DB2_SCHEMA1
* SELECT on future tables in schema DB2.DB2_SCHEMA1

Sergio Ramos-Valverde  Dec 22, 2025 
Page 308
middle of page

Currently reads as ...
Equality searches use equality predicates such as <column name> = <constant
value> whereas range searches query ranges in time.

The reference to "in time" at the end of the statement, appears to be overly specific (i.e., what about ranges in values not associated with time?). Perhaps alter to read as ...
Equality searches use equality predicates such as <column name> = <constant
value> whereas range searches query ranges of values.

Note from the Author or Editor:
change "whereas range searches query ranges in time" to "whereas range searches query ranges of values" ['ranges in time' changed to 'ranges of values']

Michael Winterbottom  Feb 27, 2023 
Page 408
Last sentence on the page

"eternal" should be replaced with "external"

Joyce Avila  Sep 06, 2022  Dec 16, 2022
Page 421
Next to last sentence for #5

"in the same in the same" should be replace with "in the same"

Joyce Avila  Sep 06, 2022  Dec 16, 2022