[fpc-pascal] GetTableNames in TSQLConnection / Postgresql

LacaK lacak at zoznam.sk
Mon Dec 17 11:45:28 CET 2012


michael.vancanneyt at wisa.be  wrote / napĂ­sal(a):
>
>
> On Mon, 17 Dec 2012, LacaK wrote:
>
>>>> But original question AFAIU was about: what should GetTableNames 
>>>> return (schema query can return multiple columns, but what column 
>>>> use when fill list of table names)?
>>>> GetTableNames return list of table names into TStrings.
>>>> Now only TABLE_NAME is returned. John requested, that also schema 
>>>> name should be prefixed (if there is any)
>>>
>>> Ah, that was not clear to me :-)
>>>
>>> But why the SCHEMA_TABLE_NAME ? It's redundant information, as the
>>> information is present in SCHEMA_NAME and TABLE_NAME anyway ?
>> *Yes is redundant
>
> Redundancy is bad in data :)
>
>>> A different story is the GetTableNames call, which will - presumably 
>>> - use
>>> the above information.
>>>
>> *Yes it is point of story ... GetTableNames call GetDBInfo which 
>> calls SetSchemaInfo and in loop fills TStrings with provided 
>> AReturnField Field.
>>
>> *
>>> There I think some extra options are needed:
>>>
>>> TSchemaOption = (soPrependSchemaName,soIncludeSystemObjects);
>>> TSchemaOptions = set of TSchemaOption;
>>>
>>> Procedure GetTableNames(List : TStrings; Options : TSchemaOptions = 
>>> []);
>>>
>> *possible, but introduces incompatibility with Delphi, where 
>> GetTableNames is declared like now in FPC (GetTableNames(List: 
>> TStrings; SystemTables: Boolean) + other overloads)
>> So SystemTables is there already ...
>
> There is no need for incompatibility ?
>
> We keep the call as it exists now, and redirect it to the new call 
> with the extended options. We do this in several places in the RTL/FCL 
> already.
>
> The idea is to offer more options, this way there is no need for custom
> solutions. Everyone benefits.
>
ok, possible.
-Laco.

> Michael.
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>




More information about the fpc-pascal mailing list