CSTORE, XSTORE, Packages And Sessions

Recent posts in this series discussed Compile State Management (CSTORE) and Execution State Management (XSTORE) in Polymorphic Table Functions (PTF’s). The XSTORE and CSTORE values are managed by the DBMS_TF package. This is a good time to compare them to values stored in other packages – specifically how they behave within an Oracle session. I’ll … Read more

Bulk Load CSTORE Values

This post is another example Compilation State Management with CSTORE values. It loads 10 strings of CSTORE values, attaches them to the cursor and then returns them as part of the eventual query. The difference from previous posts is this one retrieves the CSTORE values in bulk. CREATE OR REPLACE PACKAGE poly_pkg AS FUNCTION describe … Read more


This post continues the discussion of XSTORE values with a demonstration of their life span and compares it to Compile State Management – aka CSTORE – values. Here’s a simple FETCH_ROWS procedure to demonstrate the life span of XSTORE values. PROCEDURE fetch_rows IS xstore_number NUMBER := 0; BEGIN — if any values are defined for … Read more

Execution State Management 2

This post continues on PTF Execution State Management¬†with further details on adding, retrieving and removing XSTORE KEY-VALUE pairs. Each XSTORE allows up to 4 assigned values separated by datatype: One VARCHAR2 value One NUMBER value One DATE value One BOOLEAN value The values are manipulated using the DBMS_TF package in the OPEN, FETCH_ROWS or CLOSE … Read more