88 |
|
FStatement: TFB30Statement; |
89 |
|
FFirebird30ClientAPI: TFB30ClientAPI; |
90 |
|
FBlob: IBlob; {Cache references} |
91 |
– |
FArray: IArray; |
91 |
|
FNullIndicator: short; |
92 |
|
FOwnsSQLData: boolean; |
93 |
|
FBlobMetaData: IBlobMetaData; |
140 |
|
procedure ColumnSQLDataInit; |
141 |
|
procedure RowChange; override; |
142 |
|
procedure FreeSQLData; |
143 |
< |
function GetAsArray(Array_ID: TISC_QUAD): IArray; override; |
143 |
> |
function GetAsArray: IArray; override; |
144 |
|
function GetAsBlob(Blob_ID: TISC_QUAD; BPB: IBPB): IBlob; override; |
145 |
|
function GetArrayMetaData: IArrayMetaData; override; |
146 |
|
function GetBlobMetaData: IBlobMetaData; override; |
289 |
|
procedure CheckHandle; override; |
290 |
|
procedure CheckBatchModeAvailable; |
291 |
|
procedure GetDSQLInfo(info_request: byte; buffer: ISQLInfoResults); override; |
292 |
+ |
function GetStatementIntf: IStatement; override; |
293 |
|
procedure InternalPrepare(CursorName: AnsiString=''); override; |
294 |
|
function InternalExecute(aTransaction: ITransaction): IResults; override; |
295 |
|
function InternalOpenCursor(aTransaction: ITransaction; Scrollable: boolean |
750 |
|
begin |
751 |
|
inherited; |
752 |
|
FBlob := nil; |
753 |
– |
FArray := nil; |
753 |
|
end; |
754 |
|
|
755 |
|
procedure TIBXSQLVAR.FreeSQLData; |
760 |
|
FOwnsSQLData := true; |
761 |
|
end; |
762 |
|
|
763 |
< |
function TIBXSQLVAR.GetAsArray(Array_ID: TISC_QUAD): IArray; |
763 |
> |
function TIBXSQLVAR.GetAsArray: IArray; |
764 |
|
begin |
765 |
|
if SQLType <> SQL_ARRAY then |
766 |
|
IBError(ibxeInvalidDataConversion,[nil]); |
769 |
|
Result := nil |
770 |
|
else |
771 |
|
begin |
772 |
< |
if FArray = nil then |
773 |
< |
FArray := TFB30Array.Create(FStatement.GetAttachment as TFB30Attachment, |
772 |
> |
if FArrayIntf = nil then |
773 |
> |
FArrayIntf := TFB30Array.Create(FStatement.GetAttachment as TFB30Attachment, |
774 |
|
TIBXSQLDA(Parent).GetTransaction, |
775 |
< |
GetArrayMetaData,Array_ID); |
776 |
< |
Result := FArray; |
775 |
> |
GetArrayMetaData,PISC_QUAD(SQLData)^); |
776 |
> |
Result := FArrayIntf; |
777 |
|
end; |
778 |
|
end; |
779 |
|
|
1142 |
|
else |
1143 |
|
FSQLNullIndicator := nil; |
1144 |
|
FBlob := nil; |
1145 |
< |
FArray := nil; |
1145 |
> |
FArrayIntf := nil; |
1146 |
|
end; |
1147 |
|
end; |
1148 |
|
SetUniqueRelationName; |
1324 |
|
end; |
1325 |
|
end; |
1326 |
|
|
1327 |
+ |
function TFB30Statement.GetStatementIntf: IStatement; |
1328 |
+ |
begin |
1329 |
+ |
Result := self; |
1330 |
+ |
end; |
1331 |
+ |
|
1332 |
|
procedure TFB30Statement.InternalPrepare(CursorName: AnsiString); |
1333 |
|
var GUID : TGUID; |
1334 |
|
begin |