GithubHelp home page GithubHelp logo

amironov73 / managedirbis Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 3.0 520.54 MB

Former ManagedClient adapted for .NET 4.5, 4.6, 4.7, and .NET Core

Home Page: http://arsmagna.ru

License: MIT License

C# 95.89% Batchfile 0.16% Smalltalk 0.14% ANTLR 0.46% Pascal 0.75% TeX 0.22% Shell 0.01% C 0.12% F* 1.78% HTML 0.03% CSS 0.01% JavaScript 0.03% ASP.NET 0.01% Witcher Script 0.20% Visual Basic 6.0 0.23%
c-sharp dotnet dotnet-core framework irbis open-source

managedirbis's People

Contributors

amironov73 avatar dependabot[bot] avatar fossabot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

managedirbis's Issues

Create commands

  • CreateDictionaryCommand
  • DeleteDatabaseCommand
  • DatabaseInfoCommand
  • GetMaxMfnCommand
  • ServerStatCommand
  • ServerVersionCommand
  • ListProcessesCommand
  • ListUsersCommand
  • NopCommand
  • ReadRecordsCommand
  • ReloadDictionaryCommand
  • ReloadMasterFileCommand
  • RestartServerCommand
  • TruncateDatabaseCommand
  • UnlockDatabaseCommand
  • UnlockRecordsCommand
  • UpdateIniFileCommand
  • ReadRawRecordsCommand
  • RawSearchCommand
  • WriteRawRecordsCommand

Incorrect suffix evaluation

Record:

#1: ^aFirst
#1: ^aSecond
#1: ^aThird
#1: ^aFourth
*****

Format:

"prefix " v1^a|, | " suffix "

Gives:

prefix First,  suffix Second, Third, Fourth, 

Must be:

prefix First, Second, Third, Fourth,  suffix 

Compound condition parsing broken

See test 061:

if v700^b.1<>' ' and v700^b1.1='.' and v700^b3.1='.' and v700^b*2.1<>' ' then '!!!' else '???' fi

Exception stack trace:

ErrorCode: 0
Description: Unexpected token: And (1,18): and
ManagedIrbis.Pft.PftSyntaxException: Unexpected token: And (1,18): and
в ManagedIrbis.Pft.Infrastructure.PftParser.ParseNext() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Infrastructure.cs:строка 191
в ManagedIrbis.Pft.Infrastructure.PftParser.ParseComparisonItem() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Boolean.cs:строка 95
в ManagedIrbis.Pft.Infrastructure.PftParser.ParseComparison() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Boolean.cs:строка 63
в ManagedIrbis.Pft.Infrastructure.PftParser._ParseCondition() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Boolean.cs:строка 149
в ManagedIrbis.Pft.Infrastructure.PftParser.ParseCondition() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Boolean.cs:строка 158
в ManagedIrbis.Pft.Infrastructure.PftParser.ChangeContext(PftTokenList newTokens, Func1 function) в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Infrastructure.cs:строка 88 в ManagedIrbis.Pft.Infrastructure.PftParser.ParseIf() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Boolean.cs:строка 195 в ManagedIrbis.Pft.Infrastructure.PftParser.Get(Dictionary2 map, PftTokenKind[] expectedTokens) в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Infrastructure.cs:строка 123
в ManagedIrbis.Pft.Infrastructure.PftParser.ParseNext() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.Infrastructure.cs:строка 184
в ManagedIrbis.Pft.Infrastructure.PftParser.ParseProgram() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.cs:строка 829
в ManagedIrbis.Pft.Infrastructure.PftParser.Parse() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Pft\Infrastructure\PftParser.cs:строка 846
в PftBench.MainForm.Parse() в C:\Projects\ManagedClient.45\Source\Classic\Apps\PftBench\Source\MainForm.cs:строка 80
в PftBench.MainForm._goButton_Click(Object sender, EventArgs e) в C:\Projects\ManagedClient.45\Source\Classic\Apps\PftBench\Source\MainForm.cs:строка 141

Empty subfield incorrectly handled by N command

Record:

1/1: ^aFirst^bSecond^cThird
2/1: ^aFirst^b^cThird

Script:

if p(v1^b) then 'Present' else 'Absent' fi /
if p(v2^b) then 'Present' else 'Absent' fi /
'D 1: ', |Present|d1^b, /
'D 2: ', |Present|d2^b, /
'N 1: ', |Absent|n1^b,  /
'N 2: ', |Absent|n2^b,  /

Gives:

Present
Present
D 1: Present
D 2: 
N 1: 
N 2: 

Expected:

Present
Present
D 1: Present
D 2: 
N 1: 
N 2: Absent

SearchRead gets wrong record flags

Use ReadRecord instead?

Дело в том, что методу SearchRead ИРБИС-сервер
частенько возвращает «немодифицируемые» записи (он
банально неправильно проставляет флаги и версию
записи, а потом саботирует сохранение изменений в
них). При считывании записи методом ReadRecord
приходят гарантировано «модифицируемые» записи.

Error in AsyncClientSocket terminates all the application

System.ArgumentNullException: Значение не может быть неопределенным.
Имя параметра: rawAnswer
в CodeJam.Code.NotNull[T](T arg, String argName) в C:\Projects\ManagedClient.45\Source\Classic\Libs\AM.Core\CodeJam\Code.cs:строка 405
в ManagedIrbis.Infrastructure.ServerResponse..ctor(IrbisConnection connection, Byte[] rawAnswer, Byte[] rawRequest, Boolean relax) в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\ServerResponse.cs:строка 132
в ManagedIrbis.Infrastructure.Commands.AbstractCommand.Execute(ClientQuery query) в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Commands\AbstractCommand.cs:строка 149
в ManagedIrbis.Infrastructure.Commands.ConnectCommand.Execute(ClientQuery query) в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Commands\ConnectCommand.cs:строка 162
в ManagedIrbis.IrbisConnection.Connect() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\IrbisConnection.cs:строка 458
в ManagedIrbis.AsyncExtensions.<>c__DisplayClass0_0.b__0() в C:\Projects\ManagedClient.45\Source\Classic\Libs\ManagedIrbis\Source\AsyncExtensions.cs:строка 67
в System.Threading.Tasks.Task1.InnerInvoke() в System.Threading.Tasks.Task.Execute() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
в AsyncSocketTester.MainForm.<_pressMeButton_Click>d__3.MoveNext() в C:\Projects\ManagedClient.45\Source\Classic\Apps\AsyncSocketTester\Source\MainForm.cs:строка 90

2017-04-24_180947

Missing subfield in repeating field

Record:

1/1: ^aFirst
1/2: ^aSecond
1/3: ^bThird
1/4: ^aFourth
1/5: ^aFifth

Format:

v1^a| - |

gives

First - Second -  - Fourth - Fifth - 

Should be

First - Second - Fourth - Fifth - 

Control characters in field/subfield breaks WriteRecordCommand

Unwanted empty records created on CR/LF in any field/subfield during WriteRecordCommand execution.

<40>^F******^A519.2/С232-769484^B7974-2^Kаб^V*^D20170126^1212359^E20170210^GBOOK^HE0040150392D2474^I1^CСборник задач по теории вероятностей, математической статистике и теории случайных функций : учеб. пособие [для вузов] / Под общ. ред. А.А. Свешникова, 2008. - 445 с.
</40>

TestSearch_Many failed

TestSearch_Many Found: 2015: 1, 2, 4, 7, 8, 9, 11, 13, 15, 19, 21, 23, 27, 36, ErrorCode: 0
Description: Already connected
ManagedIrbis.IrbisException: Already connected
в ManagedIrbis.IrbisConnection.ThrowIfConnected() в C:\Projects\ManagedClient.45\Sources\ManagedIrbis\Source\IrbisConnection.cs:строка 326
в ManagedIrbis.IrbisConnection.set_Database(String value) в C:\Projects\ManagedClient.45\Sources\ManagedIrbis\Source\IrbisConnection.cs:строка 167
в IrbisTestRunner.Tests.SearchTest.TestSearch_Many()
в ManagedIrbis.TestRunner.RunTests(AbstractTest testObject, MethodInfo method) в C:\Projects\ManagedClient.45\Sources\ManagedIrbis\Source\Testing\TestRunner.cs:строка 549
FAIL

System.Net.Sockets.SocketException with IPv6

System.Net.Sockets.SocketException was caught
Message=Адрес несовместим с выбранным протоколом [fe80::9903:a14b:f1fe:1176%11]:6666
Source=System
ErrorCode=10047
NativeErrorCode=10047
StackTrace:
в System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
в System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
в System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP)
в System.Net.Sockets.TcpClient.Connect(IPAddress address, Int32 port)
в ManagedIrbis.Infrastructure.SimpleClientSocket._GetTcpClient() в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Sockets\SimpleClientSocket.cs:строка 143
в ManagedIrbis.Infrastructure.SimpleClientSocket.ExecuteRequest(Byte[] request) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Sockets\SimpleClientSocket.cs:строка 220
в ManagedIrbis.Infrastructure.Commands.AbstractCommand.Execute(ClientQuery query) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Commands\AbstractCommand.cs:строка 160
в ManagedIrbis.Infrastructure.Commands.ConnectCommand.Execute(ClientQuery query) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Commands\ConnectCommand.cs:строка 170
в ManagedIrbis.IrbisConnection.Connect() в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\IrbisConnection.cs:строка 461
в ManagedIrbis.IrbisConnection..ctor(String connectionString) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\IrbisConnection.cs:строка 308
в Program.Main() в D:\Projects\ConsoleApplication16\Program.cs:строка 22
InnerException:

Exception during parsing response for SearchComman

Возникла ошибка при использовании библиотеки ManagedIrbis 1.6.5.1078

При вызове команды Search, выдает исключение:
Выдано исключение типа "ManagedIrbis.Infrastructure.IrbisNetworkException". в ManagedIrbis.Infrastructure.ServerResponse.RequireInt32() в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\ServerResponse.cs:строка 722
в ManagedIrbis.Infrastructure.ServerResponse..ctor(IrbisConnection connection, Byte[] rawAnswer, Byte[] rawRequest, Boolean relax) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\ServerResponse.cs:строка 144
в ManagedIrbis.Infrastructure.Commands.AbstractCommand.Execute(ClientQuery query) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Commands\AbstractCommand.cs:строка 154
в ManagedIrbis.Infrastructure.Commands.SearchCommand.Execute(ClientQuery clientQuery) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\Commands\SearchCommand.cs:строка 372
в ManagedIrbis.Infrastructure.AbstractEngine.StandardExecution(ExecutionContext context) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\AbstractEngine.cs:строка 217
в ManagedIrbis.Infrastructure.AbstractEngine.ExecuteCommand(ExecutionContext context) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\Infrastructure\AbstractEngine.cs:строка 248
в ManagedIrbis.IrbisConnection.ExecuteCommand(AbstractCommand command) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\IrbisConnection.cs:строка 602
в ManagedIrbis.IrbisConnection.Search(String expression) в c:\projects\managedclient-45\Source\Classic\Libs\ManagedIrbis\Source\IrbisConnection.cs:строка 1318

Поисковый запрос - "A=гоголь$"

Причем Wireshark показывает, что ответ со списком приходит от ИРБИС-сервера.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.