Databases Reference
In-Depth Information
users can then access it via the publically available APEX COLLECTIONS synonym which in turn points to
the WWV FLOW COLLECTIONS view in the APEX engine schema. Ultimately, it is only the APEX COLLECTIONS
view and the associated APEX COLLECTION API that developers need to familiarize themselves with. Still,
in the interest of thoroughness, let's take a deeper dive.
Private Collections Objects Inside the APEX Engine
The APEX engine itself is effectively a single schema in the database with some helper schemas to serve
specific purposes. It is within this main schema that APEX stores all of its session data. Collection data is
no exception to this. Specifically, APEX collections are stored entirely in two tables:
WWV FLOW COLLECTIONS$ and WWV FLOW COLLECTION MEMBERS$ . A quick glance at the column names in
Listing 10-1, shows us that the WWV FLOW COLLECTIONS$ table doesn't store application data. Instead, it
stores the information APEX needs to handle the session state management functionality we discussed
earlier.
Listing 10-1. Description of the WWV_FLOW_COLLECTIONS$ Table
SQL> desc WWV FLOW COLLECTIONS$
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER
SESSION ID NOT NULL NUMBER
USER ID NOT NULL VARCHAR2(255)
FLOW ID NOT NULL NUMBER
COLLECTION NAME NOT NULL VARCHAR2(255)
COLLECTION CHANGED NOT NULL VARCHAR2(10)
CREATED ON NOT NULL DATE
SECURITY GROUP ID NOT NULL NUMBER
When you take a look at the second collections table's description in Listing 10-2, you immediately
see what appear to be placeholder columns for data such as C001 and C002 for text, N001 for Numbers,
and D001 for Dates. It is into this table that APEX stores its collection data but, again, it uses
WWV FLOW COLLECTIONS$ to expose the right collected data to the right sessions in the right applications.
Listing 10-2. Description of the WWV_FLOW_COLLECTION_MEMBERS$ Table
SQL> desc WWV FLOW COLLECTION MEMBERS$
Name Null? Type
----------------------------------------- -------- -------------------
COLLECTION ID NOT NULL NUMBER
SEQ ID NOT NULL NUMBER
C001 VARCHAR2(4000)
C002 VARCHAR2(4000)
C003 VARCHAR2(4000)
C004 VARCHAR2(4000)
C005 VARCHAR2(4000)
C006 VARCHAR2(4000)
C007 VARCHAR2(4000)
C008 VARCHAR2(4000)
Search WWH ::




Custom Search