Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Snowflake cloud data platform 雪花存储过程中的最大JavaScript字符串大小_Snowflake Cloud Data Platform - Fatal编程技术网

Snowflake cloud data platform 雪花存储过程中的最大JavaScript字符串大小

Snowflake cloud data platform 雪花存储过程中的最大JavaScript字符串大小,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,Snowflake文档说VARCHAR列被限制为16 MB未压缩 Snowflake文档说明VARCHAR数据会自动转换为JavaScript字符串数据类型。 问题: 如果我调用Snowflake过程(或JavaScript UDF)并从表中传入VARCHAR数据,Snowflake过程中是否有大小限制,或者它将处理16MB字符串变量?JavaScript将处理高达16MB的数据: CREATE OR REPLACE FUNCTION MaxParam("STRING" VARCHAR) R

Snowflake文档说VARCHAR列被限制为16 MB未压缩

Snowflake文档说明VARCHAR数据会自动转换为JavaScript字符串数据类型。

问题:
如果我调用Snowflake过程(或JavaScript UDF)并从表中传入VARCHAR数据,Snowflake过程中是否有大小限制,或者它将处理16MB字符串变量?

JavaScript将处理高达16MB的数据:

CREATE OR REPLACE FUNCTION MaxParam("STRING" VARCHAR)
RETURNS STRING LANGUAGE JAVASCRIPT STRICT IMMUTABLE AS
'return STRING;';

CREATE TABLE T AS SELECT LPAD('111', 16777216, '0') STR;
SELECT MaxParam(STR) FROM T;
=> 0000000000000000000000000000000000000...

SELECT MaxParam(LPAD('111', 16777217, '0'));
=> String '(padded string)' is too long and would be truncated
(Error message is from LPAD, not JS)

谢谢你,汉斯!如果我像你一样了解JavaScript,我可以自己回答,但这将有利于其他人参考。感谢您的map函数处理显示为未定义的空参数!事实上,我认为这和雪花中16MB的SQL VARCHAR数据类型限制有关,而和JavaScript无关。未经测试,我确信JavaScript可以在过程/函数中处理大于16MB的文本。也许你找到了我的一些旧东西?我永远无法理解为什么在存储过程API中SQL NULL必须映射到未定义而不是NULL。
CREATE OR REPLACE FUNCTION MaxParam("STRING" VARCHAR)
RETURNS STRING LANGUAGE JAVASCRIPT STRICT IMMUTABLE AS
'return STRING;';

CREATE TABLE T AS SELECT LPAD('111', 16777216, '0') STR;
SELECT MaxParam(STR) FROM T;
=> 0000000000000000000000000000000000000...

SELECT MaxParam(LPAD('111', 16777217, '0'));
=> String '(padded string)' is too long and would be truncated
(Error message is from LPAD, not JS)