Skip to content

Commit

Permalink
整理代码
Browse files Browse the repository at this point in the history
  • Loading branch information
DigitalPlatform committed Jul 6, 2022
1 parent 44b2865 commit ba5eabc
Show file tree
Hide file tree
Showing 27 changed files with 683 additions and 113 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
Expand Down
4 changes: 4 additions & 0 deletions DigitalPlatform.LibraryServer.Install/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup></configuration>
2 changes: 1 addition & 1 deletion DigitalPlatform.LibraryServer.Install/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<package id="MySqlConnector" version="1.3.14" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.Memory" version="4.5.0" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
</packages>
20 changes: 10 additions & 10 deletions DigitalPlatform.LibraryServer/DigitalPlatform.LibraryServer.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.props')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
Expand Down Expand Up @@ -101,11 +101,11 @@
<Reference Include="Microsoft.Bcl.HashCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.Common.4.0.1\lib\netstandard2.0\Microsoft.CodeAnalysis.dll</HintPath>
<Reference Include="Microsoft.CodeAnalysis, Version=4.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.Common.4.2.0\lib\netstandard2.0\Microsoft.CodeAnalysis.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.4.0.1\lib\netstandard2.0\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=4.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.4.2.0\lib\netstandard2.0\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.DotNet.PlatformAbstractions, Version=3.1.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
Expand Down Expand Up @@ -467,8 +467,8 @@
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
Expand All @@ -478,11 +478,11 @@
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets'))" />
</Target>
<Import Project="..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.2\build\Microsoft.CodeAnalysis.Analyzers.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
Expand Down
6 changes: 3 additions & 3 deletions DigitalPlatform.LibraryServer/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<package id="Jurassic" version="3.0.0" targetFramework="net47" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net472" />
<package id="Microsoft.Bcl.HashCode" version="1.1.1" targetFramework="net472" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="3.3.2" targetFramework="net472" developmentDependency="true" />
<package id="Microsoft.CodeAnalysis.Common" version="4.0.1" targetFramework="net472" />
<package id="Microsoft.CodeAnalysis.CSharp" version="4.0.1" targetFramework="net472" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="3.3.3" targetFramework="net472" developmentDependency="true" />
<package id="Microsoft.CodeAnalysis.Common" version="4.2.0" targetFramework="net472" />
<package id="Microsoft.CodeAnalysis.CSharp" version="4.2.0" targetFramework="net472" />
<package id="Microsoft.DotNet.PlatformAbstractions" version="3.1.5" targetFramework="net472" />
<package id="Microsoft.Extensions.Caching.Abstractions" version="3.1.5" targetFramework="net472" />
<package id="Microsoft.Extensions.Caching.Memory" version="3.1.5" targetFramework="net472" />
Expand Down
2 changes: 1 addition & 1 deletion DigitalPlatform.OPAC.Server/AppConvertXmlToHtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -373,11 +373,11 @@ public int PrepareMarcFilter(
() =>
{
string[] saAddRef1 = {
this.BinDir + "\\digitalplatform.dll",
this.BinDir + "\\digitalplatform.core.dll",
this.BinDir + "\\digitalplatform.marcdom.dll",
this.BinDir + "\\digitalplatform.marckernel.dll",
this.BinDir + "\\digitalplatform.OPAC.Server.dll",
this.BinDir + "\\digitalplatform.dll",
this.BinDir + "\\digitalplatform.Text.dll",
this.BinDir + "\\digitalplatform.IO.dll",
this.BinDir + "\\digitalplatform.Xml.dll",
Expand Down
1 change: 0 additions & 1 deletion DigitalPlatform.OPAC.Server/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="mongocsharpdriver" version="1.10.1" targetFramework="net40" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
</packages>
60 changes: 55 additions & 5 deletions DigitalPlatform.rms.db/SqlDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@

using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;
using MySqlConnector;
using Dapper;
using Npgsql;

using Ghostscript.NET.Rasterizer;

Expand All @@ -32,9 +35,6 @@
using DigitalPlatform.Xml;
using DigitalPlatform.IO;
using DigitalPlatform.Core;
using MySqlConnector;
using Dapper;
using Npgsql;

namespace DigitalPlatform.rms
{
Expand Down Expand Up @@ -6859,7 +6859,8 @@ int GetObjectFile(Connection connection,
strDataFieldName,
textPtr,
lTotalLength);
else */ if (connection.IsPgsql() || connection.IsMsSqlServer())
else */
if (connection.IsPgsql() || connection.IsMsSqlServer())
source = new SqlImageStream(connection,
db_prefix,
strDataFieldName,
Expand Down Expand Up @@ -14145,7 +14146,6 @@ private int WriteSqlRecord(Connection connection,
// 检查时间戳
if (StringUtil.IsInList("ignorechecktimestamp", strStyle) == false)
{

if (baExistTimestamp != null
&& ByteArray.Compare(baInputTimestamp,
baExistTimestamp) != 0)
Expand Down Expand Up @@ -14390,7 +14390,9 @@ private int WriteSqlRecord(Connection connection,
byte[] textptr = row_info.newdata_textptr; // 数据指针
long lCurrentLength = row_info.newdata_length; // 数据体积长度
string strCompleteTimestamp = row_info.TimestampString; // 上次完整写入时的时间戳
// string strCompleteTimestamp = row_info.GetCompleteTimestamp(); // 上次完整写入时的时间戳
string strCurrentTimestamp = row_info.NewTimestampString; // 本次的时间戳
bool mix_mode = false; // 是否为混合模式? 2022/7/5

// Pgsql 坚持用 data 字段存储 bytea 数据。这样可以把 newfilename 和 newdptimestamp 让出来给对象文件,构成混合模式
if (IsPgsql())
Expand Down Expand Up @@ -14418,10 +14420,12 @@ private int WriteSqlRecord(Connection connection,
&& String.IsNullOrEmpty(strCurrentRange) == false
&& strCurrentRange[0] == '#')
{
// # 表示对象文件模式。FileName 恒为完成了的数据,NewFileName 恒为没有完成的数据
bObjectFile = true;
strCurrentRange = strCurrentRange.Substring(1);

lCurrentLength = GetObjectFileLength(strID, true);
mix_mode = true; // 表示本次希望用混合模式写入
}
else if (this.m_lObjectStartSize != -1 && lTotalLength >= this.m_lObjectStartSize
#if !XML_WRITE_TO_FILE
Expand Down Expand Up @@ -14474,9 +14478,17 @@ private int WriteSqlRecord(Connection connection,
strCurrentTimestamp = row_info.NewTimestampString;
}

// 2022/7/5
if (IsPgsql() && mix_mode)
{
// bObjectFile = true;
strCompleteTimestamp = row_info.NewTimestampString; // 前次完成的时间戳在 new 一侧
}

// 当strStyle存在 ignorechecktimestamp时,不判断时间戳
if (StringUtil.IsInList("ignorechecktimestamp", strStyle) == false)
{
/*
// 如果临时区有内容,则要把临时时间戳用来比较。否则就比较完成区的时间戳
if (string.IsNullOrEmpty(strCurrentRange) == false)
{
Expand All @@ -14486,6 +14498,43 @@ private int WriteSqlRecord(Connection connection,
{
strCurrentTimestamp = strCompleteTimestamp;
}
*/
string comp_timestamp = strCurrentTimestamp;

if (bFirst == true)
comp_timestamp = strCompleteTimestamp;

if (string.IsNullOrEmpty(comp_timestamp) == false)
{
byte[] baExistTimestamp = ByteArray.GetTimeStampByteArray(comp_timestamp);
if (ByteArray.Compare(baInputTimestamp,
baExistTimestamp) != 0)
{
strError = "时间戳不匹配";
baOutputTimestamp = baExistTimestamp; // 返回给前端,让前端能够得知当前的时间戳
return -2;
}
}
}

#if OLD
// 当strStyle存在 ignorechecktimestamp时,不判断时间戳
if (StringUtil.IsInList("ignorechecktimestamp", strStyle) == false)
{
/*
// 如果临时区有内容,则要把临时时间戳用来比较。否则就比较完成区的时间戳
if (string.IsNullOrEmpty(strCurrentRange) == false)
{
// strCurrentTimestamp = strCurrentTimestamp;
}
else
{
strCurrentTimestamp = strCompleteTimestamp;
}
*/
// 2022/7/6
if (string.IsNullOrEmpty(strCurrentRange) == false)
strCurrentTimestamp = strCompleteTimestamp;

if (string.IsNullOrEmpty(strCurrentTimestamp) == false)
{
Expand All @@ -14500,6 +14549,7 @@ private int WriteSqlRecord(Connection connection,
}
}

#endif
// 对象 bytes 是否最后 WriteLine() 一次性写入 SQL row。null 表示不等到最后 WriteLine() 就提前写入
byte[] direct_write_data = null;

Expand Down
Loading

0 comments on commit ba5eabc

Please sign in to comment.