You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-12-24 14:20:59 +03:00
Merge branch 'develop' into MCOL-265
This commit is contained in:
@@ -849,10 +849,11 @@ void printInputSource(
|
||||
if (alternateImportDir == IMPORT_PATH_CWD)
|
||||
{
|
||||
char cwdBuf[4096];
|
||||
::getcwd(cwdBuf, sizeof(cwdBuf));
|
||||
char *bufPtr = &cwdBuf[0];
|
||||
bufPtr = ::getcwd(cwdBuf, sizeof(cwdBuf));
|
||||
|
||||
if (!(BulkLoad::disableConsoleOutput()))
|
||||
cout << "Input file(s) will be read from : " << cwdBuf << endl;
|
||||
cout << "Input file(s) will be read from : " << bufPtr << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1040,7 +1041,11 @@ int main(int argc, char** argv)
|
||||
#ifdef _MSC_VER
|
||||
_setmaxstdio(2048);
|
||||
#else
|
||||
setuid( 0 ); // set effective ID to root; ignore return status
|
||||
// set effective ID to root
|
||||
if( setuid( 0 ) < 0 )
|
||||
{
|
||||
std::cerr << " cpimport: couldn't set uid " << std::endl;
|
||||
}
|
||||
#endif
|
||||
setupSignalHandlers();
|
||||
|
||||
|
||||
@@ -1,375 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|Win32">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|x64">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{36549A0A-BF9F-4642-92E7-FAA10061BD34}</ProjectGuid>
|
||||
<RootNamespace>cpimport</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\dmlib;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\writeengine\bulk;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;SKIP_IDB_COMPRESSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;libxml2.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\InfiniDB\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\dmlib;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\writeengine\bulk;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;libxml2.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Debug;$(SolutionDir)..\..\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\dmlib;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\writeengine\bulk;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_IDB_COMPRESSION;SKIP_UDF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;libxml2.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\dmlib;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\writeengine\bulk;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_IDB_COMPRESSION;SKIP_UDF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;libxml2.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;C:$(SolutionDir)..\..x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Bulk Loader" $(SolutionDir)..\..x64\Release\cpimport.exe</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\dmlib;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\writeengine\bulk;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;libxml2.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\dmlib;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\writeengine\bulk;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;libxml2.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;$(SolutionDir)..\..\x64\EnterpriseRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Bulk Loader" $(SolutionDir)..\..\x64\EnterpriseRelease\cpimport.exe</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="cpimport.cpp" />
|
||||
<ClCompile Include="we_brmreporter.cpp" />
|
||||
<ClCompile Include="we_bulkload.cpp" />
|
||||
<ClCompile Include="we_bulkloadbuffer.cpp" />
|
||||
<ClCompile Include="we_bulkstatus.cpp" />
|
||||
<ClCompile Include="we_colbuf.cpp" />
|
||||
<ClCompile Include="we_colbufcompressed.cpp" />
|
||||
<ClCompile Include="we_colbufmgr.cpp" />
|
||||
<ClCompile Include="we_colbufmgrdctnry.cpp" />
|
||||
<ClCompile Include="we_colbufsec.cpp" />
|
||||
<ClCompile Include="we_colextinf.cpp" />
|
||||
<ClCompile Include="we_colopbulk.cpp" />
|
||||
<ClCompile Include="we_columnautoinc.cpp" />
|
||||
<ClCompile Include="we_columninfo.cpp" />
|
||||
<ClCompile Include="we_columninfocompressed.cpp" />
|
||||
<ClCompile Include="we_extentstripealloc.cpp" />
|
||||
<ClCompile Include="we_tableinfo.cpp" />
|
||||
<ClCompile Include="we_tempxmlgendata.cpp" />
|
||||
<ClCompile Include="we_workers.cpp" />
|
||||
<ClCompile Include="..\xml\we_xmljob.cpp" />
|
||||
<ClCompile Include="..\xml\we_xmlop.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="we_brmreporter.h" />
|
||||
<ClInclude Include="we_bulkload.h" />
|
||||
<ClInclude Include="we_bulkloadbuffer.h" />
|
||||
<ClInclude Include="we_bulkstatus.h" />
|
||||
<ClInclude Include="we_colbuf.h" />
|
||||
<ClInclude Include="we_colbufcompressed.h" />
|
||||
<ClInclude Include="we_colbufmgr.h" />
|
||||
<ClInclude Include="we_colbufsec.h" />
|
||||
<ClInclude Include="we_colextinf.h" />
|
||||
<ClInclude Include="we_colopbulk.h" />
|
||||
<ClInclude Include="we_columnautoinc.h" />
|
||||
<ClInclude Include="we_columninfo.h" />
|
||||
<ClInclude Include="we_columninfocompressed.h" />
|
||||
<ClInclude Include="we_extentstripealloc.h" />
|
||||
<ClInclude Include="we_tableinfo.h" />
|
||||
<ClInclude Include="we_tempxmlgendata.h" />
|
||||
<ClInclude Include="..\xml\we_xmljob.h" />
|
||||
<ClInclude Include="..\xml\we_xmlop.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="cpimport.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\dbcon\execplan\libexecplan.vcxproj">
|
||||
<Project>{ffcce773-27fa-4f4d-9e28-2208be6348da}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\dbcon\joblist\libjoblist.vcxproj">
|
||||
<Project>{cba13ef7-eca1-42f4-8ce2-9e18e24dcde2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\oam\oamcpp\liboamcpp.vcxproj">
|
||||
<Project>{8f7c9b67-639c-468f-8c5a-eb5f2e944e64}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\cacheutils\libcacheutils.vcxproj">
|
||||
<Project>{b44be805-2019-4fcb-b213-45f1d7a73ccd}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\common\libcommon.vcxproj">
|
||||
<Project>{004899a2-3cab-4796-b030-34a20ac285c9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\compress\libcompress-ent.vcxproj">
|
||||
<Project>{0b72a604-0755-4e2c-b74b-c93564847114}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\configcpp\libconfigcpp.vcxproj">
|
||||
<Project>{c543c9a1-b4e0-4bad-9fc2-2afeea952fc5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\dataconvert\libdataconvert.vcxproj">
|
||||
<Project>{ab342a0e-604e-4bbc-b43e-08df3fa37f9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\funcexp\libfuncexp.vcxproj">
|
||||
<Project>{9ae60d66-99f6-4ccb-902d-3814a12ae0a9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\idbdatafile\idbdatafile.vcxproj">
|
||||
<Project>{4c8231d7-7a87-4650-aa9c-d7650c1d03ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\loggingcpp\libloggingcpp.vcxproj">
|
||||
<Project>{07230df5-10e9-469e-8075-c0978c0460ad}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\messageqcpp\libmessageqcpp.vcxproj">
|
||||
<Project>{226d1f60-1e33-401b-a333-d583af69b86e}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\querytele\libquerytele.vcxproj">
|
||||
<Project>{599e3c29-63ba-4f25-aeae-bf413ad93312}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\rowgroup\librowgroup.vcxproj">
|
||||
<Project>{054cfc82-a54e-4ea5-8ce7-1281d2ed9ece}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\rwlock\librwlock.vcxproj">
|
||||
<Project>{5362725e-bb90-44a3-9d13-3de9b5041ad2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\startup\libidbboot.vcxproj">
|
||||
<Project>{b62b74b4-4621-4cf2-ac06-fb84d9cca66f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\udfsdk\libudfsdk.vcxproj">
|
||||
<Project>{021a7045-6334-478f-9a4c-79f8200b504a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\versioning\BRM\libbrm.vcxproj">
|
||||
<Project>{a13e870a-7a9e-4027-8e17-204398225361}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\client\libweclient.vcxproj">
|
||||
<Project>{4bc37219-e09d-4133-98c4-cf0386657df6}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libwriteengine.vcxproj">
|
||||
<Project>{414a47eb-55e3-4251-99b0-95d86fe5580d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,146 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="cpimport.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_brmreporter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_bulkload.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_bulkloadbuffer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_bulkstatus.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colbuf.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colbufcompressed.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colbufmgr.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colbufmgrdctnry.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colbufsec.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colextinf.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_colopbulk.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_columnautoinc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_columninfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_columninfocompressed.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_extentstripealloc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_tableinfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_tempxmlgendata.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_workers.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\xml\we_xmljob.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\xml\we_xmlop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_brmreporter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_bulkload.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_bulkloadbuffer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_bulkstatus.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_colbuf.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_colbufcompressed.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_colbufmgr.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_colbufsec.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_colextinf.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_colopbulk.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_columnautoinc.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_columninfo.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_columninfocompressed.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_extentstripealloc.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_tableinfo.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_tempxmlgendata.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\xml\we_xmljob.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\xml\we_xmlop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="cpimport.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -321,7 +321,7 @@ void BRMReporter::sendCPToFile( )
|
||||
void BRMReporter::reportTotals(
|
||||
uint64_t totalReadRows,
|
||||
uint64_t totalInsertedRows,
|
||||
const std::vector<boost::tuple<CalpontSystemCatalog::ColDataType, uint64_t, uint64_t> >& satCounts)
|
||||
const std::vector<boost::tuple<execplan::CalpontSystemCatalog::ColDataType, uint64_t, uint64_t> >& satCounts)
|
||||
{
|
||||
if (fRptFile.is_open())
|
||||
{
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
|
||||
#include "brmtypes.h"
|
||||
#include "calpontsystemcatalog.h"
|
||||
using namespace execplan;
|
||||
/** @file
|
||||
* class BRMReporter
|
||||
*/
|
||||
@@ -107,7 +106,7 @@ public:
|
||||
*/
|
||||
void reportTotals(uint64_t totalReadRows,
|
||||
uint64_t totalInsertedRows,
|
||||
const std::vector<boost::tuple<CalpontSystemCatalog::ColDataType,
|
||||
const std::vector<boost::tuple<execplan::CalpontSystemCatalog::ColDataType,
|
||||
uint64_t, uint64_t> >& satCounts);
|
||||
|
||||
/** @brief Generate report for job that exceeds error limit
|
||||
|
||||
@@ -475,7 +475,7 @@ int BulkLoad::preProcess( Job& job, int tableNo,
|
||||
int rc = NO_ERROR, minWidth = 9999; // give a big number
|
||||
HWM minHWM = 999999; // rp 9/25/07 Bug 473
|
||||
ColStruct curColStruct;
|
||||
CalpontSystemCatalog::ColDataType colDataType;
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType;
|
||||
|
||||
// Initialize portions of TableInfo object
|
||||
tableInfo->setBufferSize(fBufferSize);
|
||||
|
||||
@@ -64,7 +64,7 @@ class BulkLoad : public FileOp
|
||||
public:
|
||||
|
||||
/**
|
||||
* @brief BulkLoad onstructor
|
||||
* @brief BulkLoad constructor
|
||||
*/
|
||||
EXPORT BulkLoad();
|
||||
|
||||
|
||||
@@ -444,7 +444,7 @@ void BulkLoadBuffer::convert(char* field, int fieldLength,
|
||||
{
|
||||
memcpy(&dVal, field, sizeof(dVal));
|
||||
|
||||
if ( isnan(dVal) )
|
||||
if ( std::isnan(dVal) )
|
||||
{
|
||||
if (signbit(dVal))
|
||||
dVal = column.fMinDblSat;
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "we_columninfo.h"
|
||||
#include "we_log.h"
|
||||
#include "we_stats.h"
|
||||
#include "we_blockop.h"
|
||||
#include <string.h>
|
||||
#include "IDBDataFile.h"
|
||||
using namespace idbdatafile;
|
||||
@@ -100,24 +101,47 @@ void ColumnBuffer::resizeAndCopy(int newSize, int startOffset, int endOffset)
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Write data stored up in the output buffer to the segment column file.
|
||||
// fillUpWEmpties is set when CS finishes with writing to add extra empty
|
||||
// magics to fill up the block to its boundary.
|
||||
//------------------------------------------------------------------------------
|
||||
int ColumnBuffer::writeToFile(int startOffset, int writeSize)
|
||||
int ColumnBuffer::writeToFile(int startOffset, int writeSize, bool fillUpWEmpties)
|
||||
{
|
||||
if (writeSize == 0) // skip unnecessary write, if 0 bytes given
|
||||
return NO_ERROR;
|
||||
|
||||
unsigned char *newBuf = NULL;
|
||||
|
||||
if ( fillUpWEmpties )
|
||||
{
|
||||
BlockOp blockOp;
|
||||
newBuf = new unsigned char[BYTE_PER_BLOCK];
|
||||
uint64_t EmptyValue = blockOp.getEmptyRowValue(fColInfo->column.dataType,
|
||||
fColInfo->column.width);
|
||||
::memcpy(static_cast<void *>(newBuf),
|
||||
static_cast<const void *>(fBuffer + startOffset), writeSize);
|
||||
blockOp.setEmptyBuf(newBuf + writeSize, BYTE_PER_BLOCK - writeSize,
|
||||
EmptyValue, fColInfo->column.width);
|
||||
}
|
||||
#ifdef PROFILE
|
||||
Stats::startParseEvent(WE_STATS_WRITE_COL);
|
||||
#endif
|
||||
size_t nitems = fFile->write(fBuffer + startOffset, writeSize) / writeSize;
|
||||
size_t nitems;
|
||||
if ( fillUpWEmpties )
|
||||
nitems = fFile->write(newBuf, BYTE_PER_BLOCK) / BYTE_PER_BLOCK;
|
||||
else
|
||||
nitems = fFile->write(fBuffer + startOffset, writeSize) / writeSize;
|
||||
|
||||
if (nitems != 1)
|
||||
{
|
||||
delete newBuf;
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
|
||||
#ifdef PROFILE
|
||||
Stats::stopParseEvent(WE_STATS_WRITE_COL);
|
||||
#endif
|
||||
|
||||
delete newBuf;
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
||||
@@ -107,8 +107,11 @@ public:
|
||||
*
|
||||
* @param startOffset The buffer offset from where the write should begin
|
||||
* @param writeSize The number of bytes to be written to the file
|
||||
* @param fillUpWEmpties The flag to fill the buffer with empty magic values
|
||||
* up to the block boundary.
|
||||
*/
|
||||
virtual int writeToFile(int startOffset, int writeSize);
|
||||
virtual int writeToFile(int startOffset, int writeSize,
|
||||
bool fillUpWEmpties = false);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
@@ -167,11 +167,16 @@ int ColumnBufferCompressed::resetToBeCompressedColBuf(
|
||||
// file, and instead buffer up the data to be compressed in 4M chunks before
|
||||
// writing it out.
|
||||
//------------------------------------------------------------------------------
|
||||
int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize)
|
||||
int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize,
|
||||
bool fillUpWEmpties)
|
||||
{
|
||||
if (writeSize == 0) // skip unnecessary write, if 0 bytes given
|
||||
return NO_ERROR;
|
||||
|
||||
int fillUpWEmptiesWriteSize = 0;
|
||||
if (fillUpWEmpties)
|
||||
fillUpWEmptiesWriteSize = BYTE_PER_BLOCK - writeSize % BYTE_PER_BLOCK;
|
||||
|
||||
// If we are starting a new file, we need to reinit the buffer and
|
||||
// find out what our file offset should be set to.
|
||||
if (!fToBeCompressedCapacity)
|
||||
@@ -219,7 +224,7 @@ int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize)
|
||||
// Expand the compression buffer size if working with an abbrev extent, and
|
||||
// the bytes we are about to add will overflow the abbreviated extent.
|
||||
if ((fToBeCompressedCapacity < IDBCompressInterface::UNCOMPRESSED_INBUF_LEN) &&
|
||||
((fNumBytes + writeSize) > fToBeCompressedCapacity) )
|
||||
((fNumBytes + writeSize + fillUpWEmptiesWriteSize) > fToBeCompressedCapacity) )
|
||||
{
|
||||
std::ostringstream oss;
|
||||
oss << "Expanding abbrev to-be-compressed buffer for: OID-" <<
|
||||
@@ -231,7 +236,7 @@ int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize)
|
||||
fToBeCompressedCapacity = IDBCompressInterface::UNCOMPRESSED_INBUF_LEN;
|
||||
}
|
||||
|
||||
if ((fNumBytes + writeSize) <= fToBeCompressedCapacity)
|
||||
if ((fNumBytes + writeSize + fillUpWEmptiesWriteSize) <= fToBeCompressedCapacity)
|
||||
{
|
||||
if (fLog->isDebug( DEBUG_2 ))
|
||||
{
|
||||
@@ -242,12 +247,14 @@ int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize)
|
||||
"; part-" << fColInfo->curCol.dataFile.fPartition <<
|
||||
"; seg-" << fColInfo->curCol.dataFile.fSegment <<
|
||||
"; addBytes-" << writeSize <<
|
||||
"; extraBytes-" << fillUpWEmptiesWriteSize <<
|
||||
"; totBytes-" << (fNumBytes + writeSize);
|
||||
fLog->logMsg( oss.str(), MSGLVL_INFO2 );
|
||||
}
|
||||
|
||||
memcpy(bufOffset, (fBuffer + startOffset), writeSize);
|
||||
fNumBytes += writeSize;
|
||||
fNumBytes += fillUpWEmptiesWriteSize;
|
||||
}
|
||||
else // Not enough room to add all the data to the to-be-compressed buffer
|
||||
{
|
||||
@@ -338,6 +345,7 @@ int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize)
|
||||
|
||||
memcpy(bufOffset, (fBuffer + startOffsetX), writeSizeOut);
|
||||
fNumBytes += writeSizeOut;
|
||||
fNumBytes += fillUpWEmptiesWriteSize;
|
||||
}
|
||||
|
||||
startOffsetX += writeSizeOut;
|
||||
@@ -347,7 +355,6 @@ int ColumnBufferCompressed::writeToFile(int startOffset, int writeSize)
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Compress and write out the data in the to-be-compressed buffer.
|
||||
// Also may write out the compression header.
|
||||
|
||||
@@ -83,8 +83,11 @@ public:
|
||||
*
|
||||
* @param startOffset The buffer offset from where the write should begin
|
||||
* @param writeSize The number of bytes to be written to the file
|
||||
* @param fillUpWEmpties The flag to fill the buffer with empty magic
|
||||
* values up to the block boundary.
|
||||
*/
|
||||
virtual int writeToFile(int startOffset, int writeSize);
|
||||
virtual int writeToFile(int startOffset, int writeSize,
|
||||
bool fillUpWEmpties = false);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace
|
||||
{
|
||||
// Minimum time to wait for a condition, so as to periodically wake up and
|
||||
// check the global job status, to see if the job needs to terminate.
|
||||
const int COND_WAIT_SECONDS = 3;
|
||||
const int COND_WAIT_SECONDS = 1;
|
||||
}
|
||||
|
||||
namespace WriteEngine
|
||||
@@ -521,7 +521,9 @@ int ColumnBufferManager::writeToFile(int endOffset)
|
||||
// and the remaining buffer data will be written to the next segment file in
|
||||
// the DBRoot, partition, segement number sequence.
|
||||
// This function also catches and handles the case where an abbreviated
|
||||
// extent needs to be expanded to a full extent on disk.
|
||||
// extent needs to be expanded to a full extent on disk. When fillUpWEmpties is
|
||||
// set then CS finishes with writing and has to fill with magics this block
|
||||
// up to its boundary.
|
||||
//
|
||||
// WARNING: This means this function may change the information in the
|
||||
// ColumnInfo struct that owns this ColumnBufferManager, if a
|
||||
@@ -529,7 +531,7 @@ int ColumnBufferManager::writeToFile(int endOffset)
|
||||
// internal buffer, or if an abbreviated extent is expanded.
|
||||
//------------------------------------------------------------------------------
|
||||
int ColumnBufferManager::writeToFileExtentCheck(
|
||||
uint32_t startOffset, uint32_t writeSize)
|
||||
uint32_t startOffset, uint32_t writeSize, bool fillUpWEmpties)
|
||||
{
|
||||
|
||||
if (fLog->isDebug( DEBUG_3 ))
|
||||
@@ -571,7 +573,7 @@ int ColumnBufferManager::writeToFileExtentCheck(
|
||||
|
||||
if (availableFileSize >= writeSize)
|
||||
{
|
||||
int rc = fCBuf->writeToFile(startOffset, writeSize);
|
||||
int rc = fCBuf->writeToFile(startOffset, writeSize, fillUpWEmpties);
|
||||
|
||||
if (rc != NO_ERROR)
|
||||
{
|
||||
@@ -583,6 +585,12 @@ int ColumnBufferManager::writeToFileExtentCheck(
|
||||
return rc;
|
||||
}
|
||||
|
||||
// MCOL-498 Fill this block up to its boundary.
|
||||
if ( fillUpWEmpties )
|
||||
{
|
||||
writeSize = BLOCK_SIZE;
|
||||
}
|
||||
|
||||
fColInfo->updateBytesWrittenCounts( writeSize );
|
||||
}
|
||||
else
|
||||
@@ -624,7 +632,7 @@ int ColumnBufferManager::writeToFileExtentCheck(
|
||||
}
|
||||
|
||||
int writeSize2 = writeSize - writeSize1;
|
||||
fCBuf->writeToFile(startOffset + writeSize1, writeSize2);
|
||||
rc = fCBuf->writeToFile(startOffset + writeSize1, writeSize2, fillUpWEmpties);
|
||||
|
||||
if (rc != NO_ERROR)
|
||||
{
|
||||
@@ -636,6 +644,12 @@ int ColumnBufferManager::writeToFileExtentCheck(
|
||||
return rc;
|
||||
}
|
||||
|
||||
// MCOL-498 Fill this block up to its boundary.
|
||||
if ( fillUpWEmpties )
|
||||
{
|
||||
writeSize2 = BLOCK_SIZE;
|
||||
}
|
||||
|
||||
fColInfo->updateBytesWrittenCounts( writeSize2 );
|
||||
}
|
||||
|
||||
@@ -643,7 +657,8 @@ int ColumnBufferManager::writeToFileExtentCheck(
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Flush the contents of internal fCBuf (column buffer) to disk.
|
||||
// Flush the contents of internal fCBuf (column buffer) to disk. If CS flushes
|
||||
// less then BLOCK_SIZE bytes then it propagates this event down the stack.
|
||||
//------------------------------------------------------------------------------
|
||||
int ColumnBufferManager::flush( )
|
||||
{
|
||||
@@ -668,17 +683,22 @@ int ColumnBufferManager::flush( )
|
||||
|
||||
int bufferSize = fCBuf->getSize();
|
||||
|
||||
// MCOL-498 There are less the BLOCK_SIZE bytes in the buffer left
|
||||
// so propagate this info down the stack to fill the buffer up
|
||||
// with empty magics.
|
||||
// Account for circular buffer by making 2 calls to write the data,
|
||||
// if we are wrapping around at the end of the buffer.
|
||||
if (fBufFreeOffset < fBufWriteOffset)
|
||||
{
|
||||
RETURN_ON_ERROR( writeToFileExtentCheck(
|
||||
fBufWriteOffset, bufferSize - fBufWriteOffset) );
|
||||
bool fillUpWEmpties = ( static_cast<unsigned int>(bufferSize - fBufWriteOffset) >= BLOCK_SIZE )
|
||||
? false : true;
|
||||
RETURN_ON_ERROR( writeToFileExtentCheck( fBufWriteOffset,
|
||||
bufferSize - fBufWriteOffset, fillUpWEmpties) );
|
||||
fBufWriteOffset = 0;
|
||||
}
|
||||
|
||||
// MCOL-498 fill the buffer up with empty magics.
|
||||
RETURN_ON_ERROR( writeToFileExtentCheck(
|
||||
fBufWriteOffset, fBufFreeOffset - fBufWriteOffset) );
|
||||
fBufWriteOffset, fBufFreeOffset - fBufWriteOffset, true) );
|
||||
fBufWriteOffset = fBufFreeOffset;
|
||||
|
||||
return NO_ERROR;
|
||||
|
||||
@@ -193,9 +193,12 @@ protected:
|
||||
* write out the buffer.
|
||||
* @param startOffset The buffer offset where the write should begin
|
||||
* @param writeSize The number of bytes to be written to the file
|
||||
* @param fillUpWEmpties The flag to fill the buffer with NULLs up to
|
||||
* the block boundary.
|
||||
* @return success or fail status
|
||||
*/
|
||||
virtual int writeToFileExtentCheck(uint32_t startOffset, uint32_t writeSize);
|
||||
virtual int writeToFileExtentCheck(uint32_t startOffset, uint32_t writeSize,
|
||||
bool fillUpWEmpties = false);
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Protected Data Members
|
||||
|
||||
@@ -958,7 +958,7 @@ void TableInfo::reportTotals(double elapsedTime)
|
||||
fLog->logMsg(oss2.str(), MSGLVL_INFO2);
|
||||
|
||||
// @bug 3504: Loop through columns to print saturation counts
|
||||
std::vector<boost::tuple<CalpontSystemCatalog::ColDataType, uint64_t, uint64_t> > satCounts;
|
||||
std::vector<boost::tuple<execplan::CalpontSystemCatalog::ColDataType, uint64_t, uint64_t> > satCounts;
|
||||
|
||||
for (unsigned i = 0; i < fColumns.size(); ++i)
|
||||
{
|
||||
@@ -978,35 +978,34 @@ void TableInfo::reportTotals(double elapsedTime)
|
||||
ossSatCnt << "Column " << fTableName << '.' <<
|
||||
fColumns[i].column.colName << "; Number of ";
|
||||
|
||||
if (fColumns[i].column.dataType == CalpontSystemCatalog::DATE)
|
||||
if (fColumns[i].column.dataType == execplan::CalpontSystemCatalog::DATE)
|
||||
{
|
||||
ossSatCnt <<
|
||||
"invalid dates replaced with zero value : ";
|
||||
}
|
||||
else if (fColumns[i].column.dataType ==
|
||||
CalpontSystemCatalog::DATETIME)
|
||||
execplan::CalpontSystemCatalog::DATETIME)
|
||||
{
|
||||
//bug5383
|
||||
ossSatCnt <<
|
||||
"invalid date/times replaced with zero value : ";
|
||||
}
|
||||
|
||||
else if (fColumns[i].column.dataType == CalpontSystemCatalog::TIMESTAMP)
|
||||
{
|
||||
ossSatCnt <<
|
||||
"invalid timestamps replaced with zero value : ";
|
||||
}
|
||||
else if (fColumns[i].column.dataType == CalpontSystemCatalog::TIME)
|
||||
else if (fColumns[i].column.dataType == execplan::CalpontSystemCatalog::TIME)
|
||||
{
|
||||
ossSatCnt <<
|
||||
"invalid times replaced with zero value : ";
|
||||
}
|
||||
else if (fColumns[i].column.dataType == CalpontSystemCatalog::CHAR)
|
||||
ossSatCnt <<
|
||||
"character strings truncated: ";
|
||||
else if (fColumns[i].column.dataType ==
|
||||
CalpontSystemCatalog::VARCHAR)
|
||||
else if (fColumns[i].column.dataType == execplan::CalpontSystemCatalog::CHAR)
|
||||
ossSatCnt <<
|
||||
"character strings truncated: ";
|
||||
else if (fColumns[i].column.dataType == execplan::CalpontSystemCatalog::VARCHAR)
|
||||
ossSatCnt << "character strings truncated: ";
|
||||
else
|
||||
ossSatCnt <<
|
||||
"rows inserted with saturated values: ";
|
||||
@@ -1469,9 +1468,11 @@ void TableInfo::writeBadRows( const std::vector<std::string>* errorDatRows,
|
||||
|
||||
if (!p.has_root_path())
|
||||
{
|
||||
// We could fail here having fixed size buffer
|
||||
char cwdPath[4096];
|
||||
getcwd(cwdPath, sizeof(cwdPath));
|
||||
boost::filesystem::path rejectFileName2( cwdPath );
|
||||
char* buffPtr = &cwdPath[0];
|
||||
buffPtr = getcwd(cwdPath, sizeof(cwdPath));
|
||||
boost::filesystem::path rejectFileName2( buffPtr );
|
||||
rejectFileName2 /= fRejectDataFileName;
|
||||
fBadFiles.push_back( rejectFileName2.string() );
|
||||
|
||||
@@ -1576,8 +1577,9 @@ void TableInfo::writeErrReason( const std::vector< std::pair<RID,
|
||||
if (!p.has_root_path())
|
||||
{
|
||||
char cwdPath[4096];
|
||||
getcwd(cwdPath, sizeof(cwdPath));
|
||||
boost::filesystem::path errFileName2( cwdPath );
|
||||
char* buffPtr = &cwdPath[0];
|
||||
buffPtr = getcwd(cwdPath, sizeof(cwdPath));
|
||||
boost::filesystem::path errFileName2( buffPtr );
|
||||
errFileName2 /= fRejectErrFileName;
|
||||
fErrFiles.push_back( errFileName2.string() );
|
||||
|
||||
|
||||
@@ -1,216 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|Win32">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|x64">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{4BC37219-E09D-4133-98C4-CF0386657DF6}</ProjectGuid>
|
||||
<RootNamespace>libweclient</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\dbcon\ddlpackageproc;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\compress;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\dbcon\ddlpackageproc;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\compress;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\dbcon\ddlpackageproc;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\compress;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_IDB_COMPRESSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\dbcon\ddlpackageproc;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\compress;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_IDB_COMPRESSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\dbcon\ddlpackageproc;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\compress;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\dbcon\ddlpackageproc;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\compress;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="we_clients.cpp" />
|
||||
<ClCompile Include="we_ddlcommandclient.cpp" />
|
||||
<ClCompile Include="we_dmlcommandclient.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="we_clients.h" />
|
||||
<ClInclude Include="we_ddlcommandclient.h" />
|
||||
<ClInclude Include="we_dmlcommandclient.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,39 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="we_clients.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_ddlcommandclient.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_dmlcommandclient.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="we_clients.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_ddlcommandclient.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_dmlcommandclient.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,44 +1,3 @@
|
||||
|
||||
include_directories(${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install(FILES we_dctnry.h DESTINATION include)
|
||||
|
||||
|
||||
|
||||
#original Makefile.am contents follow:
|
||||
|
||||
## Copyright (C) 2014 InfiniDB, Inc.
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
## as published by the Free Software Foundation; version 2 of
|
||||
## the License.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
## MA 02110-1301, USA.
|
||||
#
|
||||
## $Id: Makefile.am 864 2009-04-02 19:22:49Z rdempsey $
|
||||
### Process this file with automake to produce Makefile.in
|
||||
#
|
||||
#include_HEADERS = we_dctnry.h
|
||||
#
|
||||
#test:
|
||||
#
|
||||
#coverage:
|
||||
#
|
||||
#leakcheck:
|
||||
#
|
||||
#docs:
|
||||
#
|
||||
#bootstrap: install-data-am
|
||||
#
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <inttypes.h>
|
||||
#include <iostream>
|
||||
@@ -108,7 +109,6 @@ Dctnry::Dctnry() :
|
||||
&m_endHeader, HDR_UNIT_SIZE);
|
||||
m_curFbo = INVALID_NUM;
|
||||
m_curLbid = INVALID_LBID;
|
||||
memset(m_sigArray, 0, MAX_STRING_CACHE_SIZE * sizeof(Signature));
|
||||
m_arraySize = 0;
|
||||
|
||||
clear();//files
|
||||
@@ -130,14 +130,16 @@ Dctnry::~Dctnry()
|
||||
******************************************************************************/
|
||||
void Dctnry::freeStringCache( )
|
||||
{
|
||||
for (int i = 0; i < m_arraySize; i++)
|
||||
std::set<Signature,sig_compare>::iterator it;
|
||||
for (it=m_sigArray.begin(); it!=m_sigArray.end(); it++)
|
||||
{
|
||||
delete [] m_sigArray[i].signature;
|
||||
m_sigArray[i].signature = 0;
|
||||
Signature sig = *it;
|
||||
delete [] sig.signature;
|
||||
sig.signature = 0;
|
||||
}
|
||||
|
||||
memset(m_sigArray, 0, MAX_STRING_CACHE_SIZE * sizeof(Signature));
|
||||
m_arraySize = 0;
|
||||
m_sigArray.clear();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
@@ -161,7 +163,6 @@ int Dctnry::init()
|
||||
m_curOp = 0;
|
||||
memset( m_curBlock.data, 0, sizeof(m_curBlock.data));
|
||||
m_curBlock.lbid = INVALID_LBID;
|
||||
memset(m_sigArray, 0, MAX_STRING_CACHE_SIZE * sizeof(Signature));
|
||||
m_arraySize = 0;
|
||||
|
||||
return NO_ERROR;
|
||||
@@ -259,12 +260,15 @@ int Dctnry::createDctnry( const OID& dctnryOID, int colWidth,
|
||||
|
||||
if ( m_dFile != NULL )
|
||||
{
|
||||
// MCOL-498 CS optimizes abbreviated extent
|
||||
// creation.
|
||||
rc = FileOp::initDctnryExtent( m_dFile,
|
||||
m_dbRoot,
|
||||
totalSize,
|
||||
m_dctnryHeader2,
|
||||
m_totalHdrBytes,
|
||||
false );
|
||||
false,
|
||||
true ); // explicitly optimize
|
||||
|
||||
if (rc != NO_ERROR)
|
||||
{
|
||||
@@ -329,7 +333,8 @@ int Dctnry::expandDctnryExtent()
|
||||
blksToAdd,
|
||||
m_dctnryHeader2,
|
||||
m_totalHdrBytes,
|
||||
true );
|
||||
true,
|
||||
true ); // explicitly optimize
|
||||
|
||||
if (rc != NO_ERROR)
|
||||
return rc;
|
||||
@@ -623,19 +628,17 @@ int Dctnry::openDctnry(const OID& dctnryOID,
|
||||
******************************************************************************/
|
||||
bool Dctnry::getTokenFromArray(Signature& sig)
|
||||
{
|
||||
for (int i = 0; i < (int)m_arraySize ; i++ )
|
||||
{
|
||||
if (sig.size == m_sigArray[i].size)
|
||||
{
|
||||
if (!memcmp(sig.signature, m_sigArray[i].signature, sig.size))
|
||||
{
|
||||
sig.token = m_sigArray[i].token;
|
||||
return true;
|
||||
}//endif sig compare
|
||||
}//endif size compare
|
||||
}
|
||||
std::set<Signature,sig_compare>::iterator it;
|
||||
it = m_sigArray.find(sig);
|
||||
if ( it == m_sigArray.end()){
|
||||
return false;
|
||||
}else{
|
||||
Signature sigfound = *it;
|
||||
sig.token = sigfound.token;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
@@ -804,7 +807,8 @@ int Dctnry::insertDctnry(const char* buf,
|
||||
while (startPos < totalRow)
|
||||
{
|
||||
found = false;
|
||||
memset(&curSig, 0, sizeof(curSig));
|
||||
void *curSigPtr = static_cast<void*>(&curSig);
|
||||
memset(curSigPtr, 0, sizeof(curSig));
|
||||
curSig.size = pos[startPos][col].offset;
|
||||
|
||||
// Strip trailing null bytes '\0' (by adjusting curSig.size) if import-
|
||||
@@ -1318,7 +1322,8 @@ void Dctnry::preLoadStringCache( const DataBlock& fileBlock )
|
||||
|
||||
int op = 1; // ordinal position of the string within the block
|
||||
Signature aSig;
|
||||
memset( &aSig, 0, sizeof(Signature));
|
||||
void *aSigPtr = static_cast<void*>(&aSig);
|
||||
memset(aSigPtr, 0, sizeof(aSig));
|
||||
|
||||
while ((offBeg != DCTNRY_END_HEADER) &&
|
||||
(op <= MAX_STRING_CACHE_SIZE))
|
||||
@@ -1329,7 +1334,7 @@ void Dctnry::preLoadStringCache( const DataBlock& fileBlock )
|
||||
memcpy(aSig.signature, &fileBlock.data[offBeg], len);
|
||||
aSig.token.op = op;
|
||||
aSig.token.fbo = m_curLbid;
|
||||
m_sigArray[op - 1] = aSig;
|
||||
m_sigArray.insert(aSig);
|
||||
|
||||
offEnd = offBeg;
|
||||
hdrOffsetBeg += HDR_UNIT_SIZE;
|
||||
@@ -1362,13 +1367,15 @@ void Dctnry::preLoadStringCache( const DataBlock& fileBlock )
|
||||
******************************************************************************/
|
||||
void Dctnry::addToStringCache( const Signature& newSig )
|
||||
{
|
||||
// We better add constructors that sets everything to 0;
|
||||
Signature asig;
|
||||
memset(&asig, 0, sizeof(Signature));
|
||||
void *aSigPtr = static_cast<void*>(&asig);
|
||||
memset(aSigPtr, 0, sizeof(asig));
|
||||
asig.signature = new unsigned char[newSig.size];
|
||||
memcpy(asig.signature, newSig.signature, newSig.size );
|
||||
asig.size = newSig.size;
|
||||
asig.token = newSig.token;
|
||||
m_sigArray[m_arraySize] = asig;
|
||||
m_sigArray.insert(asig);
|
||||
m_arraySize++;
|
||||
}
|
||||
|
||||
@@ -1461,7 +1468,7 @@ int Dctnry::updateDctnry(unsigned char* sigValue, int& sigSize,
|
||||
sig.signature = new unsigned char[sigSize];
|
||||
memcpy (sig.signature, sigValue, sigSize);
|
||||
sig.token = token;
|
||||
m_sigArray[m_arraySize] = sig;
|
||||
m_sigArray.insert(sig);
|
||||
m_arraySize++;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,17 @@ typedef struct Signature
|
||||
Token token;
|
||||
} Signature;
|
||||
|
||||
struct sig_compare {
|
||||
bool operator() (const Signature& a, const Signature& b) const {
|
||||
if (a.size == b.size){
|
||||
return memcmp(a.signature,b.signature,a.size)<0;}
|
||||
else if (a.size<b.size){
|
||||
return true;
|
||||
}else{ return false;}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief Class to interface with dictionary store files.
|
||||
*/
|
||||
@@ -132,6 +143,10 @@ public:
|
||||
{
|
||||
return m_curLbid;
|
||||
}
|
||||
const unsigned char* getDctnryHeader2() const
|
||||
{
|
||||
return m_dctnryHeader2;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Insert a signature value to a file block and return token/pointer.
|
||||
@@ -222,6 +237,17 @@ public:
|
||||
{
|
||||
return NO_ERROR;
|
||||
}
|
||||
/**
|
||||
* @brief Use this only in Unit Tests and not in prod
|
||||
*/
|
||||
virtual IDBDataFile* createDctnryFileUnit(const char* name,
|
||||
int width,
|
||||
const char* mode,
|
||||
int ioBuffSize)
|
||||
{
|
||||
return createDctnryFile(name, width, mode, ioBuffSize);
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Protected members
|
||||
@@ -285,7 +311,7 @@ protected:
|
||||
virtual void closeDctnryFile(bool doFlush, std::map<FID, FID>& oids);
|
||||
virtual int numOfBlocksInFile();
|
||||
|
||||
Signature m_sigArray[MAX_STRING_CACHE_SIZE]; // string cache
|
||||
std::set<Signature,sig_compare> m_sigArray;
|
||||
int m_arraySize; // num strings in m_sigArray
|
||||
|
||||
// m_dctnryHeader used for hdr when readSubBlockEntry is used to read a blk
|
||||
|
||||
@@ -133,7 +133,7 @@ const int DctnryStore::updateDctnryStore(unsigned char* sigValue,
|
||||
sig.signature = new unsigned char[sigSize];
|
||||
memcpy (sig.signature, sigValue, sigSize);
|
||||
sig.token = token;
|
||||
m_dctnry.m_sigArray[m_dctnry.m_arraySize] = sig;
|
||||
m_dctnry.m_sigArray.insert(sig) = sig;
|
||||
m_dctnry.m_arraySize++;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,392 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|Win32">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|x64">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{414A47EB-55E3-4251-99B0-95D86FE5580D}</ProjectGuid>
|
||||
<RootNamespace>libwriteengine</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\dmlib;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WRITEENGINE_DLLEXPORT;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\dmlib;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WRITEENGINE_DLLEXPORT;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Debug;$(SolutionDir)..\..\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\dmlib;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WRITEENGINE_DLLEXPORT;_CRT_SECURE_NO_WARNINGS;SKIP_IDB_COMPRESSION;SKIP_AUTOI;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\dmlib;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WRITEENGINE_DLLEXPORT;_CRT_SECURE_NO_WARNINGS;SKIP_IDB_COMPRESSION;SKIP_AUTOI;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;C:$(SolutionDir)..\..x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Write Engine API" $(SolutionDir)..\..x64\Release\libwriteengine.dll</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\dmlib;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WRITEENGINE_DLLEXPORT;_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\dmlib;$(SolutionDir)..\writeengine\index;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\utils\compress;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\writeengine\xml;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WRITEENGINE_DLLEXPORT;_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4244;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;$(SolutionDir)..\..\x64\EnterpriseRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Write Engine API" $(SolutionDir)..\..\x64\EnterpriseRelease\libwriteengine.dll</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="shared\we_blockop.cpp" />
|
||||
<ClCompile Include="shared\we_brm.cpp" />
|
||||
<ClCompile Include="shared\we_bulkrollbackfile.cpp" />
|
||||
<ClCompile Include="shared\we_bulkrollbackfilecompressed.cpp" />
|
||||
<ClCompile Include="shared\we_bulkrollbackfilecompressedhdfs.cpp" />
|
||||
<ClCompile Include="shared\we_bulkrollbackmgr.cpp" />
|
||||
<ClCompile Include="shared\we_cache.cpp" />
|
||||
<ClCompile Include="shared\we_chunkmanager.cpp" />
|
||||
<ClCompile Include="shared\we_confirmhdfsdbfile.cpp" />
|
||||
<ClCompile Include="wrapper\we_colop.cpp" />
|
||||
<ClCompile Include="wrapper\we_colopcompress.cpp" />
|
||||
<ClCompile Include="shared\we_config.cpp" />
|
||||
<ClCompile Include="shared\we_convertor.cpp" />
|
||||
<ClCompile Include="shared\we_dbfileop.cpp" />
|
||||
<ClCompile Include="shared\we_dbrootextenttracker.cpp" />
|
||||
<ClCompile Include="dictionary\we_dctnry.cpp" />
|
||||
<ClCompile Include="wrapper\we_dctnrycompress.cpp" />
|
||||
<ClCompile Include="shared\we_define.cpp" />
|
||||
<ClCompile Include="shared\we_fileop.cpp" />
|
||||
<ClCompile Include="shared\we_log.cpp" />
|
||||
<ClCompile Include="shared\we_rbmetawriter.cpp" />
|
||||
<ClCompile Include="shared\we_simplesyslog.cpp" />
|
||||
<ClCompile Include="shared\we_stats.cpp" />
|
||||
<ClCompile Include="wrapper\we_tablemetadata.cpp" />
|
||||
<ClCompile Include="xml\we_xmlgendata.cpp" />
|
||||
<ClCompile Include="xml\we_xmlgenproc.cpp" />
|
||||
<ClCompile Include="wrapper\writeengine.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="shared\we_blockop.h" />
|
||||
<ClInclude Include="shared\we_brm.h" />
|
||||
<ClInclude Include="shared\we_bulkrollbackfile.h" />
|
||||
<ClInclude Include="shared\we_bulkrollbackfilecompressed.h" />
|
||||
<ClInclude Include="shared\we_bulkrollbackfilecompressedhdfs.h" />
|
||||
<ClInclude Include="shared\we_bulkrollbackmgr.h" />
|
||||
<ClInclude Include="shared\we_cache.h" />
|
||||
<ClInclude Include="shared\we_chunkmanager.h" />
|
||||
<ClInclude Include="shared\we_confirmhdfsdbfile.h" />
|
||||
<ClInclude Include="wrapper\we_colop.h" />
|
||||
<ClInclude Include="wrapper\we_colopcompress.h" />
|
||||
<ClInclude Include="shared\we_config.h" />
|
||||
<ClInclude Include="shared\we_convertor.h" />
|
||||
<ClInclude Include="shared\we_dbfileop.h" />
|
||||
<ClInclude Include="shared\we_dbrootextenttracker.h" />
|
||||
<ClInclude Include="dictionary\we_dctnry.h" />
|
||||
<ClInclude Include="wrapper\we_dctnrycompress.h" />
|
||||
<ClInclude Include="shared\we_define.h" />
|
||||
<ClInclude Include="shared\we_fileop.h" />
|
||||
<ClInclude Include="shared\we_index.h" />
|
||||
<ClInclude Include="shared\we_log.h" />
|
||||
<ClInclude Include="shared\we_macro.h" />
|
||||
<ClInclude Include="shared\we_obj.h" />
|
||||
<ClInclude Include="shared\we_rbmetawriter.h" />
|
||||
<ClInclude Include="shared\we_simplesyslog.h" />
|
||||
<ClInclude Include="shared\we_stats.h" />
|
||||
<ClInclude Include="wrapper\we_tablemetadata.h" />
|
||||
<ClInclude Include="shared\we_type.h" />
|
||||
<ClInclude Include="shared\we_typeext.h" />
|
||||
<ClInclude Include="xml\we_xmlgendata.h" />
|
||||
<ClInclude Include="xml\we_xmlgenproc.h" />
|
||||
<ClInclude Include="wrapper\writeengine.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="libwriteengine.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\dbcon\execplan\libexecplan.vcxproj">
|
||||
<Project>{ffcce773-27fa-4f4d-9e28-2208be6348da}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\dbcon\joblist\libjoblist.vcxproj">
|
||||
<Project>{cba13ef7-eca1-42f4-8ce2-9e18e24dcde2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\oam\oamcpp\liboamcpp.vcxproj">
|
||||
<Project>{8f7c9b67-639c-468f-8c5a-eb5f2e944e64}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\cacheutils\libcacheutils.vcxproj">
|
||||
<Project>{b44be805-2019-4fcb-b213-45f1d7a73ccd}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\common\libcommon.vcxproj">
|
||||
<Project>{004899a2-3cab-4796-b030-34a20ac285c9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\compress\libcompress-ent.vcxproj">
|
||||
<Project>{0b72a604-0755-4e2c-b74b-c93564847114}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\configcpp\libconfigcpp.vcxproj">
|
||||
<Project>{c543c9a1-b4e0-4bad-9fc2-2afeea952fc5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\dataconvert\libdataconvert.vcxproj">
|
||||
<Project>{ab342a0e-604e-4bbc-b43e-08df3fa37f9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\funcexp\libfuncexp.vcxproj">
|
||||
<Project>{9ae60d66-99f6-4ccb-902d-3814a12ae0a9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\idbdatafile\idbdatafile.vcxproj">
|
||||
<Project>{4c8231d7-7a87-4650-aa9c-d7650c1d03ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\loggingcpp\libloggingcpp.vcxproj">
|
||||
<Project>{07230df5-10e9-469e-8075-c0978c0460ad}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\messageqcpp\libmessageqcpp.vcxproj">
|
||||
<Project>{226d1f60-1e33-401b-a333-d583af69b86e}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\querytele\libquerytele.vcxproj">
|
||||
<Project>{599e3c29-63ba-4f25-aeae-bf413ad93312}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\rowgroup\librowgroup.vcxproj">
|
||||
<Project>{054cfc82-a54e-4ea5-8ce7-1281d2ed9ece}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\rwlock\librwlock.vcxproj">
|
||||
<Project>{5362725e-bb90-44a3-9d13-3de9b5041ad2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\startup\libidbboot.vcxproj">
|
||||
<Project>{b62b74b4-4621-4cf2-ac06-fb84d9cca66f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\udfsdk\libudfsdk.vcxproj">
|
||||
<Project>{021a7045-6334-478f-9a4c-79f8200b504a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\utils\winport\libwinport.vcxproj">
|
||||
<Project>{4f0851d3-b782-4f12-b748-73efa2da586b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\versioning\BRM\libbrm.vcxproj">
|
||||
<Project>{a13e870a-7a9e-4027-8e17-204398225361}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,206 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="shared\we_blockop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_brm.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_bulkrollbackfile.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_bulkrollbackfilecompressed.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_bulkrollbackfilecompressedhdfs.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_bulkrollbackmgr.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_cache.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_chunkmanager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wrapper\we_colop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wrapper\we_colopcompress.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_config.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_convertor.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_dbfileop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_dbrootextenttracker.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="dictionary\we_dctnry.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wrapper\we_dctnrycompress.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_define.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_fileop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_log.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_rbmetawriter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_simplesyslog.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_stats.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wrapper\we_tablemetadata.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="xml\we_xmlgendata.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="xml\we_xmlgenproc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wrapper\writeengine.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="shared\we_confirmhdfsdbfile.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_blockop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_brm.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_bulkrollbackfile.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_bulkrollbackfilecompressed.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_bulkrollbackfilecompressedhdfs.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_bulkrollbackmgr.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_cache.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_chunkmanager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="wrapper\we_colop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="wrapper\we_colopcompress.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_config.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_convertor.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_dbfileop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_dbrootextenttracker.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="dictionary\we_dctnry.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="wrapper\we_dctnrycompress.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_define.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_fileop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_index.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_log.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_macro.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_obj.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_rbmetawriter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_simplesyslog.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_stats.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="wrapper\we_tablemetadata.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_type.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_typeext.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="xml\we_xmlgendata.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="xml\we_xmlgenproc.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="wrapper\writeengine.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="shared\we_confirmhdfsdbfile.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="libwriteengine.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -15,5 +15,8 @@ target_link_libraries(writeengineredistribute ${NETSNMP_LIBRARIES})
|
||||
|
||||
set_target_properties(writeengineredistribute PROPERTIES VERSION 1.0.0 SOVERSION 1)
|
||||
|
||||
target_compile_definitions(writeengineredistribute PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||
|
||||
|
||||
install(TARGETS writeengineredistribute DESTINATION ${ENGINE_LIBDIR} COMPONENT libs)
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ private:
|
||||
int executeRedistributePlan();
|
||||
|
||||
int connectToWes(int);
|
||||
void dumpPlanToFile(uint64_t, vector<PartitionInfo>&, int);
|
||||
void dumpPlanToFile(uint64_t, std::vector<PartitionInfo>&, int);
|
||||
void displayPlan();
|
||||
|
||||
uint32_t fAction;
|
||||
|
||||
@@ -1,392 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|Win32">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|x64">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{85C9D0FD-0C04-47DB-9AF3-B71BE89A3034}</ProjectGuid>
|
||||
<RootNamespace>WriteEngineServer</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\threadpool;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\compress;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rowgroup;$(SolutionDir)..\utils\joiner;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\querystats;$(SolutionDir)..\writeengine\redistribute;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<StackReserveSize>8388608</StackReserveSize>
|
||||
<StackCommitSize>8192</StackCommitSize>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command />
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\threadpool;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\compress;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rowgroup;$(SolutionDir)..\utils\joiner;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\querystats;$(SolutionDir)..\writeengine\redistribute;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Debug;$(SolutionDir)..\..\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<StackReserveSize>8388608</StackReserveSize>
|
||||
<StackCommitSize>8192</StackCommitSize>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command />
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\threadpool;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\compress;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rowgroup;$(SolutionDir)..\utils\joiner;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\querystats;$(SolutionDir)..\writeengine\redistribute;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_IDB_COMPRESSION;SKIP_UDF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<StackReserveSize>8388608</StackReserveSize>
|
||||
<StackCommitSize>8192</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command />
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\threadpool;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\compress;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rowgroup;$(SolutionDir)..\utils\joiner;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\querystats;$(SolutionDir)..\writeengine\redistribute;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_IDB_COMPRESSION;SKIP_UDF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;C:$(SolutionDir)..\..x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<StackReserveSize>8388608</StackReserveSize>
|
||||
<StackCommitSize>8192</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Write Engine Server" $(SolutionDir)..\..x64\Release\WriteEngineServer.exe</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\threadpool;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\compress;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rowgroup;$(SolutionDir)..\utils\joiner;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\querystats;$(SolutionDir)..\writeengine\redistribute;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\EnterpriseRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<StackReserveSize>8388608</StackReserveSize>
|
||||
<StackCommitSize>8192</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command />
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\utils\threadpool;$(SolutionDir)..\writeengine\wrapper;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\dbcon\dmlpackage;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\writeengine\dictionary;$(SolutionDir)..\dbcon\ddlpackage;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\compress;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\utils\rowgroup;$(SolutionDir)..\utils\joiner;$(SolutionDir)..\utils\funcexp;$(SolutionDir)..\dbcon\dmlpackageproc;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\querystats;$(SolutionDir)..\writeengine\redistribute;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\utils\cacheutils;$(SolutionDir)..\utils\querytele;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;$(SolutionDir)..\..\x64\EnterpriseRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<StackReserveSize>8388608</StackReserveSize>
|
||||
<StackCommitSize>8192</StackCommitSize>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Write Engine Server" $(SolutionDir)..\..\x64\EnterpriseRelease\WriteEngineServer.exe</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="we_brmrprtparser.cpp" />
|
||||
<ClCompile Include="we_cleartablelockcmd.cpp" />
|
||||
<ClCompile Include="we_cpifeederthread.cpp" />
|
||||
<ClCompile Include="we_dataloader.cpp" />
|
||||
<ClCompile Include="we_ddlcommandproc.cpp" />
|
||||
<ClCompile Include="we_dmlcommandproc.cpp" />
|
||||
<ClCompile Include="we_getfilesizes.cpp" />
|
||||
<ClCompile Include="we_observer.cpp" />
|
||||
<ClCompile Include="we_readthread.cpp" />
|
||||
<ClCompile Include="..\redistribute\we_redistribute.cpp" />
|
||||
<ClCompile Include="..\redistribute\we_redistributecontrol.cpp" />
|
||||
<ClCompile Include="..\redistribute\we_redistributecontrolthread.cpp" />
|
||||
<ClCompile Include="..\redistribute\we_redistributeworkerthread.cpp" />
|
||||
<ClCompile Include="we_server.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="we_brmrprtparser.h" />
|
||||
<ClInclude Include="we_cleartablelockcmd.h" />
|
||||
<ClInclude Include="we_cpifeederthread.h" />
|
||||
<ClInclude Include="we_dataloader.h" />
|
||||
<ClInclude Include="we_ddlcommandproc.h" />
|
||||
<ClInclude Include="we_ddlcommon.h" />
|
||||
<ClInclude Include="we_dmlcommandproc.h" />
|
||||
<ClInclude Include="we_getfilesizes.h" />
|
||||
<ClInclude Include="we_message_handlers.h" />
|
||||
<ClInclude Include="we_messages.h" />
|
||||
<ClInclude Include="we_observer.h" />
|
||||
<ClInclude Include="we_readthread.h" />
|
||||
<ClInclude Include="..\redistribute\we_redistribute.h" />
|
||||
<ClInclude Include="..\redistribute\we_redistributecontrol.h" />
|
||||
<ClInclude Include="..\redistribute\we_redistributecontrolthread.h" />
|
||||
<ClInclude Include="..\redistribute\we_redistributedef.h" />
|
||||
<ClInclude Include="..\redistribute\we_redistributeworkerthread.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="WriteEngineServer.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\dbcon\ddlpackage\libddlpackage.vcxproj">
|
||||
<Project>{033c6cba-d984-483f-adc8-825be20a699d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\dbcon\dmlpackage\libdmlpackage.vcxproj">
|
||||
<Project>{b9045bca-0955-4c5e-bca4-5ee516838119}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\dbcon\execplan\libexecplan.vcxproj">
|
||||
<Project>{ffcce773-27fa-4f4d-9e28-2208be6348da}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\dbcon\joblist\libjoblist.vcxproj">
|
||||
<Project>{cba13ef7-eca1-42f4-8ce2-9e18e24dcde2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\oam\oamcpp\liboamcpp.vcxproj">
|
||||
<Project>{8f7c9b67-639c-468f-8c5a-eb5f2e944e64}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\cacheutils\libcacheutils.vcxproj">
|
||||
<Project>{b44be805-2019-4fcb-b213-45f1d7a73ccd}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\common\libcommon.vcxproj">
|
||||
<Project>{004899a2-3cab-4796-b030-34a20ac285c9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\compress\libcompress-ent.vcxproj">
|
||||
<Project>{0b72a604-0755-4e2c-b74b-c93564847114}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\configcpp\libconfigcpp.vcxproj">
|
||||
<Project>{c543c9a1-b4e0-4bad-9fc2-2afeea952fc5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\dataconvert\libdataconvert.vcxproj">
|
||||
<Project>{ab342a0e-604e-4bbc-b43e-08df3fa37f9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\funcexp\libfuncexp.vcxproj">
|
||||
<Project>{9ae60d66-99f6-4ccb-902d-3814a12ae0a9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\idbdatafile\idbdatafile.vcxproj">
|
||||
<Project>{4c8231d7-7a87-4650-aa9c-d7650c1d03ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\loggingcpp\libloggingcpp.vcxproj">
|
||||
<Project>{07230df5-10e9-469e-8075-c0978c0460ad}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\messageqcpp\libmessageqcpp.vcxproj">
|
||||
<Project>{226d1f60-1e33-401b-a333-d583af69b86e}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\querytele\libquerytele.vcxproj">
|
||||
<Project>{599e3c29-63ba-4f25-aeae-bf413ad93312}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\rowgroup\librowgroup.vcxproj">
|
||||
<Project>{054cfc82-a54e-4ea5-8ce7-1281d2ed9ece}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\rwlock\librwlock.vcxproj">
|
||||
<Project>{5362725e-bb90-44a3-9d13-3de9b5041ad2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\startup\libidbboot.vcxproj">
|
||||
<Project>{b62b74b4-4621-4cf2-ac06-fb84d9cca66f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\threadpool\libthreadpool.vcxproj">
|
||||
<Project>{2be469d2-d854-4480-bfe0-34de89c557b2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\udfsdk\libudfsdk.vcxproj">
|
||||
<Project>{021a7045-6334-478f-9a4c-79f8200b504a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\winport\libwinport.vcxproj">
|
||||
<Project>{4f0851d3-b782-4f12-b748-73efa2da586b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\versioning\BRM\libbrm.vcxproj">
|
||||
<Project>{a13e870a-7a9e-4027-8e17-204398225361}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libwriteengine.vcxproj">
|
||||
<Project>{414a47eb-55e3-4251-99b0-95d86fe5580d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,119 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="we_brmrprtparser.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_cleartablelockcmd.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_cpifeederthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_dataloader.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_ddlcommandproc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_dmlcommandproc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_getfilesizes.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_observer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_readthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\redistribute\we_redistribute.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\redistribute\we_redistributecontrol.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\redistribute\we_redistributecontrolthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\redistribute\we_redistributeworkerthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_server.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="we_brmrprtparser.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_cleartablelockcmd.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_cpifeederthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_dataloader.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_ddlcommandproc.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_ddlcommon.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_dmlcommandproc.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_getfilesizes.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_message_handlers.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_messages.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_observer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_readthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\redistribute\we_redistribute.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\redistribute\we_redistributecontrol.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\redistribute\we_redistributecontrolthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\redistribute\we_redistributedef.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\redistribute\we_redistributeworkerthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="WriteEngineServer.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -31,11 +31,9 @@
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
#include "bytestream.h"
|
||||
#include "messagequeue.h"
|
||||
using namespace messageqcpp;
|
||||
|
||||
/*
|
||||
*
|
||||
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
void str2Argv(std::string CmdLine, std::vector<char*>& V);
|
||||
std::string getCalpontHome();
|
||||
std::string getPrgmPath(std::string& PrgmName);
|
||||
void updateCmdLineWithPath(string& CmdLine);
|
||||
void updateCmdLineWithPath(std::string& CmdLine);
|
||||
|
||||
|
||||
public:
|
||||
@@ -179,8 +179,8 @@ private:
|
||||
SplitterReadThread& fRef;
|
||||
|
||||
int fMode;
|
||||
ofstream fDataDumpFile;
|
||||
ofstream fJobFile;
|
||||
std::ofstream fDataDumpFile;
|
||||
std::ofstream fJobFile;
|
||||
unsigned int fTxBytes;
|
||||
unsigned int fRxBytes;
|
||||
char fPmId;
|
||||
|
||||
@@ -2469,7 +2469,8 @@ uint8_t WE_DDLCommandProc::updateSyscolumnTablename(ByteStream& bs, std::string&
|
||||
|
||||
|
||||
//It's the same string for each column, so we just need one dictionary struct
|
||||
memset(&dictTuple, 0, sizeof(dictTuple));
|
||||
void *dictTuplePtr = static_cast<void*>(&dictTuple);
|
||||
memset(dictTuplePtr, 0, sizeof(dictTuple));
|
||||
dictTuple.sigValue = (unsigned char*)newTablename.c_str();
|
||||
dictTuple.sigSize = newTablename.length();
|
||||
dictTuple.isNull = false;
|
||||
@@ -3292,7 +3293,8 @@ uint8_t WE_DDLCommandProc::updateSystablesTablename(ByteStream& bs, std::string&
|
||||
|
||||
|
||||
//It's the same string for each column, so we just need one dictionary struct
|
||||
memset(&dictTuple, 0, sizeof(dictTuple));
|
||||
void *dictTuplePtr = static_cast<void*>(&dictTuple);
|
||||
memset(dictTuplePtr, 0, sizeof(dictTuple));
|
||||
dictTuple.sigValue = (unsigned char*)newTablename.c_str();
|
||||
dictTuple.sigSize = newTablename.length();
|
||||
dictTuple.isNull = false;
|
||||
|
||||
@@ -51,11 +51,7 @@
|
||||
#define EXPORT
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
using namespace execplan;
|
||||
|
||||
#include <boost/algorithm/string/case_conv.hpp>
|
||||
using namespace boost::algorithm;
|
||||
|
||||
template <class T>
|
||||
bool from_string(T& t,
|
||||
@@ -72,7 +68,7 @@ struct DDLColumn
|
||||
{
|
||||
execplan::CalpontSystemCatalog::OID oid;
|
||||
execplan::CalpontSystemCatalog::ColType colType;
|
||||
execplan:: CalpontSystemCatalog::TableColName tableColName;
|
||||
execplan::CalpontSystemCatalog::TableColName tableColName;
|
||||
};
|
||||
|
||||
typedef std::vector<DDLColumn> ColumnList;
|
||||
@@ -104,23 +100,23 @@ inline void getColumnsForTable(uint32_t sessionID, std::string schema, std::str
|
||||
ColumnList& colList)
|
||||
{
|
||||
|
||||
CalpontSystemCatalog::TableName tableName;
|
||||
execplan::CalpontSystemCatalog::TableName tableName;
|
||||
tableName.schema = schema;
|
||||
tableName.table = table;
|
||||
std::string err;
|
||||
|
||||
try
|
||||
{
|
||||
boost::shared_ptr<CalpontSystemCatalog> systemCatalogPtr = CalpontSystemCatalog::makeCalpontSystemCatalog(sessionID);
|
||||
systemCatalogPtr->identity(CalpontSystemCatalog::EC);
|
||||
boost::shared_ptr<execplan::CalpontSystemCatalog> systemCatalogPtr = execplan::CalpontSystemCatalog::makeCalpontSystemCatalog(sessionID);
|
||||
systemCatalogPtr->identity(execplan::CalpontSystemCatalog::EC);
|
||||
|
||||
const CalpontSystemCatalog::RIDList ridList = systemCatalogPtr->columnRIDs(tableName);
|
||||
const execplan::CalpontSystemCatalog::RIDList ridList = systemCatalogPtr->columnRIDs(tableName);
|
||||
|
||||
CalpontSystemCatalog::RIDList::const_iterator rid_iterator = ridList.begin();
|
||||
execplan::CalpontSystemCatalog::RIDList::const_iterator rid_iterator = ridList.begin();
|
||||
|
||||
while (rid_iterator != ridList.end())
|
||||
{
|
||||
CalpontSystemCatalog::ROPair roPair = *rid_iterator;
|
||||
execplan::CalpontSystemCatalog::ROPair roPair = *rid_iterator;
|
||||
|
||||
DDLColumn column;
|
||||
column.oid = roPair.objnum;
|
||||
@@ -388,67 +384,67 @@ inline int convertDataType(int dataType)
|
||||
switch (dataType)
|
||||
{
|
||||
case ddlpackage::DDL_CHAR:
|
||||
calpontDataType = CalpontSystemCatalog::CHAR;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::CHAR;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_VARCHAR:
|
||||
calpontDataType = CalpontSystemCatalog::VARCHAR;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::VARCHAR;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_VARBINARY:
|
||||
calpontDataType = CalpontSystemCatalog::VARBINARY;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::VARBINARY;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_BIT:
|
||||
calpontDataType = CalpontSystemCatalog::BIT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::BIT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_REAL:
|
||||
case ddlpackage::DDL_DECIMAL:
|
||||
case ddlpackage::DDL_NUMERIC:
|
||||
case ddlpackage::DDL_NUMBER:
|
||||
calpontDataType = CalpontSystemCatalog::DECIMAL;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::DECIMAL;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_FLOAT:
|
||||
calpontDataType = CalpontSystemCatalog::FLOAT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::FLOAT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_DOUBLE:
|
||||
calpontDataType = CalpontSystemCatalog::DOUBLE;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::DOUBLE;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_INT:
|
||||
case ddlpackage::DDL_INTEGER:
|
||||
calpontDataType = CalpontSystemCatalog::INT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::INT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_BIGINT:
|
||||
calpontDataType = CalpontSystemCatalog::BIGINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::BIGINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_MEDINT:
|
||||
calpontDataType = CalpontSystemCatalog::MEDINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::MEDINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_SMALLINT:
|
||||
calpontDataType = CalpontSystemCatalog::SMALLINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::SMALLINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_TINYINT:
|
||||
calpontDataType = CalpontSystemCatalog::TINYINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::TINYINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_DATE:
|
||||
calpontDataType = CalpontSystemCatalog::DATE;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::DATE;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_DATETIME:
|
||||
calpontDataType = CalpontSystemCatalog::DATETIME;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::DATETIME;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_TIME:
|
||||
calpontDataType = CalpontSystemCatalog::TIME;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::TIME;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_TIMESTAMP:
|
||||
@@ -456,48 +452,48 @@ inline int convertDataType(int dataType)
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_CLOB:
|
||||
calpontDataType = CalpontSystemCatalog::CLOB;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::CLOB;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_BLOB:
|
||||
calpontDataType = CalpontSystemCatalog::BLOB;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::BLOB;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_TEXT:
|
||||
calpontDataType = CalpontSystemCatalog::TEXT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::TEXT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_TINYINT:
|
||||
calpontDataType = CalpontSystemCatalog::UTINYINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UTINYINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_SMALLINT:
|
||||
calpontDataType = CalpontSystemCatalog::USMALLINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::USMALLINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_MEDINT:
|
||||
calpontDataType = CalpontSystemCatalog::UMEDINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UMEDINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_INT:
|
||||
calpontDataType = CalpontSystemCatalog::UINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_BIGINT:
|
||||
calpontDataType = CalpontSystemCatalog::UBIGINT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UBIGINT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_DECIMAL:
|
||||
case ddlpackage::DDL_UNSIGNED_NUMERIC:
|
||||
calpontDataType = CalpontSystemCatalog::UDECIMAL;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UDECIMAL;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_FLOAT:
|
||||
calpontDataType = CalpontSystemCatalog::UFLOAT;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UFLOAT;
|
||||
break;
|
||||
|
||||
case ddlpackage::DDL_UNSIGNED_DOUBLE:
|
||||
calpontDataType = CalpontSystemCatalog::UDOUBLE;
|
||||
calpontDataType = execplan::CalpontSystemCatalog::UDOUBLE;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -722,6 +722,10 @@ uint8_t WE_DMLCommandProc::processSingleInsert(messageqcpp::ByteStream& bs, std:
|
||||
}
|
||||
}
|
||||
|
||||
// MCOL-1495 Remove fCatalogMap entries CS won't use anymore.
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId);
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId | 0x80000000);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -1361,7 +1365,9 @@ uint8_t WE_DMLCommandProc::processBatchInsert(messageqcpp::ByteStream& bs, std::
|
||||
}
|
||||
}
|
||||
|
||||
//cout << "Batch insert return code " << rc << endl;
|
||||
// MCOL-1495 Remove fCatalogMap entries CS won't use anymore.
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId);
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId | 0x80000000);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -2088,18 +2094,11 @@ uint8_t WE_DMLCommandProc::processBatchInsertBinary(messageqcpp::ByteStream& bs,
|
||||
args.add(cols);
|
||||
err = IDBErrorInfo::instance()->errorMsg(WARN_DATA_TRUNC, args);
|
||||
|
||||
// Strict mode enabled, so rollback on warning
|
||||
// NOTE: This doesn't seem to be a possible code path yet
|
||||
/*if (insertPkg.get_isWarnToError())
|
||||
{
|
||||
string applName ("BatchInsert");
|
||||
fWEWrapper.bulkRollback(tblOid,txnid.id,tableName.toString(),
|
||||
applName, false, err);
|
||||
BulkRollbackMgr::deleteMetaFile( tblOid );
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
//cout << "Batch insert return code " << rc << endl;
|
||||
// MCOL-1495 Remove fCatalogMap entries CS won't use anymore.
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId);
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId | 0x80000000);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -2241,6 +2240,9 @@ uint8_t WE_DMLCommandProc::commitBatchAutoOn(messageqcpp::ByteStream& bs, std::s
|
||||
fWEWrapper.getDictMap().erase(txnID);
|
||||
}
|
||||
|
||||
// MCOL-1495 Remove fCatalogMap entries CS won't use anymore.
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId);
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(sessionId | 0x80000000);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -2850,16 +2852,14 @@ uint8_t WE_DMLCommandProc::processUpdate(messageqcpp::ByteStream& bs,
|
||||
convertToRelativeRid (rid, extentNum, blockNum);
|
||||
rowIDLists.push_back(rid);
|
||||
uint32_t colWidth = (colTypes[j].colWidth > 8 ? 8 : colTypes[j].colWidth);
|
||||
|
||||
// populate stats.blocksChanged
|
||||
for (unsigned int k = 0; k < columnsUpdated.size(); k++)
|
||||
int rrid = (int) relativeRID / (BYTE_PER_BLOCK / colWidth);
|
||||
// populate stats.blocksChanged
|
||||
if (rrid > preBlkNums[j])
|
||||
{
|
||||
if ((int)(relativeRID / (BYTE_PER_BLOCK / colWidth)) > preBlkNums[j])
|
||||
{
|
||||
preBlkNums[j] = rrid ;
|
||||
blocksChanged++;
|
||||
preBlkNums[j] = relativeRID / (BYTE_PER_BLOCK / colWidth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ridsFetched = true;
|
||||
@@ -3796,7 +3796,6 @@ uint8_t WE_DMLCommandProc::processUpdate(messageqcpp::ByteStream& bs,
|
||||
err = IDBErrorInfo::instance()->errorMsg(WARN_DATA_TRUNC, args);
|
||||
}
|
||||
|
||||
//cout << "finished update" << endl;
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -3979,6 +3978,10 @@ uint8_t WE_DMLCommandProc::processFlushFiles(messageqcpp::ByteStream& bs, std::s
|
||||
//if (idbdatafile::IDBPolicy::useHdfs())
|
||||
// cacheutils::dropPrimProcFdCache();
|
||||
TableMetaData::removeTableMetaData(tableOid);
|
||||
|
||||
// MCOL-1495 Remove fCatalogMap entries CS won't use anymore.
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(txnId);
|
||||
CalpontSystemCatalog::removeCalpontSystemCatalog(txnId | 0x80000000);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -4154,7 +4157,6 @@ uint8_t WE_DMLCommandProc::processDelete(messageqcpp::ByteStream& bs,
|
||||
}
|
||||
}
|
||||
|
||||
//cout << "WES return rc " << (int)rc << " with msg " << err << endl;
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -269,8 +269,8 @@ int WE_GetFileSizes::processFileName(
|
||||
std::string& errMsg, int key)
|
||||
{
|
||||
uint8_t rc = 0;
|
||||
off_t fileSize;
|
||||
off_t compressedFileSize;
|
||||
off_t fileSize = 0;
|
||||
off_t compressedFileSize = 0;
|
||||
errMsg.clear();
|
||||
|
||||
try
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#define OBSERVER_H_
|
||||
|
||||
#include <list>
|
||||
using namespace std;
|
||||
|
||||
|
||||
namespace WriteEngine
|
||||
|
||||
@@ -651,7 +651,7 @@ void SplitterReadThread::operator()()
|
||||
catch (...)
|
||||
{
|
||||
fIbs.restart(); //setting length=0, get out of loop
|
||||
cout << "Broken Pipe" << endl;
|
||||
std::cout << "Broken Pipe" << std::endl;
|
||||
|
||||
logging::LoggingID logid(19, 0, 0);
|
||||
logging::Message::Args args;
|
||||
@@ -889,7 +889,7 @@ void ReadThreadFactory::CreateReadThread(ThreadPool& Tp, IOSocket& Ios, BRM::DBR
|
||||
}
|
||||
catch (std::exception& ex)
|
||||
{
|
||||
cout << "Handled : " << ex.what() << endl;
|
||||
std::cout << "Handled : " << ex.what() << std::endl;
|
||||
logging::LoggingID logid(19, 0, 0);
|
||||
logging::Message::Args args;
|
||||
logging::Message msg(1);
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#include "messagequeue.h"
|
||||
#include "threadpool.h"
|
||||
#include "we_ddlcommandproc.h"
|
||||
using namespace threadpool;
|
||||
|
||||
#include "we_ddlcommandproc.h"
|
||||
#include "we_dmlcommandproc.h"
|
||||
@@ -149,7 +148,7 @@ public:
|
||||
virtual ~ReadThreadFactory() {}
|
||||
|
||||
public:
|
||||
static void CreateReadThread(ThreadPool& Tp, IOSocket& ios, BRM::DBRM& dbrm);
|
||||
static void CreateReadThread(threadpool::ThreadPool& Tp, IOSocket& ios, BRM::DBRM& dbrm);
|
||||
|
||||
|
||||
};
|
||||
|
||||
@@ -1,44 +1,11 @@
|
||||
|
||||
include_directories(${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
|
||||
include_directories(${ENGINE_COMMON_INCLUDES} ../dictionary)
|
||||
|
||||
add_executable(we_shared_components_tests ./shared_components_tests.cpp)
|
||||
target_link_libraries(we_shared_components_tests ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${CPPUNIT_LIBRARIES})
|
||||
|
||||
install(TARGETS we_shared_components_tests DESTINATION ${ENGINE_BINDIR} COMPONENT platform)
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install(FILES we_index.h we_define.h we_type.h we_fileop.h we_blockop.h we_dbfileop.h we_obj.h we_log.h we_simplesyslog.h we_convertor.h we_brm.h we_macro.h we_config.h we_cache.h we_stats.h we_bulkrollbackmgr.h we_typeext.h we_chunkmanager.h we_bulkrollbackfilecompressed.h we_bulkrollbackfilecompressedhdfs.h we_bulkrollbackfile.h we_rbmetawriter.h we_dbrootextenttracker.h we_confirmhdfsdbfile.h DESTINATION include)
|
||||
|
||||
|
||||
|
||||
#original Makefile.am contents follow:
|
||||
|
||||
## Copyright (C) 2014 InfiniDB, Inc.
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
## as published by the Free Software Foundation; version 2 of
|
||||
## the License.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
## MA 02110-1301, USA.
|
||||
#
|
||||
## $Id: Makefile.am 3720 2012-04-04 18:18:49Z rdempsey $
|
||||
### Process this file with automake to produce Makefile.in
|
||||
#
|
||||
#include_HEADERS = we_index.h we_define.h we_type.h we_fileop.h we_blockop.h we_dbfileop.h we_obj.h we_log.h we_simplesyslog.h we_convertor.h we_brm.h we_macro.h we_config.h we_cache.h we_stats.h we_bulkrollbackmgr.h we_typeext.h we_chunkmanager.h we_bulkrollbackfilecompressed.h we_bulkrollbackfilecompressedhdfs.h we_bulkrollbackfile.h we_rbmetawriter.h we_dbrootextenttracker.h we_confirmhdfsdbfile.h
|
||||
#
|
||||
#test:
|
||||
#
|
||||
#coverage:
|
||||
#
|
||||
#leakcheck:
|
||||
#
|
||||
#docs:
|
||||
#
|
||||
#bootstrap: install-data-am
|
||||
#
|
||||
|
||||
@@ -29,18 +29,28 @@ using namespace boost;
|
||||
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
|
||||
#include <we_dbfileop.h>
|
||||
#include <we_type.h>
|
||||
#include <we_semop.h>
|
||||
#include <we_log.h>
|
||||
#include <we_convertor.h>
|
||||
#include <we_brm.h>
|
||||
#include <we_cache.h>
|
||||
#include "we_dbfileop.h"
|
||||
#include "we_type.h"
|
||||
#include "we_log.h"
|
||||
#include "we_convertor.h"
|
||||
#include "we_brm.h"
|
||||
#include "we_cache.h"
|
||||
#include "we_colop.h"
|
||||
#include "IDBDataFile.h"
|
||||
#include "BufferedFile.h"
|
||||
#include "IDBPolicy.h"
|
||||
#include "IDBFileSystem.h"
|
||||
#include "idbcompress.h"
|
||||
#include "calpontsystemcatalog.h"
|
||||
#include "we_colopcompress.h"
|
||||
#include "we_dctnrycompress.h"
|
||||
|
||||
using namespace compress;
|
||||
using namespace idbdatafile;
|
||||
using namespace WriteEngine;
|
||||
using namespace BRM;
|
||||
|
||||
int compare (const void* a, const void* b)
|
||||
/*int compare (const void* a, const void* b)
|
||||
{
|
||||
return ( *(uint32_t*)a - * (uint32_t*)b );
|
||||
}
|
||||
@@ -49,51 +59,55 @@ int compare1(const void* a, const void* b)
|
||||
{
|
||||
return ( (*(SortTuple*)a).key - (*(SortTuple*)b).key );
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
class SharedTest : public CppUnit::TestFixture
|
||||
{
|
||||
|
||||
CPPUNIT_TEST_SUITE( SharedTest );
|
||||
CPPUNIT_TEST_SUITE( SharedTest );
|
||||
|
||||
//CPPUNIT_TEST(setUp);
|
||||
CPPUNIT_TEST(setUp);
|
||||
//CPPUNIT_TEST( test1 );
|
||||
|
||||
// File operation testing
|
||||
CPPUNIT_TEST( testFileNameOp );
|
||||
CPPUNIT_TEST( testFileHandleOp );
|
||||
// CPPUNIT_TEST( testFileNameOp );
|
||||
// CPPUNIT_TEST( testFileHandleOp );
|
||||
CPPUNIT_TEST( testDirBasic );
|
||||
CPPUNIT_TEST( testCreateDeleteFile );
|
||||
|
||||
// Data block related testing
|
||||
CPPUNIT_TEST( testCalculateRowIdBitmap );
|
||||
CPPUNIT_TEST( testBlockBuffer );
|
||||
CPPUNIT_TEST( testBitBasic );
|
||||
CPPUNIT_TEST( testBufferBit );
|
||||
CPPUNIT_TEST( testBitShift );
|
||||
CPPUNIT_TEST( testEmptyRowValue );
|
||||
CPPUNIT_TEST( testCorrectRowWidth );
|
||||
// CPPUNIT_TEST( testCalculateRowIdBitmap );
|
||||
// CPPUNIT_TEST( testBlockBuffer );
|
||||
// CPPUNIT_TEST( testBitBasic );
|
||||
// CPPUNIT_TEST( testBufferBit );
|
||||
// CPPUNIT_TEST( testBitShift );
|
||||
// CPPUNIT_TEST( testEmptyRowValue );
|
||||
// CPPUNIT_TEST( testCorrectRowWidth );
|
||||
// DB File Block related testing
|
||||
CPPUNIT_TEST( testDbBlock );
|
||||
// CPPUNIT_TEST( testDbBlock );
|
||||
|
||||
CPPUNIT_TEST( testCopyDbFile );
|
||||
// CPPUNIT_TEST( testCopyDbFile );
|
||||
|
||||
// Extent & dict related testing
|
||||
CPPUNIT_TEST( testExtensionWOPrealloc );
|
||||
CPPUNIT_TEST( testDictExtensionWOPrealloc );
|
||||
// Semaphore related testing
|
||||
CPPUNIT_TEST( testSem );
|
||||
// CPPUNIT_TEST( testSem );
|
||||
|
||||
// Log related testing
|
||||
CPPUNIT_TEST( testLog );
|
||||
|
||||
// Version Buffer related testing
|
||||
CPPUNIT_TEST( testHWM );
|
||||
CPPUNIT_TEST( testVB );
|
||||
// CPPUNIT_TEST( testHWM );
|
||||
// CPPUNIT_TEST( testVB );
|
||||
|
||||
// Disk manager related testing
|
||||
CPPUNIT_TEST( testDM );
|
||||
CPPUNIT_TEST( tearDown );
|
||||
// CPPUNIT_TEST( testDM );
|
||||
// CPPUNIT_TEST( tearDown );
|
||||
|
||||
// Cache related testing
|
||||
CPPUNIT_TEST( testCacheBasic );
|
||||
CPPUNIT_TEST( testCacheReadWrite );
|
||||
// CPPUNIT_TEST( testCacheBasic );
|
||||
// CPPUNIT_TEST( testCacheReadWrite );
|
||||
|
||||
CPPUNIT_TEST( testCleanup ); // NEVER COMMENT OUT THIS LINE
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
@@ -113,8 +127,6 @@ public:
|
||||
|
||||
void test1()
|
||||
{
|
||||
//m_wrapper.test();
|
||||
// int numOfBlock = 10240;
|
||||
int numOfBlock = 1024;
|
||||
FILE* pFile;
|
||||
unsigned char writeBuf[BYTE_PER_BLOCK * 10];
|
||||
@@ -139,7 +151,7 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void testFileNameOp()
|
||||
{
|
||||
FileOp fileOp;
|
||||
@@ -342,23 +354,74 @@ public:
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
void testDirBasic()
|
||||
{
|
||||
FileOp fileOp;
|
||||
char dirName[30];
|
||||
int rc;
|
||||
|
||||
strcpy( dirName, "testdir" );
|
||||
fileOp.removeDir( dirName );
|
||||
printf("\nRunning testDirBasic \n");
|
||||
idbdatafile::IDBPolicy::init(true, false, "", 0);
|
||||
IDBFileSystem& fs = IDBPolicy::getFs( "/tmp" );
|
||||
strcpy( dirName, "/tmp/testdir42" );
|
||||
fs.remove( dirName );
|
||||
CPPUNIT_ASSERT( fileOp.isDir( dirName ) == false );
|
||||
|
||||
rc = fileOp.createDir( dirName );
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
CPPUNIT_ASSERT( fileOp.isDir( dirName ) == true );
|
||||
|
||||
fileOp.removeDir( dirName );
|
||||
fs.remove( dirName );
|
||||
}
|
||||
|
||||
void testCreateDeleteFile()
|
||||
{
|
||||
IDBDataFile* pFile = NULL;
|
||||
FileOp fileOp;
|
||||
BlockOp blockOp;
|
||||
char fileName[20];
|
||||
int rc;
|
||||
char hdrs[ IDBCompressInterface::HDR_BUF_LEN * 2 ];
|
||||
|
||||
printf("\nRunning testCreateDeleteFile \n");
|
||||
idbdatafile::IDBPolicy::init(true, false, "", 0);
|
||||
// Set to versionbuffer to satisfy IDBPolicy::getType
|
||||
strcpy( fileName, "versionbuffer" );
|
||||
fileOp.compressionType(1);
|
||||
|
||||
fileOp.deleteFile( fileName );
|
||||
CPPUNIT_ASSERT( fileOp.exists( fileName ) == false );
|
||||
|
||||
int width = blockOp.getCorrectRowWidth( execplan::CalpontSystemCatalog::BIGINT, 8 );
|
||||
int nBlocks = INITIAL_EXTENT_ROWS_TO_DISK / BYTE_PER_BLOCK * width;
|
||||
uint64_t emptyVal = blockOp.getEmptyRowValue( execplan::CalpontSystemCatalog::BIGINT, 8 );
|
||||
// createFile runs IDBDataFile::open + initAbrevCompColumnExtent
|
||||
// under the hood
|
||||
// bigint column file
|
||||
rc = fileOp.createFile( fileName,
|
||||
nBlocks, // number of blocks
|
||||
emptyVal, // NULL value
|
||||
width, // width
|
||||
1 ); // dbroot
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
|
||||
fileOp.closeFile(pFile);
|
||||
|
||||
pFile = IDBDataFile::open(IDBPolicy::getType(fileName,
|
||||
IDBPolicy::WRITEENG), fileName, "rb", 1);
|
||||
|
||||
rc = pFile->seek(0, 0);
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
rc = fileOp.readHeaders(pFile, hdrs);
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
// Couldn't use IDBDataFile->close() here w/o excplicit cast
|
||||
fileOp.closeFile(pFile);
|
||||
|
||||
fileOp.deleteFile( fileName );
|
||||
CPPUNIT_ASSERT( fileOp.exists( fileName ) == false );
|
||||
}
|
||||
/*
|
||||
void testCalculateRowIdBitmap()
|
||||
{
|
||||
BlockOp blockOp;
|
||||
@@ -374,23 +437,23 @@ public:
|
||||
CPPUNIT_ASSERT( bio == 16 );
|
||||
|
||||
// Assuming 2048 per data block, 4 byte width
|
||||
/* rowId = 2049;
|
||||
CPPUNIT_ASSERT( blockOp.calculateRowId( rowId, 2048, 4, fbo, bio ) == true );
|
||||
CPPUNIT_ASSERT( fbo == 1 );
|
||||
CPPUNIT_ASSERT( bio == 16 );
|
||||
|
||||
// Assuming 4096 per data block, 2 byte width
|
||||
rowId = 2049;
|
||||
CPPUNIT_ASSERT( blockOp.calculateRowId( rowId, 4096, 2, fbo, bio ) == true );
|
||||
CPPUNIT_ASSERT( fbo == 1 );
|
||||
CPPUNIT_ASSERT( bio == 16 );
|
||||
|
||||
// Assuming 8192 per data block, 1 byte width
|
||||
rowId = 2049;
|
||||
CPPUNIT_ASSERT( blockOp.calculateRowId( rowId, 8192, 1, fbo, bio ) == true );
|
||||
CPPUNIT_ASSERT( fbo == 1 );
|
||||
CPPUNIT_ASSERT( bio == 16 );
|
||||
*/
|
||||
// rowId = 2049;
|
||||
// CPPUNIT_ASSERT( blockOp.calculateRowId( rowId, 2048, 4, fbo, bio ) == true );
|
||||
// CPPUNIT_ASSERT( fbo == 1 );
|
||||
// CPPUNIT_ASSERT( bio == 16 );
|
||||
//
|
||||
// // Assuming 4096 per data block, 2 byte width
|
||||
// rowId = 2049;
|
||||
// CPPUNIT_ASSERT( blockOp.calculateRowId( rowId, 4096, 2, fbo, bio ) == true );
|
||||
// CPPUNIT_ASSERT( fbo == 1 );
|
||||
// CPPUNIT_ASSERT( bio == 16 );
|
||||
//
|
||||
// // Assuming 8192 per data block, 1 byte width
|
||||
// rowId = 2049;
|
||||
// CPPUNIT_ASSERT( blockOp.calculateRowId( rowId, 8192, 1, fbo, bio ) == true );
|
||||
// CPPUNIT_ASSERT( fbo == 1 );
|
||||
// CPPUNIT_ASSERT( bio == 16 );
|
||||
//
|
||||
rowId = 65546;
|
||||
CPPUNIT_ASSERT( blockOp.calculateRowBitmap( rowId, BYTE_PER_BLOCK * 8, fbo, bio, bbo ) == true );
|
||||
CPPUNIT_ASSERT( fbo == 1 );
|
||||
@@ -550,19 +613,19 @@ public:
|
||||
|
||||
curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 8 );
|
||||
CPPUNIT_ASSERT( curVal == 0x8000000000000001LL );
|
||||
/*
|
||||
curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 9 );
|
||||
CPPUNIT_ASSERT( curVal == 0x80000001 );
|
||||
|
||||
curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 10 );
|
||||
CPPUNIT_ASSERT( curVal == 0x8000000000000001LL );
|
||||
|
||||
curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 12 );
|
||||
CPPUNIT_ASSERT( curVal == 0x8000000000000001LL );
|
||||
|
||||
curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 19 );
|
||||
CPPUNIT_ASSERT( curVal == 0xFFFFFFFFFFFFFFFFLL );
|
||||
*/
|
||||
|
||||
// curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 9 );
|
||||
// CPPUNIT_ASSERT( curVal == 0x80000001 );
|
||||
//
|
||||
// curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 10 );
|
||||
// CPPUNIT_ASSERT( curVal == 0x8000000000000001LL );
|
||||
//
|
||||
// curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 12 );
|
||||
// CPPUNIT_ASSERT( curVal == 0x8000000000000001LL );
|
||||
//
|
||||
// curVal = blockOp.getEmptyRowValue( WriteEngine::DECIMAL, 19 );
|
||||
// CPPUNIT_ASSERT( curVal == 0xFFFFFFFFFFFFFFFFLL );
|
||||
//
|
||||
curVal = blockOp.getEmptyRowValue( WriteEngine::DATE, 4 );
|
||||
CPPUNIT_ASSERT( curVal == 0xFFFFFFFF );
|
||||
|
||||
@@ -645,18 +708,18 @@ public:
|
||||
curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 8 );
|
||||
CPPUNIT_ASSERT( curVal == 8 );
|
||||
|
||||
/* curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 9 );
|
||||
CPPUNIT_ASSERT( curVal == 4 );
|
||||
|
||||
curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 10 );
|
||||
CPPUNIT_ASSERT( curVal == 8 );
|
||||
|
||||
curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 12 );
|
||||
CPPUNIT_ASSERT( curVal == 8 );
|
||||
|
||||
curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 19 );
|
||||
CPPUNIT_ASSERT( curVal == 8 );
|
||||
*/
|
||||
// curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 9 );
|
||||
// CPPUNIT_ASSERT( curVal == 4 );
|
||||
//
|
||||
// curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 10 );
|
||||
// CPPUNIT_ASSERT( curVal == 8 );
|
||||
//
|
||||
// curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 12 );
|
||||
// CPPUNIT_ASSERT( curVal == 8 );
|
||||
//
|
||||
// curVal = blockOp.getCorrectRowWidth( WriteEngine::DECIMAL, 19 );
|
||||
// CPPUNIT_ASSERT( curVal == 8 );
|
||||
//
|
||||
curVal = blockOp.getCorrectRowWidth( WriteEngine::DATE, 8 );
|
||||
CPPUNIT_ASSERT( curVal == 4 );
|
||||
|
||||
@@ -892,126 +955,229 @@ public:
|
||||
dbFileOp.closeFile( pTargetFile );
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
void testSem()
|
||||
void testExtensionWOPrealloc()
|
||||
{
|
||||
SemOp semOp;
|
||||
IDBDataFile* pFile = NULL;
|
||||
FileOp fileOp;
|
||||
BlockOp blockOp;
|
||||
char fileName[20];
|
||||
int rc;
|
||||
bool bSuccess;
|
||||
key_t key;
|
||||
int sid, totalNum = 5;
|
||||
char fileName[100];
|
||||
char hdrs[ IDBCompressInterface::HDR_BUF_LEN * 2 ];
|
||||
int dbRoot = 1;
|
||||
|
||||
semOp.setMaxSemVal( 3 );
|
||||
printf("\nRunning testExtensionWOPrealloc \n");
|
||||
idbdatafile::IDBPolicy::init(true, false, "", 0);
|
||||
// Set to versionbuffer to satisfy IDBPolicy::getType
|
||||
strcpy( fileName, "versionbuffer" );
|
||||
fileOp.compressionType(1);
|
||||
|
||||
bSuccess = semOp.getKey( NULL, key );
|
||||
CPPUNIT_ASSERT( bSuccess == false );
|
||||
fileOp.deleteFile( fileName );
|
||||
CPPUNIT_ASSERT( fileOp.exists( fileName ) == false );
|
||||
|
||||
rc = fileOp.getFileName( 9991, fileName );
|
||||
int width = blockOp.getCorrectRowWidth( execplan::CalpontSystemCatalog::BIGINT, 8 );
|
||||
int nBlocks = INITIAL_EXTENT_ROWS_TO_DISK / BYTE_PER_BLOCK * width;
|
||||
uint64_t emptyVal = blockOp.getEmptyRowValue( execplan::CalpontSystemCatalog::BIGINT, 8 );
|
||||
// createFile runs IDBDataFile::open + initAbrevCompColumnExtent
|
||||
// under the hood
|
||||
// bigint column file
|
||||
rc = fileOp.createFile( fileName,
|
||||
nBlocks, // number of blocks
|
||||
emptyVal, // NULL value
|
||||
width, // width
|
||||
dbRoot ); // dbroot
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
|
||||
bSuccess = semOp.getKey( fileName, key );
|
||||
CPPUNIT_ASSERT( bSuccess == false );
|
||||
// open created compressed file and check its header
|
||||
pFile = IDBDataFile::open(IDBPolicy::getType(fileName,
|
||||
IDBPolicy::WRITEENG), fileName, "rb", dbRoot);
|
||||
|
||||
rc = fileOp.getFileName( 999, fileName );
|
||||
rc = pFile->seek(0, 0);
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
rc = fileOp.readHeaders(pFile, hdrs);
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
bSuccess = semOp.getKey( fileName, key );
|
||||
printf( "\nkey=%d", key );
|
||||
CPPUNIT_ASSERT( bSuccess == true );
|
||||
// Couldn't use IDBDataFile->close() here w/o excplicit cast
|
||||
fileOp.closeFile(pFile);
|
||||
|
||||
if ( semOp.existSem( sid, key ) )
|
||||
semOp.deleteSem( sid );
|
||||
// Extend the extent up to 64MB
|
||||
// first run w preallocation
|
||||
idbdatafile::BufferedFile* bFile = new idbdatafile::BufferedFile(fileName, "r+b", 0);
|
||||
pFile = dynamic_cast<IDBDataFile*>(bFile);
|
||||
|
||||
rc = fileOp.initColumnExtent(pFile,
|
||||
dbRoot,
|
||||
BYTE_PER_BLOCK, // number of blocks
|
||||
emptyVal,
|
||||
width,
|
||||
false, // use existing file
|
||||
true, // expand the extent
|
||||
false, // add full (not abbreviated) extent
|
||||
false); // don't optimize extention
|
||||
|
||||
rc = semOp.createSem( sid, key, 1000 );
|
||||
CPPUNIT_ASSERT( rc == ERR_MAX_SEM );
|
||||
|
||||
rc = semOp.createSem( sid, key, totalNum );
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
CPPUNIT_ASSERT(bFile->size() == 67108864);
|
||||
fileOp.closeFile(pFile);
|
||||
// file has been extended delete the file before
|
||||
// the second run
|
||||
|
||||
fileOp.deleteFile( fileName );
|
||||
CPPUNIT_ASSERT(fileOp.exists( fileName ) == false);
|
||||
|
||||
// second run with disabled preallocation
|
||||
rc = fileOp.createFile( fileName,
|
||||
nBlocks, // number of blocks
|
||||
emptyVal, // NULL value
|
||||
width, // width
|
||||
dbRoot ); // dbroot
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
|
||||
rc = semOp.createSem( sid, key, totalNum );
|
||||
CPPUNIT_ASSERT( rc == ERR_SEM_EXIST );
|
||||
// open created compressed file and check its header
|
||||
pFile = IDBDataFile::open(IDBPolicy::getType(fileName,
|
||||
IDBPolicy::WRITEENG), fileName, "rb", dbRoot);
|
||||
|
||||
rc = semOp.openSem( sid, key );
|
||||
rc = pFile->seek(0, 0);
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
rc = fileOp.readHeaders(pFile, hdrs);
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
semOp.printAllVal( sid );
|
||||
fileOp.closeFile(pFile);
|
||||
|
||||
// lock
|
||||
printf( "\nlock one in 2" );
|
||||
rc = semOp.lockSem( sid, 2 );
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
CPPUNIT_ASSERT( semOp.getVal( sid, 2 ) == 2 );
|
||||
semOp.printAllVal( sid );
|
||||
|
||||
printf( "\nlock one in 2" );
|
||||
rc = semOp.lockSem( sid, 2 );
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
CPPUNIT_ASSERT( semOp.getVal( sid, 2 ) == 1 );
|
||||
semOp.printAllVal( sid );
|
||||
|
||||
printf( "\nlock one in 2" );
|
||||
rc = semOp.lockSem( sid, 2 );
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
CPPUNIT_ASSERT( semOp.getVal( sid, 2 ) == 0 );
|
||||
semOp.printAllVal( sid );
|
||||
|
||||
rc = semOp.lockSem( sid, 2 );
|
||||
CPPUNIT_ASSERT( rc == ERR_NO_SEM_RESOURCE );
|
||||
CPPUNIT_ASSERT( semOp.getVal( sid, 2 ) == 0 );
|
||||
|
||||
rc = semOp.lockSem( sid, -2 );
|
||||
CPPUNIT_ASSERT( rc == ERR_VALUE_OUTOFRANGE );
|
||||
|
||||
rc = semOp.lockSem( sid + 1, 1 );
|
||||
CPPUNIT_ASSERT( rc == ERR_LOCK_FAIL );
|
||||
|
||||
// unlock
|
||||
rc = semOp.unlockSem( sid, -2 );
|
||||
CPPUNIT_ASSERT( rc == ERR_VALUE_OUTOFRANGE );
|
||||
|
||||
rc = semOp.unlockSem( sid, 1 );
|
||||
CPPUNIT_ASSERT( rc == ERR_NO_SEM_LOCK );
|
||||
|
||||
rc = semOp.unlockSem( sid + 1, 2 );
|
||||
CPPUNIT_ASSERT( rc == ERR_UNLOCK_FAIL );
|
||||
|
||||
printf( "\nunlock one in 2" );
|
||||
rc = semOp.unlockSem( sid, 2 );
|
||||
CPPUNIT_ASSERT( rc == NO_ERROR );
|
||||
CPPUNIT_ASSERT( semOp.getVal( sid, 2 ) == 1 );
|
||||
semOp.printAllVal( sid );
|
||||
|
||||
semOp.deleteSem( sid );
|
||||
CPPUNIT_ASSERT( semOp.existSem( sid, key ) == false );
|
||||
|
||||
CPPUNIT_ASSERT( semOp.getSemCount( sid + 1 ) == 0 );
|
||||
bFile = new idbdatafile::BufferedFile(fileName, "r+b", 0);
|
||||
pFile = dynamic_cast<IDBDataFile*>(bFile);
|
||||
|
||||
// disable disk space preallocation and extend
|
||||
idbdatafile::IDBPolicy::setPreallocSpace(dbRoot);
|
||||
rc = fileOp.initColumnExtent(pFile,
|
||||
dbRoot,
|
||||
BYTE_PER_BLOCK, // number of blocks
|
||||
emptyVal,
|
||||
width,
|
||||
false, // use existing file
|
||||
true, // expand the extent
|
||||
false, // add full (not abbreviated) extent
|
||||
true); // optimize extention
|
||||
|
||||
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
CPPUNIT_ASSERT(bFile->size() == 2105344);
|
||||
fileOp.closeFile(pFile);
|
||||
// file has been extended
|
||||
|
||||
fileOp.deleteFile( fileName );
|
||||
CPPUNIT_ASSERT(fileOp.exists( fileName ) == false);
|
||||
}
|
||||
|
||||
// Create a dict file. Extend it w and w/o preallocation.
|
||||
// Check the file sizes.
|
||||
void testDictExtensionWOPrealloc()
|
||||
{
|
||||
FileOp fileOp;
|
||||
BlockOp blockOp;
|
||||
char fileName[20];
|
||||
int rc;
|
||||
int dbRoot = 1;
|
||||
int colWidth = 65535;
|
||||
|
||||
DctnryCompress1 m_Dctnry;
|
||||
// This is the magic for the stub in FileOp::oid2FileName
|
||||
int oId = 42;
|
||||
|
||||
printf("\nRunning testDictExtensionWOPrealloc ");
|
||||
printf("There could be InetStreamSocket::connect errors \n");
|
||||
m_Dctnry.setDebugLevel( DEBUG_3 );
|
||||
|
||||
idbdatafile::IDBPolicy::init(true, false, "", 0);
|
||||
// Set to versionbuffer to satisfy IDBPolicy::getType
|
||||
strcpy( fileName, "versionbuffer" );
|
||||
|
||||
rc = m_Dctnry.dropDctnry(oId);
|
||||
// FileOp::oid2FileName is called under the hood
|
||||
// Dctnry::createDctnry could be used with running CS
|
||||
// createDctnryFile also uses DBRM under the hood it works though.
|
||||
IDBDataFile* m_dFile = m_Dctnry.createDctnryFileUnit(fileName,
|
||||
colWidth,
|
||||
"w+b",
|
||||
DEFAULT_BUFSIZ);
|
||||
|
||||
idbdatafile::BufferedFile* bFile = (idbdatafile::BufferedFile*)m_dFile;
|
||||
CPPUNIT_ASSERT(m_dFile != NULL);
|
||||
|
||||
const int m_totalHdrBytes = HDR_UNIT_SIZE + NEXT_PTR_BYTES + HDR_UNIT_SIZE + HDR_UNIT_SIZE;
|
||||
|
||||
m_Dctnry.compressionType(1);
|
||||
rc = m_Dctnry.initDctnryExtent( m_dFile,
|
||||
dbRoot,
|
||||
BYTE_PER_BLOCK, // 8192
|
||||
const_cast<unsigned char*>(m_Dctnry.getDctnryHeader2()),
|
||||
m_totalHdrBytes,
|
||||
false,
|
||||
false ); //enable preallocation
|
||||
// Check the file size and remove the file
|
||||
CPPUNIT_ASSERT(bFile->size() == 67379200);
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
fileOp.deleteFile( fileName );
|
||||
CPPUNIT_ASSERT(fileOp.exists( fileName ) == false);
|
||||
|
||||
// Create a Dictionary for the second time
|
||||
m_dFile = m_Dctnry.createDctnryFileUnit(fileName,
|
||||
colWidth,
|
||||
"w+b",
|
||||
DEFAULT_BUFSIZ);
|
||||
|
||||
// Get the file size later
|
||||
bFile = (idbdatafile::BufferedFile*)m_dFile;
|
||||
CPPUNIT_ASSERT(m_dFile != NULL);
|
||||
|
||||
// disable preallocation and create a Dictionary
|
||||
idbdatafile::IDBPolicy::setPreallocSpace(dbRoot);
|
||||
m_Dctnry.compressionType(1);
|
||||
rc = m_Dctnry.initDctnryExtent( m_dFile,
|
||||
dbRoot,
|
||||
BYTE_PER_BLOCK,
|
||||
const_cast<unsigned char*>(m_Dctnry.getDctnryHeader2()),
|
||||
m_totalHdrBytes,
|
||||
false,
|
||||
true ); //skip preallocation
|
||||
|
||||
// Check the size and remove the file.
|
||||
CPPUNIT_ASSERT(bFile->size() == 483328);
|
||||
CPPUNIT_ASSERT(rc == NO_ERROR);
|
||||
fileOp.deleteFile(fileName);
|
||||
CPPUNIT_ASSERT(fileOp.exists( fileName ) == false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void testLog()
|
||||
{
|
||||
Log log;
|
||||
FileOp fileOp;
|
||||
string msg;
|
||||
int iVal = 3;
|
||||
float fVal = 2.0;
|
||||
char logFile[] = "test1.log";
|
||||
char logErrFile[] = "test1err.log";
|
||||
|
||||
log.setLogFileName( "test1.log", "test1err.log" );
|
||||
log.setLogFileName( logFile, logErrFile );
|
||||
|
||||
msg = Convertor::int2Str( iVal );
|
||||
log.logMsg( msg + " this is a info message", INFO );
|
||||
log.logMsg( msg + " this is a info message", MSGLVL_INFO1 );
|
||||
msg = Convertor::getTimeStr();
|
||||
log.logMsg( Convertor::float2Str( fVal ) + " this is a warning message", WARNING );
|
||||
log.logMsg( "this is an error message ", 1011, ERROR );
|
||||
log.logMsg( "this is a critical message", 1211, CRITICAL );
|
||||
|
||||
//...Test formatting an unsigned 64 bit integer.
|
||||
uint64_t i64Value(UINT64_MAX);
|
||||
msg = Convertor::i64ToStr( i64Value );
|
||||
CPPUNIT_ASSERT( (msg == "18446744073709551615") );
|
||||
log.logMsg( msg + " this is an info message with the max uint64_t integer value", INFO );
|
||||
log.logMsg( " this is a warning message", MSGLVL_WARNING );
|
||||
log.logMsg( "this is an error message ", 1011, MSGLVL_ERROR );
|
||||
log.logMsg( "this is a critical message", 1211, MSGLVL_CRITICAL );
|
||||
CPPUNIT_ASSERT( fileOp.exists( logFile ) == true );
|
||||
CPPUNIT_ASSERT( fileOp.exists( logErrFile ) == true );
|
||||
fileOp.deleteFile( logFile );
|
||||
fileOp.deleteFile( logErrFile );
|
||||
CPPUNIT_ASSERT( fileOp.exists( logFile ) == false );
|
||||
CPPUNIT_ASSERT( fileOp.exists( logErrFile ) == false );
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
void testHWM()
|
||||
{
|
||||
int rc ;
|
||||
@@ -1375,6 +1541,7 @@ public:
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
void testCleanup()
|
||||
{
|
||||
@@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
Copyright (C) 2019 MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -65,6 +66,8 @@ namespace WriteEngine
|
||||
extern int NUM_BLOCKS_PER_INITIAL_EXTENT; // defined in we_dctnry.cpp
|
||||
extern WErrorCodes ec; // defined in we_log.cpp
|
||||
|
||||
const int COMPRESSED_CHUNK_SIZE = compress::IDBCompressInterface::maxCompressedSize(UNCOMPRESSED_CHUNK_SIZE) + 64 + 3 + 8 * 1024;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Search for the specified chunk in fChunkList.
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -1923,10 +1926,22 @@ int ChunkManager::reallocateChunks(CompFileData* fileData)
|
||||
struct tm ltm;
|
||||
localtime_r(reinterpret_cast<time_t*>(&tv.tv_sec), <m);
|
||||
char tmText[24];
|
||||
// this snprintf call causes a compiler warning b/c buffer size is less
|
||||
// then maximum string size.
|
||||
#if defined(__GNUC__) && __GNUC__ >= 7
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wformat-truncation="
|
||||
snprintf(tmText, sizeof(tmText), ".%04d%02d%02d%02d%02d%02d%06ld",
|
||||
ltm.tm_year + 1900, ltm.tm_mon + 1,
|
||||
ltm.tm_mday, ltm.tm_hour, ltm.tm_min,
|
||||
ltm.tm_sec, tv.tv_usec);
|
||||
#pragma GCC diagnostic pop
|
||||
#else
|
||||
snprintf(tmText, sizeof(tmText), ".%04d%02d%02d%02d%02d%02d%06ld",
|
||||
ltm.tm_year + 1900, ltm.tm_mon + 1,
|
||||
ltm.tm_mday, ltm.tm_hour, ltm.tm_min,
|
||||
ltm.tm_sec, tv.tv_usec);
|
||||
#endif
|
||||
string dbgFileName(rlcFileName + tmText);
|
||||
|
||||
ostringstream oss;
|
||||
@@ -2106,10 +2121,22 @@ int ChunkManager::reallocateChunks(CompFileData* fileData)
|
||||
struct tm ltm;
|
||||
localtime_r(reinterpret_cast<time_t*>(&tv.tv_sec), <m);
|
||||
char tmText[24];
|
||||
// this snprintf call causes a compiler warning b/c buffer size is less
|
||||
// then maximum string size.
|
||||
#if defined(__GNUC__) && __GNUC__ >= 7
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wformat-truncation="
|
||||
snprintf(tmText, sizeof(tmText), ".%04d%02d%02d%02d%02d%02d%06ld",
|
||||
ltm.tm_year + 1900, ltm.tm_mon + 1,
|
||||
ltm.tm_mday, ltm.tm_hour, ltm.tm_min,
|
||||
ltm.tm_sec, tv.tv_usec);
|
||||
#pragma GCC diagnostic pop
|
||||
#else
|
||||
snprintf(tmText, sizeof(tmText), ".%04d%02d%02d%02d%02d%02d%06ld",
|
||||
ltm.tm_year + 1900, ltm.tm_mon + 1,
|
||||
ltm.tm_mday, ltm.tm_hour, ltm.tm_min,
|
||||
ltm.tm_sec, tv.tv_usec);
|
||||
#endif
|
||||
string dbgFileName(rlcFileName + tmText);
|
||||
|
||||
ostringstream oss;
|
||||
|
||||
@@ -68,7 +68,6 @@ const int UNCOMPRESSED_CHUNK_SIZE = compress::IDBCompressInterface::UNCOMPRESSED
|
||||
const int COMPRESSED_FILE_HEADER_UNIT = compress::IDBCompressInterface::HDR_BUF_LEN;
|
||||
|
||||
// assume UNCOMPRESSED_CHUNK_SIZE > 0xBFFF (49151), 8 * 1024 bytes padding
|
||||
const int COMPRESSED_CHUNK_SIZE = compress::IDBCompressInterface::maxCompressedSize(UNCOMPRESSED_CHUNK_SIZE) + 64 + 3 + 8 * 1024;
|
||||
|
||||
const int BLOCKS_IN_CHUNK = UNCOMPRESSED_CHUNK_SIZE / BYTE_PER_BLOCK;
|
||||
const int MAXOFFSET_PER_CHUNK = 511 * BYTE_PER_BLOCK;
|
||||
|
||||
@@ -45,7 +45,8 @@ const short ROW_PER_BYTE = 8; // Rows/byte in bitmap file
|
||||
const int BYTE_PER_BLOCK = 8192; // Num bytes per data block
|
||||
const int BYTE_PER_SUBBLOCK = 256; // Num bytes per sub block
|
||||
const int ENTRY_PER_SUBBLOCK = 32; // Num entries per sub block
|
||||
const int INITIAL_EXTENT_ROWS_TO_DISK = 256 * 1024;
|
||||
const int INITIAL_EXTENT_ROWS_TO_DISK = 256 * 1024; // Used for initial number of blocks calculation
|
||||
const int MAX_INITIAL_EXTENT_BLOCKS_TO_DISK = 256; // Number of blocks in abbrev extent for 8byte col.
|
||||
// Num rows reserved to disk for 'initial' extent
|
||||
const int FILE_NAME_SIZE = 200; // Max size of file name
|
||||
const long long MAX_ALLOW_ERROR_COUNT = 100000; //Max allowable error count
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
// $Id: we_fileop.cpp 4737 2013-08-14 20:45:46Z bwilkinson $
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -63,7 +62,6 @@ namespace WriteEngine
|
||||
/*static*/ boost::mutex FileOp::m_createDbRootMutexes;
|
||||
/*static*/ boost::mutex FileOp::m_mkdirMutex;
|
||||
/*static*/ std::map<int, boost::mutex*> FileOp::m_DbRootAddExtentMutexes;
|
||||
const int MAX_NBLOCKS = 8192; // max number of blocks written to an extent
|
||||
// in 1 call to fwrite(), during initialization
|
||||
|
||||
//StopWatch timer;
|
||||
@@ -332,12 +330,15 @@ int FileOp::deleteFile( FID fid ) const
|
||||
std::vector<std::string> dbRootPathList;
|
||||
Config::getDBRootPathList( dbRootPathList );
|
||||
|
||||
int rc;
|
||||
|
||||
for (unsigned i = 0; i < dbRootPathList.size(); i++)
|
||||
{
|
||||
char rootOidDirName[FILE_NAME_SIZE];
|
||||
sprintf(rootOidDirName, "%s/%s", dbRootPathList[i].c_str(), oidDirName);
|
||||
rc = snprintf(rootOidDirName, FILE_NAME_SIZE, "%s/%s",
|
||||
dbRootPathList[i].c_str(), oidDirName);
|
||||
|
||||
if ( IDBPolicy::remove( rootOidDirName ) != 0 )
|
||||
if ( rc == FILE_NAME_SIZE || IDBPolicy::remove( rootOidDirName ) != 0 )
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "Unable to remove " << rootOidDirName;
|
||||
@@ -365,6 +366,7 @@ int FileOp::deleteFiles( const std::vector<int32_t>& fids ) const
|
||||
char dbDir [MAX_DB_DIR_LEVEL][MAX_DB_DIR_NAME_SIZE];
|
||||
std::vector<std::string> dbRootPathList;
|
||||
Config::getDBRootPathList( dbRootPathList );
|
||||
int rc;
|
||||
|
||||
for ( unsigned n = 0; n < fids.size(); n++ )
|
||||
{
|
||||
@@ -378,10 +380,10 @@ int FileOp::deleteFiles( const std::vector<int32_t>& fids ) const
|
||||
for (unsigned i = 0; i < dbRootPathList.size(); i++)
|
||||
{
|
||||
char rootOidDirName[FILE_NAME_SIZE];
|
||||
sprintf(rootOidDirName, "%s/%s", dbRootPathList[i].c_str(),
|
||||
rc = snprintf(rootOidDirName, FILE_NAME_SIZE, "%s/%s", dbRootPathList[i].c_str(),
|
||||
oidDirName);
|
||||
|
||||
if ( IDBPolicy::remove( rootOidDirName ) != 0 )
|
||||
if ( rc == FILE_NAME_SIZE || IDBPolicy::remove( rootOidDirName ) != 0 )
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "Unable to remove " << rootOidDirName;
|
||||
@@ -412,6 +414,7 @@ int FileOp::deletePartitions( const std::vector<OID>& fids,
|
||||
char dbDir [MAX_DB_DIR_LEVEL][MAX_DB_DIR_NAME_SIZE];
|
||||
char rootOidDirName[FILE_NAME_SIZE];
|
||||
char partitionDirName[FILE_NAME_SIZE];
|
||||
int rcd, rcp;
|
||||
|
||||
for (uint32_t i = 0; i < partitions.size(); i++)
|
||||
{
|
||||
@@ -422,12 +425,13 @@ int FileOp::deletePartitions( const std::vector<OID>& fids,
|
||||
dbDir[0], dbDir[1], dbDir[2], dbDir[3], dbDir[4]);
|
||||
// config expects dbroot starting from 0
|
||||
std::string rt( Config::getDBRootByNum(partitions[i].lp.dbroot) );
|
||||
sprintf(rootOidDirName, "%s/%s",
|
||||
rcd = snprintf(rootOidDirName, FILE_NAME_SIZE, "%s/%s",
|
||||
rt.c_str(), tempFileName);
|
||||
sprintf(partitionDirName, "%s/%s",
|
||||
rcp = snprintf(partitionDirName, FILE_NAME_SIZE, "%s/%s",
|
||||
rt.c_str(), oidDirName);
|
||||
|
||||
if ( IDBPolicy::remove( rootOidDirName ) != 0 )
|
||||
if ( rcd == FILE_NAME_SIZE || rcp == FILE_NAME_SIZE
|
||||
|| IDBPolicy::remove( rootOidDirName ) != 0 )
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "Unable to remove " << rootOidDirName;
|
||||
@@ -541,7 +545,9 @@ bool FileOp::existsOIDDir( FID fid ) const
|
||||
* the applicable column segment file does not exist, it is created.
|
||||
* If this is the very first file for the specified DBRoot, then the
|
||||
* partition and segment number must be specified, else the selected
|
||||
* partition and segment numbers are returned.
|
||||
* partition and segment numbers are returned. This method tries to
|
||||
* optimize full extents creation skiping disk space
|
||||
* preallocation(if activated).
|
||||
* PARAMETERS:
|
||||
* oid - OID of the column to be extended
|
||||
* emptyVal - Empty value to be used for oid
|
||||
@@ -827,6 +833,7 @@ int FileOp::extendFile(
|
||||
return rc;
|
||||
|
||||
// Initialize the contents of the extent.
|
||||
// MCOL-498 optimize full extent creation.
|
||||
rc = initColumnExtent( pFile,
|
||||
dbRoot,
|
||||
allocSize,
|
||||
@@ -834,7 +841,8 @@ int FileOp::extendFile(
|
||||
width,
|
||||
newFile, // new or existing file
|
||||
false, // don't expand; new extent
|
||||
false ); // add full (not abbreviated) extent
|
||||
false, // add full (not abbreviated) extent
|
||||
true); // try to optimize extent creation
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -982,6 +990,8 @@ int FileOp::addExtentExactFile(
|
||||
return rc;
|
||||
|
||||
// Initialize the contents of the extent.
|
||||
// CS doesn't optimize file operations to have a valid
|
||||
// segment files with empty magics
|
||||
rc = initColumnExtent( pFile,
|
||||
dbRoot,
|
||||
allocSize,
|
||||
@@ -1006,6 +1016,9 @@ int FileOp::addExtentExactFile(
|
||||
* This function can be used to initialize an entirely new extent, or
|
||||
* to finish initializing an extent that has already been started.
|
||||
* nBlocks controls how many 8192-byte blocks are to be written out.
|
||||
* If bOptExtension is set then method first checks config for
|
||||
* DBRootX.Prealloc. If it is disabled then it skips disk space
|
||||
* preallocation.
|
||||
* PARAMETERS:
|
||||
* pFile (in) - IDBDataFile* of column segment file to be written to
|
||||
* dbRoot (in) - DBRoot of pFile
|
||||
@@ -1016,6 +1029,7 @@ int FileOp::addExtentExactFile(
|
||||
* headers will be included "if" it is a compressed file.
|
||||
* bExpandExtent (in) - Expand existing extent, or initialize a new one
|
||||
* bAbbrevExtent(in) - if creating new extent, is it an abbreviated extent
|
||||
* bOptExtension(in) - skip full extent preallocation.
|
||||
* RETURN:
|
||||
* returns ERR_FILE_WRITE if an error occurs,
|
||||
* else returns NO_ERROR.
|
||||
@@ -1028,7 +1042,8 @@ int FileOp::initColumnExtent(
|
||||
int width,
|
||||
bool bNewFile,
|
||||
bool bExpandExtent,
|
||||
bool bAbbrevExtent )
|
||||
bool bAbbrevExtent,
|
||||
bool bOptExtension)
|
||||
{
|
||||
if ((bNewFile) && (m_compressionType))
|
||||
{
|
||||
@@ -1061,6 +1076,19 @@ int FileOp::initColumnExtent(
|
||||
// Create vector of mutexes used to serialize extent access per DBRoot
|
||||
initDbRootExtentMutexes( );
|
||||
|
||||
// MCOL-498 Skip the huge preallocations if the option is set
|
||||
// for the dbroot. This check is skiped for abbreviated extent.
|
||||
// IMO it is better to check bool then to call a function.
|
||||
if ( bOptExtension )
|
||||
{
|
||||
bOptExtension = (idbdatafile::IDBPolicy::PreallocSpace(dbRoot))
|
||||
? bOptExtension : false;
|
||||
}
|
||||
// Reduce number of blocks allocated for abbreviated extents thus
|
||||
// CS writes less when creates a new table. This couldn't be zero
|
||||
// b/c Snappy compressed file format doesn't tolerate empty files.
|
||||
int realNBlocks = ( bOptExtension && nBlocks <= MAX_INITIAL_EXTENT_BLOCKS_TO_DISK ) ? 3 : nBlocks;
|
||||
|
||||
// Determine the number of blocks in each call to fwrite(), and the
|
||||
// number of fwrite() calls to make, based on this. In other words,
|
||||
// we put a cap on the "writeSize" so that we don't allocate and write
|
||||
@@ -1068,15 +1096,15 @@ int FileOp::initColumnExtent(
|
||||
// expanding an abbreviated 64M extent, we may not have an even
|
||||
// multiple of MAX_NBLOCKS to write; remWriteSize is the number of
|
||||
// blocks above and beyond loopCount*MAX_NBLOCKS.
|
||||
int writeSize = nBlocks * BYTE_PER_BLOCK; // 1M and 8M row extent size
|
||||
int writeSize = realNBlocks * BYTE_PER_BLOCK; // 1M and 8M row extent size
|
||||
int loopCount = 1;
|
||||
int remWriteSize = 0;
|
||||
|
||||
if (nBlocks > MAX_NBLOCKS) // 64M row extent size
|
||||
if (realNBlocks > MAX_NBLOCKS) // 64M row extent size
|
||||
{
|
||||
writeSize = MAX_NBLOCKS * BYTE_PER_BLOCK;
|
||||
loopCount = nBlocks / MAX_NBLOCKS;
|
||||
remWriteSize = nBlocks - (loopCount * MAX_NBLOCKS);
|
||||
loopCount = realNBlocks / MAX_NBLOCKS;
|
||||
remWriteSize = realNBlocks - (loopCount * MAX_NBLOCKS);
|
||||
}
|
||||
|
||||
// Allocate a buffer, initialize it, and use it to create the extent
|
||||
@@ -1096,69 +1124,77 @@ int FileOp::initColumnExtent(
|
||||
Stats::stopParseEvent(WE_STATS_WAIT_TO_EXPAND_COL_EXTENT);
|
||||
else
|
||||
Stats::stopParseEvent(WE_STATS_WAIT_TO_CREATE_COL_EXTENT);
|
||||
|
||||
Stats::startParseEvent(WE_STATS_INIT_COL_EXTENT);
|
||||
#endif
|
||||
|
||||
// Allocate buffer, and store in scoped_array to insure it's deletion.
|
||||
// Create scope {...} to manage deletion of writeBuf.
|
||||
// Skip space preallocation if configured so
|
||||
// fallback to sequential write otherwise.
|
||||
// Couldn't avoid preallocation for full extents,
|
||||
// e.g. ADD COLUMN DDL b/c CS has to fill the file
|
||||
// with empty magics.
|
||||
if ( !bOptExtension )
|
||||
{
|
||||
unsigned char* writeBuf = new unsigned char[writeSize];
|
||||
boost::scoped_array<unsigned char> writeBufPtr( writeBuf );
|
||||
#ifdef PROFILE
|
||||
Stats::startParseEvent(WE_STATS_INIT_COL_EXTENT);
|
||||
#endif
|
||||
// Allocate buffer, store it in scoped_array to insure it's deletion.
|
||||
// Create scope {...} to manage deletion of writeBuf.
|
||||
{
|
||||
|
||||
setEmptyBuf( writeBuf, writeSize, emptyVal, width );
|
||||
unsigned char* writeBuf = new unsigned char[writeSize];
|
||||
boost::scoped_array<unsigned char> writeBufPtr( writeBuf );
|
||||
|
||||
setEmptyBuf( writeBuf, writeSize, emptyVal, width );
|
||||
|
||||
#ifdef PROFILE
|
||||
Stats::stopParseEvent(WE_STATS_INIT_COL_EXTENT);
|
||||
|
||||
if (bExpandExtent)
|
||||
Stats::startParseEvent(WE_STATS_EXPAND_COL_EXTENT);
|
||||
else
|
||||
Stats::startParseEvent(WE_STATS_CREATE_COL_EXTENT);
|
||||
|
||||
#endif
|
||||
|
||||
//std::ostringstream oss;
|
||||
//oss << "initColExtent: width-" << width <<
|
||||
//"; loopCount-" << loopCount <<
|
||||
//"; writeSize-" << writeSize;
|
||||
//std::cout << oss.str() << std::endl;
|
||||
if (remWriteSize > 0)
|
||||
{
|
||||
if ( pFile->write( writeBuf, remWriteSize ) != remWriteSize )
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < loopCount; j++)
|
||||
{
|
||||
if ( pFile->write( writeBuf, writeSize ) != writeSize )
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//@Bug 3219. update the compression header after the extent is expanded.
|
||||
if ((!bNewFile) && (m_compressionType) && (bExpandExtent))
|
||||
{
|
||||
updateColumnExtent(pFile, nBlocks);
|
||||
}
|
||||
|
||||
// @bug 2378. Synchronize here to avoid write buffer pile up too much,
|
||||
// which could cause controllernode to timeout later when it needs to
|
||||
// save a snapshot.
|
||||
pFile->flush();
|
||||
|
||||
#ifdef PROFILE
|
||||
Stats::stopParseEvent(WE_STATS_INIT_COL_EXTENT);
|
||||
|
||||
if (bExpandExtent)
|
||||
Stats::startParseEvent(WE_STATS_EXPAND_COL_EXTENT);
|
||||
Stats::stopParseEvent(WE_STATS_EXPAND_COL_EXTENT);
|
||||
else
|
||||
Stats::startParseEvent(WE_STATS_CREATE_COL_EXTENT);
|
||||
|
||||
Stats::stopParseEvent(WE_STATS_CREATE_COL_EXTENT);
|
||||
#endif
|
||||
|
||||
//std::ostringstream oss;
|
||||
//oss << "initColExtent: width-" << width <<
|
||||
//"; loopCount-" << loopCount <<
|
||||
//"; writeSize-" << writeSize;
|
||||
//std::cout << oss.str() << std::endl;
|
||||
if (remWriteSize > 0)
|
||||
{
|
||||
if ( pFile->write( writeBuf, remWriteSize ) != remWriteSize )
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < loopCount; j++)
|
||||
{
|
||||
if ( pFile->write( writeBuf, writeSize ) != writeSize )
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//@Bug 3219. update the compression header after the extent is expanded.
|
||||
if ((!bNewFile) && (m_compressionType) && (bExpandExtent))
|
||||
{
|
||||
updateColumnExtent(pFile, nBlocks);
|
||||
}
|
||||
|
||||
// @bug 2378. Synchronize here to avoid write buffer pile up too much,
|
||||
// which could cause controllernode to timeout later when it needs to
|
||||
// save a snapshot.
|
||||
pFile->flush();
|
||||
|
||||
#ifdef PROFILE
|
||||
|
||||
if (bExpandExtent)
|
||||
Stats::stopParseEvent(WE_STATS_EXPAND_COL_EXTENT);
|
||||
else
|
||||
Stats::stopParseEvent(WE_STATS_CREATE_COL_EXTENT);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
@@ -1185,7 +1221,7 @@ int FileOp::initAbbrevCompColumnExtent(
|
||||
uint64_t emptyVal,
|
||||
int width)
|
||||
{
|
||||
// Reserve disk space for full abbreviated extent
|
||||
// Reserve disk space for optimized abbreviated extent
|
||||
int rc = initColumnExtent( pFile,
|
||||
dbRoot,
|
||||
nBlocks,
|
||||
@@ -1193,8 +1229,8 @@ int FileOp::initAbbrevCompColumnExtent(
|
||||
width,
|
||||
true, // new file
|
||||
false, // don't expand; add new extent
|
||||
true ); // add abbreviated extent
|
||||
|
||||
true, // add abbreviated extent
|
||||
true); // optimize the initial extent
|
||||
if (rc != NO_ERROR)
|
||||
{
|
||||
return rc;
|
||||
@@ -1767,6 +1803,9 @@ int FileOp::writeHeaders(IDBDataFile* pFile, const char* controlHdr,
|
||||
* This function can be used to initialize an entirely new extent, or
|
||||
* to finish initializing an extent that has already been started.
|
||||
* nBlocks controls how many 8192-byte blocks are to be written out.
|
||||
* If bOptExtension is set then method first checks config for
|
||||
* DBRootX.Prealloc. If it is disabled then it skips disk space
|
||||
* preallocation.
|
||||
* PARAMETERS:
|
||||
* pFile (in) - IDBDataFile* of column segment file to be written to
|
||||
* dbRoot (in) - DBRoot of pFile
|
||||
@@ -1774,6 +1813,7 @@ int FileOp::writeHeaders(IDBDataFile* pFile, const char* controlHdr,
|
||||
* blockHdrInit(in) - data used to initialize each block
|
||||
* blockHdrInitSize(in) - number of bytes in blockHdrInit
|
||||
* bExpandExtent (in) - Expand existing extent, or initialize a new one
|
||||
* bOptExtension(in) - skip full extent preallocation.
|
||||
* RETURN:
|
||||
* returns ERR_FILE_WRITE if an error occurs,
|
||||
* else returns NO_ERROR.
|
||||
@@ -1784,7 +1824,8 @@ int FileOp::initDctnryExtent(
|
||||
int nBlocks,
|
||||
unsigned char* blockHdrInit,
|
||||
int blockHdrInitSize,
|
||||
bool bExpandExtent )
|
||||
bool bExpandExtent,
|
||||
bool bOptExtension )
|
||||
{
|
||||
// @bug5769 Don't initialize extents or truncate db files on HDFS
|
||||
if (idbdatafile::IDBPolicy::useHdfs())
|
||||
@@ -1801,6 +1842,21 @@ int FileOp::initDctnryExtent(
|
||||
// Create vector of mutexes used to serialize extent access per DBRoot
|
||||
initDbRootExtentMutexes( );
|
||||
|
||||
// MCOL-498 Skip the huge preallocations if the option is set
|
||||
// for the dbroot. This check is skiped for abbreviated extent.
|
||||
// IMO it is better to check bool then to call a function.
|
||||
// CS uses non-compressed dict files for its system catalog so
|
||||
// CS doesn't optimize non-compressed dict creation.
|
||||
if ( bOptExtension )
|
||||
{
|
||||
bOptExtension = (idbdatafile::IDBPolicy::PreallocSpace(dbRoot)
|
||||
&& m_compressionType) ? bOptExtension : false;
|
||||
}
|
||||
// Reduce number of blocks allocated for abbreviated extents thus
|
||||
// CS writes less when creates a new table. This couldn't be zero
|
||||
// b/c Snappy compressed file format doesn't tolerate empty files.
|
||||
int realNBlocks = ( bOptExtension && nBlocks <= MAX_INITIAL_EXTENT_BLOCKS_TO_DISK ) ? 1 : nBlocks;
|
||||
|
||||
// Determine the number of blocks in each call to fwrite(), and the
|
||||
// number of fwrite() calls to make, based on this. In other words,
|
||||
// we put a cap on the "writeSize" so that we don't allocate and write
|
||||
@@ -1808,99 +1864,101 @@ int FileOp::initDctnryExtent(
|
||||
// expanding an abbreviated 64M extent, we may not have an even
|
||||
// multiple of MAX_NBLOCKS to write; remWriteSize is the number of
|
||||
// blocks above and beyond loopCount*MAX_NBLOCKS.
|
||||
int writeSize = nBlocks * BYTE_PER_BLOCK; // 1M and 8M row extent size
|
||||
int writeSize = realNBlocks * BYTE_PER_BLOCK; // 1M and 8M row extent size
|
||||
int loopCount = 1;
|
||||
int remWriteSize = 0;
|
||||
|
||||
if (nBlocks > MAX_NBLOCKS) // 64M row extent size
|
||||
if (realNBlocks > MAX_NBLOCKS) // 64M row extent size
|
||||
{
|
||||
writeSize = MAX_NBLOCKS * BYTE_PER_BLOCK;
|
||||
loopCount = nBlocks / MAX_NBLOCKS;
|
||||
remWriteSize = nBlocks - (loopCount * MAX_NBLOCKS);
|
||||
loopCount = realNBlocks / MAX_NBLOCKS;
|
||||
remWriteSize = realNBlocks - (loopCount * MAX_NBLOCKS);
|
||||
}
|
||||
|
||||
// Allocate a buffer, initialize it, and use it to create the extent
|
||||
idbassert(dbRoot > 0);
|
||||
#ifdef PROFILE
|
||||
|
||||
#ifdef PROFILE
|
||||
if (bExpandExtent)
|
||||
Stats::startParseEvent(WE_STATS_WAIT_TO_EXPAND_DCT_EXTENT);
|
||||
else
|
||||
Stats::startParseEvent(WE_STATS_WAIT_TO_CREATE_DCT_EXTENT);
|
||||
|
||||
#endif
|
||||
boost::mutex::scoped_lock lk(*m_DbRootAddExtentMutexes[dbRoot]);
|
||||
#ifdef PROFILE
|
||||
|
||||
boost::mutex::scoped_lock lk(*m_DbRootAddExtentMutexes[dbRoot]);
|
||||
|
||||
#ifdef PROFILE
|
||||
if (bExpandExtent)
|
||||
Stats::stopParseEvent(WE_STATS_WAIT_TO_EXPAND_DCT_EXTENT);
|
||||
else
|
||||
Stats::stopParseEvent(WE_STATS_WAIT_TO_CREATE_DCT_EXTENT);
|
||||
|
||||
Stats::startParseEvent(WE_STATS_INIT_DCT_EXTENT);
|
||||
#endif
|
||||
|
||||
// Allocate buffer, and store in scoped_array to insure it's deletion.
|
||||
// Create scope {...} to manage deletion of writeBuf.
|
||||
// Skip space preallocation if configured so
|
||||
// fallback to sequential write otherwise.
|
||||
// Couldn't avoid preallocation for full extents,
|
||||
// e.g. ADD COLUMN DDL b/c CS has to fill the file
|
||||
// with empty magics.
|
||||
if ( !bOptExtension )
|
||||
{
|
||||
unsigned char* writeBuf = new unsigned char[writeSize];
|
||||
boost::scoped_array<unsigned char> writeBufPtr( writeBuf );
|
||||
|
||||
memset(writeBuf, 0, writeSize);
|
||||
|
||||
for (int i = 0; i < nBlocks; i++)
|
||||
// Allocate buffer, and store in scoped_array to insure it's deletion.
|
||||
// Create scope {...} to manage deletion of writeBuf.
|
||||
{
|
||||
memcpy( writeBuf + (i * BYTE_PER_BLOCK),
|
||||
blockHdrInit,
|
||||
blockHdrInitSize );
|
||||
}
|
||||
|
||||
#ifdef PROFILE
|
||||
Stats::stopParseEvent(WE_STATS_INIT_DCT_EXTENT);
|
||||
|
||||
if (bExpandExtent)
|
||||
Stats::startParseEvent(WE_STATS_EXPAND_DCT_EXTENT);
|
||||
else
|
||||
Stats::startParseEvent(WE_STATS_CREATE_DCT_EXTENT);
|
||||
|
||||
Stats::startParseEvent(WE_STATS_INIT_DCT_EXTENT);
|
||||
#endif
|
||||
|
||||
//std::ostringstream oss;
|
||||
//oss << "initDctnryExtent: width-8(assumed)" <<
|
||||
//"; loopCount-" << loopCount <<
|
||||
//"; writeSize-" << writeSize;
|
||||
//std::cout << oss.str() << std::endl;
|
||||
if (remWriteSize > 0)
|
||||
{
|
||||
if (pFile->write( writeBuf, remWriteSize ) != remWriteSize)
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
unsigned char* writeBuf = new unsigned char[writeSize];
|
||||
boost::scoped_array<unsigned char> writeBufPtr( writeBuf );
|
||||
|
||||
for (int j = 0; j < loopCount; j++)
|
||||
{
|
||||
if (pFile->write( writeBuf, writeSize ) != writeSize)
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
}
|
||||
memset(writeBuf, 0, writeSize);
|
||||
|
||||
if (m_compressionType)
|
||||
for (int i = 0; i < realNBlocks; i++)
|
||||
{
|
||||
memcpy( writeBuf + (i * BYTE_PER_BLOCK),
|
||||
blockHdrInit,
|
||||
blockHdrInitSize );
|
||||
}
|
||||
|
||||
#ifdef PROFILE
|
||||
Stats::stopParseEvent(WE_STATS_INIT_DCT_EXTENT);
|
||||
|
||||
if (bExpandExtent)
|
||||
Stats::startParseEvent(WE_STATS_EXPAND_DCT_EXTENT);
|
||||
else
|
||||
Stats::startParseEvent(WE_STATS_CREATE_DCT_EXTENT);
|
||||
#endif
|
||||
|
||||
if (remWriteSize > 0)
|
||||
{
|
||||
if (pFile->write( writeBuf, remWriteSize ) != remWriteSize)
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < loopCount; j++)
|
||||
{
|
||||
if (pFile->write( writeBuf, writeSize ) != writeSize)
|
||||
{
|
||||
return ERR_FILE_WRITE;
|
||||
}
|
||||
}
|
||||
// CS doesn't account flush timings.
|
||||
#ifdef PROFILE
|
||||
if (bExpandExtent)
|
||||
Stats::stopParseEvent(WE_STATS_EXPAND_DCT_EXTENT);
|
||||
else
|
||||
Stats::stopParseEvent(WE_STATS_CREATE_DCT_EXTENT);
|
||||
#endif
|
||||
}
|
||||
} // preallocation fallback end
|
||||
|
||||
// MCOL-498 CS has to set a number of blocs in the chunk header
|
||||
if ( m_compressionType )
|
||||
{
|
||||
updateDctnryExtent(pFile, nBlocks);
|
||||
|
||||
// Synchronize to avoid write buffer pile up too much, which could cause
|
||||
// controllernode to timeout later when it needs to save a snapshot.
|
||||
}
|
||||
pFile->flush();
|
||||
#ifdef PROFILE
|
||||
|
||||
if (bExpandExtent)
|
||||
Stats::stopParseEvent(WE_STATS_EXPAND_DCT_EXTENT);
|
||||
else
|
||||
Stats::stopParseEvent(WE_STATS_CREATE_DCT_EXTENT);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
@@ -2223,6 +2281,15 @@ int FileOp::oid2FileName( FID fid,
|
||||
|
||||
#endif
|
||||
|
||||
// Need this stub to use ColumnOp::writeRow in the unit tests
|
||||
#ifdef WITH_UNIT_TESTS
|
||||
if (fid == 42)
|
||||
{
|
||||
sprintf(fullFileName, "./versionbuffer");
|
||||
return NO_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* If is a version buffer file, the format is different. */
|
||||
if (fid < 1000)
|
||||
{
|
||||
@@ -2790,7 +2857,8 @@ int FileOp::expandAbbrevColumnExtent(
|
||||
int rc = FileOp::initColumnExtent(pFile, dbRoot, blksToAdd, emptyVal, width,
|
||||
false, // existing file
|
||||
true, // expand existing extent
|
||||
false); // n/a since not adding new extent
|
||||
false, // n/a since not adding new extent
|
||||
true); // optimize segment file extension
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
#define EXPORT
|
||||
#endif
|
||||
|
||||
#define MAX_NBLOCKS 8192
|
||||
|
||||
#include "brmtypes.h"
|
||||
|
||||
/** Namespace WriteEngine */
|
||||
@@ -90,6 +92,15 @@ public:
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType,
|
||||
uint64_t emptyVal = 0, int width = 1 ) ;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Create a file with a fixed file size by its name.
|
||||
* Changed to public for UT.
|
||||
*/
|
||||
int createFile( const char* fileName, int fileSize,
|
||||
uint64_t emptyVal, int width,
|
||||
uint16_t dbRoot );
|
||||
|
||||
/**
|
||||
* @brief Delete a file
|
||||
*/
|
||||
@@ -324,13 +335,15 @@ public:
|
||||
* @param blockHdrInit(in) - data used to initialize each block header
|
||||
* @param blockHdrInitSize(in) - number of bytes in blockHdrInit
|
||||
* @param bExpandExtent (in) - Expand existing extent, or initialize new one
|
||||
* @param bOptExtension (in) - skip or optimize full extent preallocation
|
||||
*/
|
||||
EXPORT int initDctnryExtent( IDBDataFile* pFile,
|
||||
uint16_t dbRoot,
|
||||
int nBlocks,
|
||||
unsigned char* blockHdrInit,
|
||||
int blockHdrInitSize,
|
||||
bool bExpandExtent );
|
||||
bool bExpandExtent,
|
||||
bool bOptExtension = false );
|
||||
|
||||
/**
|
||||
* @brief Check whether it is an directory
|
||||
@@ -463,6 +476,25 @@ public:
|
||||
int compressionType() const;
|
||||
|
||||
EXPORT virtual int flushFile(int rc, std::map<FID, FID>& oids);
|
||||
// Initialize an extent in a column segment file
|
||||
// pFile (in) IDBDataFile* of column segment file to be written to
|
||||
// dbRoot (in) - DBRoot of pFile
|
||||
// nBlocks (in) - number of blocks to be written for an extent
|
||||
// emptyVal(in) - empty value to be used for column data values
|
||||
// width (in) - width of the applicable column
|
||||
// bNewFile (in) - Adding extent to new file
|
||||
// bExpandExtent (in) - Expand existing extent, or initialize new one
|
||||
// bAbbrevExtent (in) - If adding new extent, is it abbreviated
|
||||
// bOptExtension(in) - skip or optimize full extent preallocation
|
||||
int initColumnExtent( IDBDataFile* pFile,
|
||||
uint16_t dbRoot,
|
||||
int nBlocks,
|
||||
uint64_t emptyVal,
|
||||
int width,
|
||||
bool bNewFile,
|
||||
bool bExpandExtent,
|
||||
bool bAbbrevExtent,
|
||||
bool bOptExtension=false );
|
||||
|
||||
protected:
|
||||
EXPORT virtual int updateColumnExtent(IDBDataFile* pFile, int nBlocks);
|
||||
@@ -475,10 +507,6 @@ private:
|
||||
FileOp(const FileOp& rhs);
|
||||
FileOp& operator=(const FileOp& rhs);
|
||||
|
||||
int createFile( const char* fileName, int fileSize,
|
||||
uint64_t emptyVal, int width,
|
||||
uint16_t dbRoot );
|
||||
|
||||
int expandAbbrevColumnChunk( IDBDataFile* pFile,
|
||||
uint64_t emptyVal,
|
||||
int colWidth,
|
||||
@@ -491,24 +519,6 @@ private:
|
||||
uint64_t emptyVal,
|
||||
int width);
|
||||
|
||||
// Initialize an extent in a column segment file
|
||||
// pFile (in) IDBDataFile* of column segment file to be written to
|
||||
// dbRoot (in) - DBRoot of pFile
|
||||
// nBlocks (in) - number of blocks to be written for an extent
|
||||
// emptyVal(in) - empty value to be used for column data values
|
||||
// width (in) - width of the applicable column
|
||||
// bNewFile (in) - Adding extent to new file
|
||||
// bExpandExtent (in) - Expand existing extent, or initialize new one
|
||||
// bAbbrevExtent (in) - If adding new extent, is it abbreviated
|
||||
int initColumnExtent( IDBDataFile* pFile,
|
||||
uint16_t dbRoot,
|
||||
int nBlocks,
|
||||
uint64_t emptyVal,
|
||||
int width,
|
||||
bool bNewFile,
|
||||
bool bExpandExtent,
|
||||
bool bAbbrevExtent );
|
||||
|
||||
static void initDbRootExtentMutexes();
|
||||
static void removeDbRootExtentMutexes();
|
||||
|
||||
|
||||
@@ -393,7 +393,7 @@ struct IdxMultiColKey
|
||||
curMask.reset();
|
||||
curLevel = maxLevel = 0;
|
||||
totalBit = 0;
|
||||
memset( testbitArray, 0, IDX_MAX_MULTI_COL_IDX_LEVEL);
|
||||
memset( testbitArray, 0, IDX_MAX_MULTI_COL_IDX_LEVEL * sizeof(testbitArray[0]));
|
||||
memset( keyBuf, 0, IDX_MAX_MULTI_COL_BIT / 8 );
|
||||
curMask = 0x1F;
|
||||
curMask = curMask << (IDX_MAX_MULTI_COL_BIT - 5);
|
||||
|
||||
@@ -490,7 +490,7 @@ struct CacheControl /** @brief Cache control structure */
|
||||
int checkInterval; /** @brief A check point interval in seconds */
|
||||
CacheControl()
|
||||
{
|
||||
totalBlock = pctFree = checkInterval; /** @brief constructor */
|
||||
totalBlock = pctFree = checkInterval = 0; /** @brief constructor */
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,341 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|Win32">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="EnterpriseRelease|x64">
|
||||
<Configuration>EnterpriseRelease</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B160A65B-D07D-4CCD-A0FD-6A0800E9F595}</ProjectGuid>
|
||||
<RootNamespace>splitter</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\$(PlatformName)\$(ConfigurationName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(PlatformName)\$(ConfigurationName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\..\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\batchloader;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\batchloader;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Debug;$(SolutionDir)..\..\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\batchloader;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions> _CRT_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_UDF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\batchloader;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions> _CRT_SECURE_NO_WARNINGS;SKIP_SNMP;SKIP_UDF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;C:$(SolutionDir)..\..x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Load File Splitter" $(SolutionDir)..\..x64\Release\splitter.exe</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\batchloader;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions> _CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\utils\winport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0\lib32;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include\lib32;C:\InfiniDB\EnterpriseRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='EnterpriseRelease|x64'">
|
||||
<ClCompile>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\include;$(SolutionDir)..\utils\winport;$(SolutionDir)..\versioning\BRM;$(SolutionDir)..\writeengine\server;$(SolutionDir)..\utils\loggingcpp;$(SolutionDir)..\oam\oamcpp;$(SolutionDir)..\snmpd\snmpmanager;$(SolutionDir)..\dbcon\execplan;$(SolutionDir)..\utils\messageqcpp;$(SolutionDir)..\writeengine\shared;$(SolutionDir)..\utils\configcpp;$(SolutionDir)..\utils\rwlock;$(SolutionDir)..\dbcon\joblist;$(SolutionDir)..\utils\dataconvert;$(SolutionDir)..\writeengine\client;$(SolutionDir)..\utils\batchloader;$(SolutionDir)..\utils\startup;$(SolutionDir)..\utils\common;$(SolutionDir)..\utils\idbdatafile;$(SolutionDir)..\..\libiconv-1.14\libiconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions> _CRT_SECURE_NO_WARNINGS;SKIP_SNMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4244;4996;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>libxml2.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\..\boost_1_54_0;$(SolutionDir)..\..\libxml2-2.7.8\libxml2\win32\Release;$(SolutionDir)..\..\x64\EnterpriseRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>$(SolutionDir)..\..\signit "InfiniDB Load File Splitter" $(SolutionDir)..\..\x64\EnterpriseRelease\splitter.exe</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="we_brmupdater.cpp" />
|
||||
<ClCompile Include="we_cmdargs.cpp" />
|
||||
<ClCompile Include="we_filereadthread.cpp" />
|
||||
<ClCompile Include="we_respreadthread.cpp" />
|
||||
<ClCompile Include="we_sdhandler.cpp" />
|
||||
<ClCompile Include="we_splclient.cpp" />
|
||||
<ClCompile Include="we_splitterapp.cpp" />
|
||||
<ClCompile Include="we_tablelockgrabber.cpp" />
|
||||
<ClCompile Include="we_xmlgetter.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="we_brmupdater.h" />
|
||||
<ClInclude Include="we_cmdargs.h" />
|
||||
<ClInclude Include="we_filereadthread.h" />
|
||||
<ClInclude Include="we_respreadthread.h" />
|
||||
<ClInclude Include="we_sdhandler.h" />
|
||||
<ClInclude Include="we_splclient.h" />
|
||||
<ClInclude Include="we_splitterapp.h" />
|
||||
<ClInclude Include="we_tablelockgrabber.h" />
|
||||
<ClInclude Include="we_xmlgetter.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="splitter.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\dbcon\execplan\libexecplan.vcxproj">
|
||||
<Project>{ffcce773-27fa-4f4d-9e28-2208be6348da}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\dbcon\joblist\libjoblist.vcxproj">
|
||||
<Project>{cba13ef7-eca1-42f4-8ce2-9e18e24dcde2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\oam\oamcpp\liboamcpp.vcxproj">
|
||||
<Project>{8f7c9b67-639c-468f-8c5a-eb5f2e944e64}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\batchloader\libbatchloader.vcxproj">
|
||||
<Project>{35d6295b-4a83-4e6e-bab0-70adf19ae822}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\cacheutils\libcacheutils.vcxproj">
|
||||
<Project>{b44be805-2019-4fcb-b213-45f1d7a73ccd}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\common\libcommon.vcxproj">
|
||||
<Project>{004899a2-3cab-4796-b030-34a20ac285c9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\compress\libcompress-ent.vcxproj">
|
||||
<Project>{0b72a604-0755-4e2c-b74b-c93564847114}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\configcpp\libconfigcpp.vcxproj">
|
||||
<Project>{c543c9a1-b4e0-4bad-9fc2-2afeea952fc5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\dataconvert\libdataconvert.vcxproj">
|
||||
<Project>{ab342a0e-604e-4bbc-b43e-08df3fa37f9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\funcexp\libfuncexp.vcxproj">
|
||||
<Project>{9ae60d66-99f6-4ccb-902d-3814a12ae0a9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\idbdatafile\idbdatafile.vcxproj">
|
||||
<Project>{4c8231d7-7a87-4650-aa9c-d7650c1d03ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\loggingcpp\libloggingcpp.vcxproj">
|
||||
<Project>{07230df5-10e9-469e-8075-c0978c0460ad}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\messageqcpp\libmessageqcpp.vcxproj">
|
||||
<Project>{226d1f60-1e33-401b-a333-d583af69b86e}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\querytele\libquerytele.vcxproj">
|
||||
<Project>{599e3c29-63ba-4f25-aeae-bf413ad93312}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\rowgroup\librowgroup.vcxproj">
|
||||
<Project>{054cfc82-a54e-4ea5-8ce7-1281d2ed9ece}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\rwlock\librwlock.vcxproj">
|
||||
<Project>{5362725e-bb90-44a3-9d13-3de9b5041ad2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\startup\libidbboot.vcxproj">
|
||||
<Project>{b62b74b4-4621-4cf2-ac06-fb84d9cca66f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\udfsdk\libudfsdk.vcxproj">
|
||||
<Project>{021a7045-6334-478f-9a4c-79f8200b504a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\utils\winport\libwinport.vcxproj">
|
||||
<Project>{4f0851d3-b782-4f12-b748-73efa2da586b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\versioning\BRM\libbrm.vcxproj">
|
||||
<Project>{a13e870a-7a9e-4027-8e17-204398225361}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libwriteengine.vcxproj">
|
||||
<Project>{414a47eb-55e3-4251-99b0-95d86fe5580d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,80 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="we_brmupdater.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_cmdargs.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_filereadthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_respreadthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_sdhandler.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_splclient.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_splitterapp.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_tablelockgrabber.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="we_xmlgetter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="we_brmupdater.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_cmdargs.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_filereadthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_respreadthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_sdhandler.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_splclient.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_splitterapp.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_tablelockgrabber.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="we_xmlgetter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="splitter.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -512,13 +512,13 @@ bool WEBrmUpdater::prepareRowsInsertedInfo(std::string Entry,
|
||||
|
||||
bool WEBrmUpdater::prepareColumnOutOfRangeInfo(std::string Entry,
|
||||
int& ColNum,
|
||||
CalpontSystemCatalog::ColDataType& ColType,
|
||||
execplan::CalpontSystemCatalog::ColDataType& ColType,
|
||||
std::string& ColName,
|
||||
int& OorValues)
|
||||
{
|
||||
bool aFound = false;
|
||||
boost::shared_ptr<CalpontSystemCatalog> systemCatalogPtr =
|
||||
CalpontSystemCatalog::makeCalpontSystemCatalog();
|
||||
boost::shared_ptr<execplan::CalpontSystemCatalog> systemCatalogPtr =
|
||||
execplan::CalpontSystemCatalog::makeCalpontSystemCatalog();
|
||||
|
||||
//DATA: 3 1
|
||||
if ((!Entry.empty()) && (Entry.at(0) == 'D'))
|
||||
@@ -553,7 +553,7 @@ bool WEBrmUpdater::prepareColumnOutOfRangeInfo(std::string Entry,
|
||||
|
||||
if (pTok)
|
||||
{
|
||||
ColType = (CalpontSystemCatalog::ColDataType)atoi(pTok);
|
||||
ColType = (execplan::CalpontSystemCatalog::ColDataType)atoi(pTok);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -566,7 +566,7 @@ bool WEBrmUpdater::prepareColumnOutOfRangeInfo(std::string Entry,
|
||||
if (pTok)
|
||||
{
|
||||
uint64_t columnOid = strtol(pTok, NULL, 10);
|
||||
CalpontSystemCatalog::TableColName colname = systemCatalogPtr->colName(columnOid);
|
||||
execplan::CalpontSystemCatalog::TableColName colname = systemCatalogPtr->colName(columnOid);
|
||||
ColName = colname.schema + "." + colname.table + "." + colname.column;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
static bool prepareRowsInsertedInfo(std::string Entry, int64_t& TotRows,
|
||||
int64_t& InsRows);
|
||||
static bool prepareColumnOutOfRangeInfo(std::string Entry, int& ColNum,
|
||||
CalpontSystemCatalog::ColDataType& ColType,
|
||||
execplan::CalpontSystemCatalog::ColDataType& ColType,
|
||||
std::string& ColName, int& OorValues);
|
||||
static bool prepareErrorFileInfo(std::string Entry, std::string& ErrFileName);
|
||||
static bool prepareBadDataFileInfo(std::string Entry, std::string& BadFileName);
|
||||
|
||||
@@ -356,7 +356,7 @@ unsigned int WEFileReadThread::readDataFile(messageqcpp::SBS& Sbs)
|
||||
//char aBuff[1024*1024]; // TODO May have to change it later
|
||||
//char*pStart = aBuff;
|
||||
unsigned int aIdx = 0;
|
||||
unsigned int aLen = 0;
|
||||
int aLen = 0;
|
||||
*Sbs << (ByteStream::byte)(WE_CLT_SRV_DATA);
|
||||
|
||||
while ((!fInFile.eof()) && (aIdx < getBatchQty()))
|
||||
|
||||
@@ -233,7 +233,7 @@ public:
|
||||
fWeSplClients[PmId]->setRowsUploadInfo(RowsRead, RowsInserted);
|
||||
}
|
||||
void add2ColOutOfRangeInfo(int PmId, int ColNum,
|
||||
CalpontSystemCatalog::ColDataType ColType,
|
||||
execplan::CalpontSystemCatalog::ColDataType ColType,
|
||||
std::string& ColName, int NoOfOors)
|
||||
{
|
||||
fWeSplClients[PmId]->add2ColOutOfRangeInfo(ColNum, ColType, ColName, NoOfOors);
|
||||
@@ -326,7 +326,7 @@ private:
|
||||
{
|
||||
fRowsIns += Rows;
|
||||
}
|
||||
void updateColOutOfRangeInfo(int aColNum, CalpontSystemCatalog::ColDataType aColType,
|
||||
void updateColOutOfRangeInfo(int aColNum, execplan::CalpontSystemCatalog::ColDataType aColType,
|
||||
std::string aColName, int aNoOfOors)
|
||||
{
|
||||
WEColOorVec::iterator aIt = fColOorVec.begin();
|
||||
|
||||
@@ -453,7 +453,7 @@ void WESplClient::setRowsUploadInfo(int64_t RowsRead, int64_t RowsInserted)
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
void WESplClient::add2ColOutOfRangeInfo(int ColNum,
|
||||
CalpontSystemCatalog::ColDataType ColType,
|
||||
execplan::CalpontSystemCatalog::ColDataType ColType,
|
||||
std::string& ColName, int NoOfOors)
|
||||
{
|
||||
WEColOORInfo aColOorInfo;
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
|
||||
#include "we_messages.h"
|
||||
#include "calpontsystemcatalog.h"
|
||||
using namespace execplan;
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
@@ -47,11 +46,11 @@ class WESplClient; //forward decleration
|
||||
class WEColOORInfo // Column Out-Of-Range Info
|
||||
{
|
||||
public:
|
||||
WEColOORInfo(): fColNum(0), fColType(CalpontSystemCatalog::INT), fNoOfOORs(0) {}
|
||||
WEColOORInfo(): fColNum(0), fColType(execplan::CalpontSystemCatalog::INT), fNoOfOORs(0) {}
|
||||
~WEColOORInfo() {}
|
||||
public:
|
||||
int fColNum;
|
||||
CalpontSystemCatalog::ColDataType fColType;
|
||||
execplan::CalpontSystemCatalog::ColDataType fColType;
|
||||
std::string fColName;
|
||||
int fNoOfOORs;
|
||||
};
|
||||
@@ -390,8 +389,7 @@ private:
|
||||
std::string fErrInfoFile;
|
||||
|
||||
void setRowsUploadInfo(int64_t RowsRead, int64_t RowsInserted);
|
||||
void add2ColOutOfRangeInfo(int ColNum,
|
||||
CalpontSystemCatalog::ColDataType ColType,
|
||||
void add2ColOutOfRangeInfo(int ColNum, execplan::CalpontSystemCatalog::ColDataType ColType,
|
||||
std::string& ColName, int NoOfOors);
|
||||
void setBadDataFile(const std::string& BadDataFile);
|
||||
void setErrInfoFile(const std::string& ErrInfoFile);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
Copyright (C) 2019 MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -249,8 +250,8 @@ void WESplitterApp::processMessages()
|
||||
{
|
||||
try
|
||||
{
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_MODE;
|
||||
aBs << (ByteStream::quadbyte) fCmdArgs.getMode();
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_MODE;
|
||||
aBs << (messageqcpp::ByteStream::quadbyte) fCmdArgs.getMode();
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
std::string aJobId = fCmdArgs.getJobId();
|
||||
@@ -268,7 +269,7 @@ void WESplitterApp::processMessages()
|
||||
if (fDh.getDebugLvl())
|
||||
cout << "CPImport cmd line - " << aCpImpCmd << endl;
|
||||
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_CMDLINEARGS;
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_CMDLINEARGS;
|
||||
aBs << aCpImpCmd;
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
@@ -278,7 +279,7 @@ void WESplitterApp::processMessages()
|
||||
if (fDh.getDebugLvl())
|
||||
cout << "BrmReport FileName - " << aBrmRpt << endl;
|
||||
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_BRMRPT;
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_BRMRPT;
|
||||
aBs << aBrmRpt;
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
@@ -297,8 +298,8 @@ void WESplitterApp::processMessages()
|
||||
{
|
||||
// In this mode we ignore almost all cmd lines args which
|
||||
// are usually send to cpimport
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_MODE;
|
||||
aBs << (ByteStream::quadbyte) fCmdArgs.getMode();
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_MODE;
|
||||
aBs << (messageqcpp::ByteStream::quadbyte) fCmdArgs.getMode();
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
std::string aJobId = fCmdArgs.getJobId();
|
||||
@@ -323,7 +324,7 @@ void WESplitterApp::processMessages()
|
||||
if (fDh.getDebugLvl())
|
||||
cout << "CPImport cmd line - " << aCpImpCmd << endl;
|
||||
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_CMDLINEARGS;
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_CMDLINEARGS;
|
||||
aBs << aCpImpCmd;
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
@@ -333,7 +334,7 @@ void WESplitterApp::processMessages()
|
||||
if (fDh.getDebugLvl())
|
||||
cout << "BrmReport FileName - " << aBrmRpt << endl;
|
||||
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_BRMRPT;
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_BRMRPT;
|
||||
aBs << aBrmRpt;
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
@@ -352,8 +353,8 @@ void WESplitterApp::processMessages()
|
||||
{
|
||||
// In this mode we ignore almost all cmd lines args which
|
||||
// are usually send to cpimport
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_MODE;
|
||||
aBs << (ByteStream::quadbyte) fCmdArgs.getMode();
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_MODE;
|
||||
aBs << (messageqcpp::ByteStream::quadbyte) fCmdArgs.getMode();
|
||||
fDh.send2Pm(aBs);
|
||||
|
||||
aBs.restart();
|
||||
@@ -373,7 +374,7 @@ void WESplitterApp::processMessages()
|
||||
if (fDh.getDebugLvl())
|
||||
cout << "CPImport FileName - " << aCpImpFileName << endl;
|
||||
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_IMPFILENAME;
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_IMPFILENAME;
|
||||
aBs << aCpImpFileName;
|
||||
fDh.send2Pm(aBs);
|
||||
}
|
||||
@@ -450,8 +451,8 @@ void WESplitterApp::processMessages()
|
||||
if (aNoSec < 10) aNoSec++; //progressively go up to 10Sec interval
|
||||
|
||||
aBs.restart();
|
||||
aBs << (ByteStream::byte) WE_CLT_SRV_KEEPALIVE;
|
||||
mutex::scoped_lock aLock(fDh.fSendMutex);
|
||||
aBs << (messageqcpp::ByteStream::byte) WE_CLT_SRV_KEEPALIVE;
|
||||
boost::mutex::scoped_lock aLock(fDh.fSendMutex);
|
||||
fDh.send2Pm(aBs);
|
||||
aLock.unlock();
|
||||
//fDh.sendHeartbeats();
|
||||
@@ -604,7 +605,13 @@ void WESplitterApp::updateWithJobFile(int aIdx)
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
std::string err;
|
||||
setuid(0); //@BUG 4343 set effective userid to root.
|
||||
// Why do we need this if we don't care about f()'s rc ?
|
||||
// @BUG4343
|
||||
if( setuid( 0 ) < 0 )
|
||||
{
|
||||
std::cerr << " we_splitterapp: couldn't set uid " << std::endl;
|
||||
}
|
||||
|
||||
std::cin.sync_with_stdio(false);
|
||||
|
||||
try
|
||||
@@ -633,7 +640,7 @@ int main(int argc, char** argv)
|
||||
errMsgArgs.add(err);
|
||||
aWESplitterApp.fpSysLog->logMsg(errMsgArgs, logging::LOG_TYPE_ERROR, logging::M0000);
|
||||
SPLTR_EXIT_STATUS = 1;
|
||||
aWESplitterApp.fDh.fLog.logMsg( err, MSGLVL_ERROR );
|
||||
aWESplitterApp.fDh.fLog.logMsg( err, WriteEngine::MSGLVL_ERROR );
|
||||
aWESplitterApp.fContinue = false;
|
||||
//throw runtime_error(err); BUG 4298
|
||||
}
|
||||
|
||||
@@ -32,15 +32,12 @@
|
||||
#include <boost/thread/condition.hpp>
|
||||
#include <boost/scoped_array.hpp>
|
||||
#include <boost/thread.hpp>
|
||||
using namespace boost;
|
||||
|
||||
#include "bytestream.h"
|
||||
using namespace messageqcpp;
|
||||
|
||||
#include "we_cmdargs.h"
|
||||
#include "we_sdhandler.h"
|
||||
#include "we_simplesyslog.h"
|
||||
using namespace WriteEngine;
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
@@ -43,15 +43,15 @@ public:
|
||||
|
||||
public:
|
||||
//..Public methods
|
||||
std::string getValue(const vector<string>& section) const;
|
||||
std::string getAttribute(const std::vector<string>& sections,
|
||||
std::string getValue(const std::vector<std::string>& section) const;
|
||||
std::string getAttribute(const std::vector<std::string>& sections,
|
||||
const std::string& Tag) const;
|
||||
void getConfig(const std::string& section,
|
||||
const std::string& name, std::vector<std::string>& values ) const;
|
||||
void getAttributeListForAllChildren(
|
||||
const vector<string>& sections,
|
||||
const string& attributeTag,
|
||||
vector<string>& attributeValues);
|
||||
const std::vector<std::string>& sections,
|
||||
const std::string& attributeTag,
|
||||
std::vector<std::string>& attributeValues);
|
||||
|
||||
private:
|
||||
//..Private methods
|
||||
|
||||
@@ -44,4 +44,3 @@ target_link_libraries(writeengine ${NETSNMP_LIBRARIES})
|
||||
set_target_properties(writeengine PROPERTIES VERSION 1.0.0 SOVERSION 1)
|
||||
|
||||
install(TARGETS writeengine DESTINATION ${ENGINE_LIBDIR} COMPONENT libs)
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ using namespace std;
|
||||
#include "idbcompress.h"
|
||||
#include "writeengine.h"
|
||||
#include "cacheutils.h"
|
||||
#include "we_fileop.h"
|
||||
|
||||
using namespace execplan;
|
||||
|
||||
@@ -238,7 +239,8 @@ int ColumnOp::allocRowId(const TxnID& txnid, bool useStartingExtent,
|
||||
|
||||
for (i = 0; i < dbRootExtentTrackers.size(); i++)
|
||||
{
|
||||
if (i != column.colNo)
|
||||
uint32_t colNo = column.colNo;
|
||||
if (i != colNo)
|
||||
dbRootExtentTrackers[i]->nextSegFile(dbRoot, partition, segment, newHwm, startLbid);
|
||||
|
||||
// Round up HWM to the end of the current extent
|
||||
@@ -471,6 +473,15 @@ int ColumnOp::allocRowId(const TxnID& txnid, bool useStartingExtent,
|
||||
if ( rc != NO_ERROR)
|
||||
return rc;
|
||||
|
||||
// MCOL-498 This must be a first block in a new extent so
|
||||
// fill the block up to its boundary with empties. Otherwise
|
||||
// there could be fantom values.
|
||||
{
|
||||
uint64_t emptyVal = getEmptyRowValue(column.colDataType, column.colWidth);
|
||||
setEmptyBuf(buf, BYTE_PER_BLOCK, emptyVal, column.colWidth);
|
||||
}
|
||||
|
||||
|
||||
for (j = 0; j < totalRowPerBlock; j++)
|
||||
{
|
||||
if (isEmptyRow(buf, j, column))
|
||||
@@ -1519,6 +1530,8 @@ void ColumnOp::setColParam(Column& column,
|
||||
* rowIdArray - the array of row id, for performance purpose, I am assuming the rowIdArray is sorted
|
||||
* valArray - the array of row values
|
||||
* oldValArray - the array of old value
|
||||
* bDelete - yet. The flag must be useless b/c writeRows
|
||||
* is used for deletion.
|
||||
* RETURN:
|
||||
* NO_ERROR if success, other number otherwise
|
||||
***********************************************************/
|
||||
@@ -1533,12 +1546,16 @@ int ColumnOp::writeRow(Column& curCol, uint64_t totalRow, const RID* rowIdArray,
|
||||
char charTmpBuf[8];
|
||||
uint64_t emptyVal;
|
||||
int rc = NO_ERROR;
|
||||
bool fillUpWEmptyVals = false;
|
||||
bool firstRowInBlock = false;
|
||||
bool lastRowInBlock = false;
|
||||
uint16_t rowsInBlock = BYTE_PER_BLOCK / curCol.colWidth;
|
||||
|
||||
while (!bExit)
|
||||
{
|
||||
curRowId = rowIdArray[i];
|
||||
|
||||
calculateRowId(curRowId, BYTE_PER_BLOCK / curCol.colWidth, curCol.colWidth, dataFbo, dataBio);
|
||||
calculateRowId(curRowId, rowsInBlock, curCol.colWidth, dataFbo, dataBio);
|
||||
|
||||
// load another data block if necessary
|
||||
if (curDataFbo != dataFbo)
|
||||
@@ -1551,8 +1568,18 @@ int ColumnOp::writeRow(Column& curCol, uint64_t totalRow, const RID* rowIdArray,
|
||||
return rc;
|
||||
|
||||
bDataDirty = false;
|
||||
// MCOL-498 We got into the next block, so the row is first in that block
|
||||
// - fill the block up with empty magics.
|
||||
if ( curDataFbo != -1 && !bDelete )
|
||||
fillUpWEmptyVals = true;
|
||||
}
|
||||
|
||||
// MCOL-498 CS hasn't touched any block yet,
|
||||
// but the row filled will be the first in the block.
|
||||
firstRowInBlock = ( !(curRowId % (rowsInBlock)) ) ? true : false;
|
||||
if( firstRowInBlock && !bDelete )
|
||||
fillUpWEmptyVals = true;
|
||||
|
||||
curDataFbo = dataFbo;
|
||||
rc = readBlock(curCol.dataFile.pFile, dataBuf, curDataFbo);
|
||||
|
||||
@@ -1562,7 +1589,7 @@ int ColumnOp::writeRow(Column& curCol, uint64_t totalRow, const RID* rowIdArray,
|
||||
bDataDirty = true;
|
||||
}
|
||||
|
||||
// This is a awkward way to convert void* and get ith element, I just don't have a good solution for that
|
||||
// This is a awkward way to convert void* and get its element, I just don't have a good solution for that
|
||||
// How about pVal = valArray + i*curCol.colWidth?
|
||||
switch (curCol.colType)
|
||||
{
|
||||
@@ -1676,8 +1703,54 @@ int ColumnOp::writeRow(Column& curCol, uint64_t totalRow, const RID* rowIdArray,
|
||||
|
||||
// take care of the cleanup
|
||||
if (bDataDirty && curDataFbo >= 0)
|
||||
{
|
||||
if ( fillUpWEmptyVals )
|
||||
{
|
||||
emptyVal = getEmptyRowValue(curCol.colDataType, curCol.colWidth);
|
||||
int writeSize = BYTE_PER_BLOCK - ( dataBio + curCol.colWidth );
|
||||
// MCOL-498 Add the check though this is unlikely at the moment of writing.
|
||||
if ( writeSize )
|
||||
setEmptyBuf( dataBuf + dataBio + curCol.colWidth, writeSize,
|
||||
emptyVal, curCol.colWidth );
|
||||
}
|
||||
|
||||
rc = saveBlock(curCol.dataFile.pFile, dataBuf, curDataFbo);
|
||||
|
||||
if ( rc != NO_ERROR)
|
||||
return rc;
|
||||
|
||||
// MCOL-498 If it was the last row in a block fill the next block with
|
||||
// empty vals, otherwise next ColumnOp::allocRowId()
|
||||
// will fail on the next block.
|
||||
lastRowInBlock = ( rowsInBlock - ( curRowId % rowsInBlock ) == 1 ) ? true : false;
|
||||
if ( lastRowInBlock )
|
||||
{
|
||||
if( !fillUpWEmptyVals )
|
||||
emptyVal = getEmptyRowValue(curCol.colDataType, curCol.colWidth);
|
||||
// MCOL-498 Skip if this is the last block in an extent.
|
||||
if ( curDataFbo % MAX_NBLOCKS != MAX_NBLOCKS - 1 )
|
||||
{
|
||||
rc = saveBlock(curCol.dataFile.pFile, dataBuf, curDataFbo);
|
||||
if ( rc != NO_ERROR)
|
||||
return rc;
|
||||
|
||||
curDataFbo += 1;
|
||||
rc = readBlock(curCol.dataFile.pFile, dataBuf, curDataFbo);
|
||||
if ( rc != NO_ERROR)
|
||||
return rc;
|
||||
|
||||
unsigned char zeroSubBlock[BYTE_PER_SUBBLOCK];
|
||||
std::memset(zeroSubBlock, 0, BYTE_PER_SUBBLOCK);
|
||||
// The first subblock is made of 0 - fill the block with empty vals.
|
||||
if ( !std::memcmp(dataBuf, zeroSubBlock, BYTE_PER_SUBBLOCK) )
|
||||
{
|
||||
setEmptyBuf(dataBuf, BYTE_PER_BLOCK, emptyVal, curCol.colWidth);
|
||||
rc = saveBlock(curCol.dataFile.pFile, dataBuf, curDataFbo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -267,7 +267,7 @@ public:
|
||||
bool bDelete = false);
|
||||
|
||||
/**
|
||||
* @brief Write row(s) for update and delete @Bug 1886,2870
|
||||
* @brief Write row(s) for delete @Bug 1886,2870
|
||||
*/
|
||||
EXPORT virtual int writeRows(Column& curCol,
|
||||
uint64_t totalRow,
|
||||
@@ -277,7 +277,7 @@ public:
|
||||
bool bDelete = false);
|
||||
|
||||
/**
|
||||
* @brief Write row(s) for update and delete @Bug 1886,2870
|
||||
* @brief Write row(s) for update @Bug 1886,2870
|
||||
*/
|
||||
EXPORT virtual int writeRowsValues(Column& curCol,
|
||||
uint64_t totalRow,
|
||||
|
||||
@@ -38,9 +38,9 @@ namespace
|
||||
{
|
||||
const char* DICT_TYPE("D");
|
||||
const char* ENCODING("UTF-8");
|
||||
const char* JOBNAME("Job_");
|
||||
const char* LOGNAME("Jobxml_");
|
||||
const std::string LOGDIR("/log/");
|
||||
const char* JOBNAME("Job_");
|
||||
}
|
||||
|
||||
namespace WriteEngine
|
||||
@@ -438,10 +438,11 @@ void XMLGenProc::getColumnsForTable(
|
||||
throw std::runtime_error( oss.str() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Generate Job XML File Name
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
std::string XMLGenProc::genJobXMLFileName( ) const
|
||||
{
|
||||
std::string xmlFileName;
|
||||
@@ -465,7 +466,10 @@ std::string XMLGenProc::genJobXMLFileName( ) const
|
||||
if (!p.has_root_path())
|
||||
{
|
||||
char cwdPath[4096];
|
||||
getcwd(cwdPath, sizeof(cwdPath));
|
||||
char *buf;
|
||||
buf = getcwd(cwdPath, sizeof(cwdPath));
|
||||
if (buf == NULL)
|
||||
throw std::runtime_error("Failed to get the current working directory!");
|
||||
boost::filesystem::path p2(cwdPath);
|
||||
p2 /= p;
|
||||
xmlFileName = p2.string();
|
||||
@@ -479,7 +483,7 @@ std::string XMLGenProc::genJobXMLFileName( ) const
|
||||
|
||||
return xmlFileName;
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// writeXMLFile
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -1330,7 +1330,13 @@ int XMLJob::genJobXMLFileName(
|
||||
// nothing else to do
|
||||
#else
|
||||
char cwdPath[4096];
|
||||
getcwd(cwdPath, sizeof(cwdPath));
|
||||
char *err;
|
||||
err = getcwd(cwdPath, sizeof(cwdPath));
|
||||
if (err == NULL)
|
||||
{
|
||||
errMsg = "Failed to get the current working directory.";
|
||||
return -1;
|
||||
}
|
||||
string trailingPath(xmlFilePath.string());
|
||||
xmlFilePath = cwdPath;
|
||||
xmlFilePath /= trailingPath;
|
||||
|
||||
Reference in New Issue
Block a user