Field news

Hello Everyone!

The first test iteration of the release candidate has been completed.

[12.09.2023 18:16:22] [info] Provider DLL    :lcpi.ibprovider-v5_vc17_w64_prof_d.dll
[12.09.2023 18:16:22] [info] Provider Version:5.32.0.44369
[12.09.2023 18:16:22] [info] Server Name     :Firebird
[12.09.2023 18:16:22] [info] Server Version  :4.0.4.2984
[12.09.2023 18:16:22] [info] Client Name     :LCPI.IBProvider.RemoteFB
[12.09.2023 18:16:22] [info] Client Version  :5.32.0.44369
[12.09.2023 18:16:22] [info] Database ODS    :13.0
[12.09.2023 18:16:22] [info] Database Dialect:3
[12.09.2023 18:16:22] [info] ConnectionString:

provider=LCPI.IBProvider.5.Private.vc17.debug;location=inet4://localhost:3070/d:\database\ram\FB40_PORT3070\ibp_test_fb40_d3_2.gdb;user id=GAMER;password=vermut;ctype=win1251;temp_file_dir=d:\database\ram\temp;icu_library=icuuc63.dll;icuin_library=icuin63.dll;dbclient_type=fb.direct;

[12.09.2023 18:16:22] [ExecuteTests] 
[12.09.2023 18:16:22] [ExecuteTests] Enter [cancel] for interrupt execution
[12.09.2023 18:16:22] [ExecuteTests] 
[12.09.2023 18:16:22] Creation 10 thread(s)...
...
[14.09.2023 03:21:04] [summary] ------------------------------------------- [SUMMARY INFORMATION]
[14.09.2023 03:21:04] [summary] [TESTS]
[14.09.2023 03:21:04] [summary] EXECUTED      : 744194
[14.09.2023 03:21:04] [summary] SUCCEEDED     : 744126
[14.09.2023 03:21:04] [summary] FAILED        : 0
[14.09.2023 03:21:04] [summary] WITH WARNINGS : 68 [ 100 warning(s) ]
[14.09.2023 03:21:04] [summary] 
[14.09.2023 03:21:04] [summary] - - - - - - - - - - - - - - - - - - - - - -
[14.09.2023 03:21:04] [summary] [TEST TIMES]
[14.09.2023 03:21:04] [summary] REAL          : 11747546595004 [13 day(s)14:19:14.6595004]
[14.09.2023 03:21:04] [summary] USER          : 3326079531250 [3 day(s)20:23:27.9531250]
[14.09.2023 03:21:04] [summary] KERNEL        : 476050468750  [13:13:25.0468750]
[14.09.2023 03:21:04] [summary] TOTAL         : 3802130000000 [4 day(s)09:36:53]
[14.09.2023 03:21:04] 
[14.09.2023 03:21:04] [TEST HEAP] Test heap is empty
[14.09.2023 03:21:04] [TEST HEAP] Validate ... OK
[14.09.2023 03:21:05] [TEST HEAP] Destroy ... OK
[14.09.2023 03:21:05] 
[14.09.2023 03:21:05] [summary] ------------------------------------------- [PROCESS INFORMATION]
[14.09.2023 03:21:05] [summary] [VIRTUAL MEMORY]
[14.09.2023 03:21:05] [summary] 
[14.09.2023 03:21:05] [summary] PRIVATE BYTES      : 29104 KB       [28MB 432KB]
[14.09.2023 03:21:05] [summary] PEAK PRIVATE BYTES : 12951656 KB    [12GB 360MB 104KB]
[14.09.2023 03:21:05] [summary] VIRTUAL SIZE       : 4491608 KB     [4GB 290MB 344KB]
[14.09.2023 03:21:05] [summary] PAGE FAULT COUNT   : 118733841
[14.09.2023 03:21:05] [summary] 
[14.09.2023 03:21:05] [summary] - - - - - - - - - - - - - - - - - - - - - -
[14.09.2023 03:21:05] [summary] [HANDLES]
[14.09.2023 03:21:05] [summary] 
[14.09.2023 03:21:05] [summary] HANDLES            : 575
[14.09.2023 03:21:05] [summary] 
[14.09.2023 03:21:05] [summary] - - - - - - - - - - - - - - - - - - - - - -
[14.09.2023 03:21:05] [summary] TOTAL ERRORS  : 0
[14.09.2023 03:21:05] [summary] TOTAL WARNINGS: 100
[14.09.2023 03:21:05] [summary] FULL PASSES   : 1
[14.09.2023 03:21:05] [summary] GEN TESTS     : 8338268

It was the most scary part of this test process. The result of next parts can be predicted.

Field news

FB4. FINISH

FB4 and Visual Studio

I am verifying the new release of our ADO.NET provider for OLE DB and thinking that this picture will be useful for anyone, who is planning to start using the combination of FB4, .NET and IBProvider 🙂

Field news

The load tests of IBP v5.31.1 with FB4 has finished today. No real problems were detected.

A few little issues with first dialect have been already fixed in version 5.31.5.

During these tests Firebird ate the 116 days of my CPU time 🙂

It’s time to start testing IBP v5.31.5 and begin implementing the support of the last new FB4 datatype — «TIME WITH TIME ZONE».

I am not expected the problems here, although there can be unexpected surprises.

Alternative Text Literals

New IBProvider 5.31.1.43971 has added the support of UTF16 symbols for alternative text literals. It means that provider will be correctly processing the following query:

select _win1251 q’?мама, мама, что я буду делать??’ from rdb$database;

I hope that Firebird will be able to process this query in the near future.

Note that, you should use UTF8 connection charset for executing the such queries.

Release of ADO.NET Provider v1.27

Hello All.

It is a small update of our LCPI ADO.NET provider.

We have added the support of latest new IBProvider properties:

  • decfloat16_rules
  • decfloat34_rules
  • int128_rules
  • dbtimestamp_with_tz_rules
  • dbtime_with_tz_rules
  • timezones_source
  • icuin_library
  • icuin_library_64
  • sql_cache__scope
  • sql_cache__instance_id
  • sql_cache__size
  • sql_cache__time
  • sql_cache__max_len

All the changes were made in OleDbConnectionStringBuilder. You can see these changes in the connection configuration of DDEX provider.

Data provider was not changed.

Additionally, ADO.NET provider was tested with FB4. No problems were found, everything works as expected.

Getting NUMERIC and DECIMAL as text

The new build (5.31.0.43938) of IBProvider adds the new feature — getting the NUMERIC/DECIMAL values as text.

It will help resolve the problems with reading these datatypes through linked server.

For example, Firebird (and InterBase) allows to save value 1 into column with datatype NUMERIC(4,4). Yes, it is really possible:

When you try to read this data through MSSQL linked server, you will get the error:

OLE DB provider ‘LCPI.IBProvider.5’ for linked server ‘FB4’ returned invalid data for column ‘[FB4]…[NUM].N_4_4’.

(далее…)

The support of DBTIMESTAMPOFFSET

The following example demonstrates the support of DBTIMESTAMPOFFSET datatype for non-FB4 servers.

This simple code connects to FB3 and asks IBProvider to translate ‘2023-08-09 21:53 Europe/Moscow’ string into binary presentation of TIMESTAMP WITH TIME ZONE datatype — DBTIMESTAMPOFFSET.

Provider will do it with help ICU library. (далее…)

[FB4] TIMESTAMP WITH TIME ZONE

Hello All.

I think, the development of FB4 TIMESTAMP WITH TIME ZONE support has been arrived a final stage.

Provider can process time zone regions itself and through ICU (v63.1).

By default, this datatype will be mapped on the text (WSTR) but you can map it on MSSQL datatype DBTIMESTAMPOFFSET, too.

For configuring a behavior the following properties were added:

So, please, download IBProvider Trial 5.31.0.43750 and contact us if you have any questions or comments on this feature.

Thanks.

MSSQL and TIMESTAMP WITH TIME ZONE

Hello one more time.

As I have said early, MSSQL processes TIMESTAMP WITH TIME ZONE datatype using DBTIMESTAMPOFFSET structure OLE DB.

Today I have checked it again. It is so really.

By default IBProvider publishes TIMESTAMP WITH TIME ZONE as text but you can change this behavior using dbtimestamp_with_tz_rules property. That I did in this case — I defined this property in connection string with «1» value.

PS. I think, it is the first time when MSSQL connect to FB4. Although, maybe, one of our clients have already done it 🙂