|
From: <na...@us...> - 2009-08-18 20:52:43
|
Revision: 846
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=846&view=rev
Author: nandod
Date: 2009-08-18 20:52:36 +0000 (Tue, 18 Aug 2009)
Log Message:
-----------
* DBX broker: added missing support for IsNull in boolean, currency, datetime attributes.
* DBX broker: fixed param assignment for Oracle.
Modified Paths:
--------------
trunk/Source/Brokers/DBX/InstantDBX.pas
trunk/Source/PackageGroups/D2009/CorePackages.groupproj
Modified: trunk/Source/Brokers/DBX/InstantDBX.pas
===================================================================
--- trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-18 08:09:33 UTC (rev 845)
+++ trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-18 20:52:36 UTC (rev 846)
@@ -192,6 +192,7 @@
end;
TInstantDBXMSSQLQuery = class(TInstantSQLQuery)
+ class function TranslatorClass: TInstantRelationalTranslatorClass; override;
end;
{ Oracle }
@@ -448,16 +449,27 @@
begin
case SourceParam.DataType of
ftBoolean:
- TargetParam.AsInteger := Integer(SourceParam.AsBoolean);
+ begin
+ if SourceParam.IsNull then
+ TargetParam.Clear
+ else
+ TargetParam.AsInteger := Integer(SourceParam.AsBoolean);
+ end;
ftDateTime:
begin
TargetParam.DataType := ftTimeStamp;
- TargetParam.Value := SourceParam.AsDateTime;
+ if SourceParam.IsNull then
+ TargetParam.Clear
+ else
+ TargetParam.Value := SourceParam.AsDateTime;
end;
ftCurrency:
begin
TargetParam.DataType := ftBCD;
- TargetParam.Value := SourceParam.AsCurrency;
+ if SourceParam.IsNull then
+ TargetParam.Clear
+ else
+ TargetParam.Value := SourceParam.AsCurrency;
end;
else
TargetParam.Assign(SourceParam);
@@ -721,19 +733,26 @@
EmbraceIndex(Metadata.Name)]);
end;
+{ TInstantDBXMSSQLQuery }
+
+class function TInstantDBXMSSQLQuery.TranslatorClass: TInstantRelationalTranslatorClass;
+begin
+ Result := TInstantDBXTranslator;
+end;
+
{ TInstantDBXOracleBroker }
procedure TInstantDBXOracleBroker.AssignParam(SourceParam, TargetParam: TParam);
begin
case SourceParam.DataType of
ftBoolean:
- TargetParam.AsString := IntToStr(Integer(SourceParam.AsBoolean));
+ TargetParam.AsInteger := Integer(SourceParam.AsBoolean);
ftInteger:
- TargetParam.AsString := IntToStr(SourceParam.AsInteger);
+ TargetParam.AsFloat := SourceParam.AsInteger;
ftCurrency:
- TargetParam.AsString := CurrToStr(SourceParam.AsCurrency);
+ TargetParam.AsCurrency := SourceParam.AsCurrency;
ftFloat:
- TargetParam.AsString := CurrToStr(SourceParam.AsFloat);
+ TargetParam.AsFloat := SourceParam.AsFloat;
else
inherited;
end;
Modified: trunk/Source/PackageGroups/D2009/CorePackages.groupproj
===================================================================
--- trunk/Source/PackageGroups/D2009/CorePackages.groupproj 2009-08-18 08:09:33 UTC (rev 845)
+++ trunk/Source/PackageGroups/D2009/CorePackages.groupproj 2009-08-18 20:52:36 UTC (rev 846)
@@ -9,9 +9,21 @@
<Projects Include="..\..\Design\D2009\DclIOCore.dproj">
<Dependencies/>
</Projects>
+ <Projects Include="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj">
+ <Dependencies/>
+ </Projects>
<Projects Include="..\..\Brokers\BDE\D2009\IOBDE.dproj">
<Dependencies/>
</Projects>
+ <Projects Include="..\..\Brokers\IBX\D2009\IOIBX.dproj">
+ <Dependencies/>
+ </Projects>
<Projects Include="..\..\Brokers\BDE\D2009\DclIOBDE.dproj">
<Dependencies/>
</Projects>
@@ -21,9 +33,15 @@
<Projects Include="..\..\Brokers\XML\D2009\DclIOXML.dproj">
<Dependencies/>
</Projects>
- <Projects Include="..\..\..\Tests\TestIO_D2009.dproj">
+ <Projects Include="..\..\Brokers\DBX\D2009\IODBX.dproj">
<Dependencies/>
</Projects>
+ <Projects Include="..\..\Brokers\DBX\D2009\DclIODBX.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\IBX\D2009\DclIOIBX.dproj">
+ <Dependencies/>
+ </Projects>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -50,6 +68,33 @@
<Target Name="DclIOCore:Make">
<MSBuild Targets="Make" Projects="..\..\Design\D2009\DclIOCore.dproj"/>
</Target>
+ <Target Name="IOIBFbCatalog">
+ <MSBuild Projects="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"/>
+ </Target>
+ <Target Name="IOIBFbCatalog:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"/>
+ </Target>
+ <Target Name="IOIBFbCatalog:Make">
+ <MSBuild Targets="Make" Projects="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMSSqlCatalog">
+ <MSBuild Projects="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMSSqlCatalog:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMSSqlCatalog:Make">
+ <MSBuild Targets="Make" Projects="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMySQLCatalog">
+ <MSBuild Projects="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMySQLCatalog:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMySQLCatalog:Make">
+ <MSBuild Targets="Make" Projects="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"/>
+ </Target>
<Target Name="IOBDE">
<MSBuild Projects="..\..\Brokers\BDE\D2009\IOBDE.dproj"/>
</Target>
@@ -59,6 +104,15 @@
<Target Name="IOBDE:Make">
<MSBuild Targets="Make" Projects="..\..\Brokers\BDE\D2009\IOBDE.dproj"/>
</Target>
+ <Target Name="IOIBX">
+ <MSBuild Projects="..\..\Brokers\IBX\D2009\IOIBX.dproj"/>
+ </Target>
+ <Target Name="IOIBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\IBX\D2009\IOIBX.dproj"/>
+ </Target>
+ <Target Name="IOIBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\IBX\D2009\IOIBX.dproj"/>
+ </Target>
<Target Name="DclIOBDE">
<MSBuild Projects="..\..\Brokers\BDE\D2009\DclIOBDE.dproj"/>
</Target>
@@ -86,23 +140,41 @@
<Target Name="DclIOXML:Make">
<MSBuild Targets="Make" Projects="..\..\Brokers\XML\D2009\DclIOXML.dproj"/>
</Target>
- <Target Name="TestIO_D2009">
- <MSBuild Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
+ <Target Name="IODBX">
+ <MSBuild Projects="..\..\Brokers\DBX\D2009\IODBX.dproj"/>
</Target>
- <Target Name="TestIO_D2009:Clean">
- <MSBuild Targets="Clean" Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
+ <Target Name="IODBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\DBX\D2009\IODBX.dproj"/>
</Target>
- <Target Name="TestIO_D2009:Make">
- <MSBuild Targets="Make" Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
+ <Target Name="IODBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\DBX\D2009\IODBX.dproj"/>
</Target>
+ <Target Name="DclIODBX">
+ <MSBuild Projects="..\..\Brokers\DBX\D2009\DclIODBX.dproj"/>
+ </Target>
+ <Target Name="DclIODBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\DBX\D2009\DclIODBX.dproj"/>
+ </Target>
+ <Target Name="DclIODBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\DBX\D2009\DclIODBX.dproj"/>
+ </Target>
+ <Target Name="DclIOIBX">
+ <MSBuild Projects="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"/>
+ </Target>
+ <Target Name="DclIOIBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"/>
+ </Target>
+ <Target Name="DclIOIBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"/>
+ </Target>
<Target Name="Build">
- <CallTarget Targets="IOCore;DclIOCore;IOBDE;DclIOBDE;IOXML;DclIOXML;TestIO_D2009"/>
+ <CallTarget Targets="IOCore;DclIOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOBDE;IOIBX;DclIOBDE;IOXML;DclIOXML;IODBX;DclIODBX;DclIOIBX"/>
</Target>
<Target Name="Clean">
- <CallTarget Targets="IOCore:Clean;DclIOCore:Clean;IOBDE:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;TestIO_D2009:Clean"/>
+ <CallTarget Targets="IOCore:Clean;DclIOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOBDE:Clean;IOIBX:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;IODBX:Clean;DclIODBX:Clean;DclIOIBX:Clean"/>
</Target>
<Target Name="Make">
- <CallTarget Targets="IOCore:Make;DclIOCore:Make;IOBDE:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;TestIO_D2009:Make"/>
+ <CallTarget Targets="IOCore:Make;DclIOCore:Make;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOBDE:Make;IOIBX:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;IODBX:Make;DclIODBX:Make;DclIOIBX:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>
|