[fpc-pascal] Database Metadata proposal
    Daniel Gaspary 
    dgaspary at gmail.com
       
    Sun Jun  1 00:21:04 CEST 2014
    
    
  
Hi.
   In December 2012, this[1] thread has brought some ideas about
Database metadata, in special the retrieving of Schema names.
   This[2] wiki page summarizes what was discussed.  Some further
conclusion after that thread?
   I agree that using Information schema, wherever is supported, is
the best solution.
   I propose the following types and methods:
    TSqlObjectIdenfier = class
    public
          property SchemaName: String;
          property ObjectName: String;
          //Optional / Reuse TSchemaType?
          property SqlObjectType: TSqlObjectType;
    end;
    TSqlObjectList = specialize TFPGList<TSqlObjectIdenfier>;
    On TSQLConnection the new (virtual) methods bellow (similar to
GetDBInfo, but public) could be added:
      function GetObjectNames(ObjectType: TSchemaType):
TSqlObjectIdenfier; overload;
      function GetObjectNames(ObjectTypes: TSchemaTypes {A new Type
Set of TSchemaType}): TSqlObjectIdenfier;  overload;
      These changes would not affect Delphi compatibility, as I am
proposing to add, not replace what exists today.
      Ideas, Pros, cons.. ?
      Thank you,
             Daniel
[1] http://lists.freepascal.org/pipermail/fpc-pascal/2012-December/035844.html
[2] http://wiki.lazarus.freepascal.org/Database_metadata#Proposal_for_extension.2Funiformization
    
    
More information about the fpc-pascal
mailing list