|
From: <na...@us...> - 2010-09-17 17:39:37
|
Revision: 923
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=923&view=rev
Author: nandod
Date: 2010-09-17 17:39:31 +0000 (Fri, 17 Sep 2010)
Log Message:
-----------
* Fixes for burst load mode.
Modified Paths:
--------------
trunk/Source/Core/InstantBrokers.pas
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2010-09-17 07:45:58 UTC (rev 922)
+++ trunk/Source/Core/InstantBrokers.pas 2010-09-17 17:39:31 UTC (rev 923)
@@ -5240,7 +5240,8 @@
const AObject: TInstantIQLObject;
out ASubQuery: TInstantIQLSubquery): Boolean;
begin
- if AObject is TInstantIQLSubquery then begin
+ if AObject is TInstantIQLSubquery then
+ begin
Result := True;
ASubQuery := TInstantIQLSubquery(AObject);
end
@@ -5276,7 +5277,8 @@
S := StringReplace(Str, '%%', #1, [rfReplaceAll]);
S := StringReplace(S, '%', WildCard, [rfReplaceAll]);
Result := StringReplace(S, #1, '%', [rfReplaceAll]);
- end else
+ end
+ else
Result := Str;
end;
@@ -5514,7 +5516,7 @@
begin
// External part and reference attribute are treated akin:
// select Class and Id fields.
- if Assigned(AContext.PathToTarget(LAttrMeta.FieldName, LTablePath, LFieldName)) then
+ if Assigned(AContext.PathToTarget(LAttrMeta.Name, LTablePath, LFieldName)) then
Writer.WriteString(Format(', %s, %s', [
AContext.Qualify(LTablePath, LFieldName + InstantClassFieldName),
AContext.Qualify(LTablePath, LFieldName + InstantIdFieldName)]));
@@ -5524,7 +5526,7 @@
// No fields needed for external containers.
else
// Select all other fields.
- Writer.WriteString(Format(', %s', [AContext.QualifyPath(LAttrMeta.FieldName)]));
+ Writer.WriteString(Format(', %s', [AContext.QualifyPath(LAttrMeta.Name)]));
end;
end;
end;
@@ -6454,7 +6456,8 @@
LClassMeta := ObjectClassMetadata.Parent;
while Assigned(LClassMeta) do
begin
- AddTablePath(LClassMeta.TableName);
+ if LClassMeta.IsStored then
+ AddTablePath(LClassMeta.TableName);
LClassMeta := LClassMeta.Parent;
end;
end;
@@ -6484,11 +6487,14 @@
LClassMeta := ObjectClassMetadata.Parent;
while Assigned(LClassMeta) do
begin
- LTableName := LClassMeta.TableName;
- if LTableName <> TableName then
+ if LClassMeta.IsStored then
begin
- AddJoin(TableName, InstantClassFieldName, LTableName, InstantClassFieldName);
- AddJoin(TableName, InstantIdFieldName, LTableName, InstantIdFieldName);
+ LTableName := LClassMeta.TableName;
+ if (LTableName <> TableName) and LClassMeta.IsStored then
+ begin
+ AddJoin(TableName, InstantClassFieldName, LTableName, InstantClassFieldName);
+ AddJoin(TableName, InstantIdFieldName, LTableName, InstantIdFieldName);
+ end;
end;
LClassMeta := LClassMeta.Parent;
end;
|