← Back to team overview

drizzle-discuss team mailing list archive

Re: PROPOSAL: Rename plugin::InfoSchemaTable -> plugin::InfoSchemaView


Actually, I've been doing a bit of digging and it seems my claim that
they should be called "SYSTEM VIEW" according to standard SQL is *not*
correct. The term SYSTEM VIEW is a MS SQL ism.

It's hard to say what it should be according to standard SQL though.
The standard defines the information schema in terms of regular
database VIEWs on top of the so called definition schema (which is in
turn defined as a set of regular base tables), but they make a big
point out of explaining that the definition schema is not required to
be "realized", meaning that you can but are not required to have a
definition schema - it's just a conceptual model to explain and define
the properties and objects of the information schema. (I don't know of
any RDBMS that defines a definition_schema)

So i think that if you do have a definition schema and create the
information schema on top of that literally according to the standard,
by definition the type of the information schema "tables" would show
up as "VIEW" when querying the information_schema.TABLES "table",
however the question is academic because nobody actually defines
information schema tables as views on a definition schema.

So I am beginning to think that the exact value used for the
TABLE_TYPE by the information schema itself to reflect on its own
tables is perhaps not the best way to figure out what the name in the
C++ code should be.

Perhaps "InformationSchemaTable" isn't so bad after all? They are
after all still tables, just not base tables?

On Thu, Dec 3, 2009 at 7:50 AM, Stewart Smith <stewart@xxxxxxxxxxxxxxxx> wrote:
> On Wed, Dec 02, 2009 at 09:53:51PM +0100, Roland Bouman wrote:
>> Oh, I forgot to mention - the term "view" would also be not entirely
>> appropriate in this case, because it can potentially be confused with
>> VIEW schema objects.
>> (which is why the information schema itself reports "SYSTEM VIEW" as
>> the TABLE_TYPE for information_schema tables, at least, in standard
>> SQL)
> plugin::InformationSchema::SystemView
> for each of the I_S "tables" ?
> seems reasonable to me. existing terminology++
> --
> Stewart Smith

Roland Bouman

Author of "Pentaho Solutions: Business Intelligence and Data
Warehousing with Pentaho and MySQL",