> -----Original Message-----
> From: Helen Borrie [mailto:hele...@tpg.com.au] 
> Sent: MiƩrcoles, 16 de Septiembre de 2015 21:46
> 
> The new FBLangref 25 says RDB$VIEW_RELATIONS is not used in 
> current versions.  As Mark R. has pointed in his review (and 
> as I meant to ask before, and forgot to!) it clearly *is* 
> used or, at least, populated when a view is created.
> 
> What's the back-story?

Strange assertion in FBLangRef.

In FB2.5, VIEW_RELATIONS is used in
dsql/metd.epp
jrd/dfw.epp
jrd/dyn.epp
jrd/dyn_def.epp
jrd/dyn_del.epp
jrd/dyn_mod.epp
jrd/dyn_util.epp
jrd/met.epp
and other places (gbak for example).

In FB3, Adriano moved the DYN logic to
dsql/DdlNodes.epp
so VIEW_RELATIONS is there, in addition to
dsql/metd.epp, jrd/dfw and jrd/met.

I don't know what the author of FBLangRef meant. That table is important
because it keeps the equivalence between a table or selectable procedure
used in the view and the context in the view, for example, tested on FB2.5:

SQL> create view v2(x, y) as
 select r.rdb$relation_name, rdb$field_name
 from rdb$relations r join rdb$relation_fields rf
 on r.rdb$relation_name = rf.rdb$relation_name;

SQL> commit;
SQL> set list;
SQL> select * from rdb$view_relations;

RDB$VIEW_NAME       V2
RDB$RELATION_NAME   RDB$RELATION_FIELDS
RDB$VIEW_CONTEXT    2
RDB$CONTEXT_NAME    RF  <-- table alias

RDB$VIEW_NAME       V2
RDB$RELATION_NAME   RDB$RELATIONS
RDB$VIEW_CONTEXT    1
RDB$CONTEXT_NAME    R  <-- table alias

C.


------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to