58 |
|
FCharSetID: cardinal; |
59 |
|
FSegmentSize: cardinal; |
60 |
|
function Attachment: IAttachment; virtual; abstract; |
61 |
+ |
function CanFetchMetaData: boolean; |
62 |
|
procedure NeedFullMetadata; virtual; abstract; |
63 |
|
procedure NeedSubType; |
64 |
|
public |
405 |
|
|
406 |
|
{TFBBlobMetaData} |
407 |
|
|
408 |
+ |
function TFBBlobMetaData.CanFetchMetaData: boolean; |
409 |
+ |
begin |
410 |
+ |
Result := (FRelationName <> '') and (FColumnName <> ''); |
411 |
+ |
end; |
412 |
+ |
|
413 |
|
procedure TFBBlobMetaData.NeedSubType; |
414 |
|
begin |
415 |
|
if not FHasSubType then |
446 |
|
|
447 |
|
function TFBBlobMetaData.GetCharSetID: cardinal; |
448 |
|
begin |
449 |
< |
NeedFullMetadata; |
450 |
< |
Result := FCharSetID; |
449 |
> |
if CanFetchMetaData then |
450 |
> |
begin |
451 |
> |
NeedFullMetadata; |
452 |
> |
Result := FCharSetID; |
453 |
> |
end |
454 |
> |
else |
455 |
> |
if Attachment.HasDefaultCharSet then |
456 |
> |
Result := Attachment.GetDefaultCharSetID |
457 |
> |
else |
458 |
> |
Result := FCharSetID; |
459 |
|
end; |
460 |
|
|
461 |
|
function TFBBlobMetaData.GetCodePage: TSystemCodePage; |