This message is used to indicate that a boolean cursor attribute is not supported in SnowScript or that there is no transformation that emulates its functionality in SnowScript. The following table shows the boolean cursor attributes that can be emulated:
Copy CREATE OR REPLACE PROCEDURE cursor_attributes_proc
IS
is_open_attr BOOLEAN ;
found_attr BOOLEAN ;
my_record table1% ROWTYPE ;
CURSOR my_cursor IS SELECT * FROM table1;
BEGIN
OPEN my_cursor;
LOOP
FETCH my_cursor INTO my_record;
EXIT WHEN my_cursor %NOTFOUND ;
is_open_attr := my_cursor %ISOPEN ;
found_attr := my_cursor %FOUND ;
END LOOP ;
CLOSE my_cursor;
END ;
Copy CREATE OR REPLACE PROCEDURE cursor_attributes_proc ()
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
DECLARE
is_open_attr BOOLEAN ;
found_attr BOOLEAN ;
my_record OBJECT !!!RESOLVE EWI!!! /*** SSC-EWI-0036 - ROWTYPE DATA TYPE CONVERTED TO OBJECT ***/!!! := OBJECT_CONSTRUCT();
my_cursor CURSOR
FOR
SELECT
OBJECT_CONSTRUCT( * ) sc_cursor_record FROM
table1;
BEGIN
OPEN my_cursor;
LOOP
--** SSC-PRF-0003 - FETCH INSIDE A LOOP IS CONSIDERED A COMPLEX PATTERN, THIS COULD DEGRADE SNOWFLAKE PERFORMANCE. **
FETCH my_cursor INTO
:my_record;
IF (my_record IS NULL ) THEN
EXIT;
END IF ;
is_open_attr := null /*my_cursor%ISOPEN*/!!!RESOLVE EWI!!! /*** SSC-EWI-OR0128 - BOOLEAN CURSOR ATTRIBUTE %ISOPEN IS NOT SUPPORTED IN SNOWFLAKE ***/!!!;
found_attr : = my_record IS NOT NULL ;
END LOOP ;
CLOSE my_cursor;
END ;
$$;