[Firebird-net-provider] Fwd: Fbembed + .NET Provider 5.9.1. Memory leak?

2017-08-31 Thread Геннадий Забула
Hi all.

I have server, after a while, it starts continuously consume memory.
All approaches I've used before didn't show that this was particular
memory leak in server code.
To detect memory leak I've used vmmap, that showed private memory
(VirtualAlloc) is consumed (attach1.png
https://1drv.ms/i/s!AsU_6wa3CeYThLFeMp4JNF5PKg24Ig).
Screenshot doesn't fully shows, but there are a lot of 64 kb chunks
that was allocated during work of server.
VirtualAlloc allocations aren't handled by +ust (Create user mode
stack trace database) global flag, so I wasn't able to retrieve stacks
for these allocations.
But, there is Application Verifier that does tracks allocations and
stack traces. So I've used AppVerif+WinDbg and obtained following
information:

0:053> !avrf -vs -a 0x7FF5CB77
Searching call tracker @ 01dc4fcd2fc0 with 16384 valid entries ...
--
VirtualAlloc: 7FF5CB77 1 101000 4

7ffbc5ebac57: KERNELBASE!VirtualAlloc+0x47
7ffb9b124817: vfbasics!AVrfpVirtualAlloc+0x47
00018002e11c: fbembed!Firebird::MemoryPool::external_alloc+0xCC
00018002ef76: fbembed!Firebird::MemoryPool::internal_alloc+0x286
00018002d68e: fbembed!Firebird::MemoryPool::allocate_nothrow+0x21E
00018002e8de: fbembed!Firebird::MemoryPool::getExtent+0x2E
00018002eebf: fbembed!Firebird::MemoryPool::internal_alloc+0x1CF
00018002d68e: fbembed!Firebird::MemoryPool::allocate_nothrow+0x21E
00018002d44e: fbembed!Firebird::MemoryPool::allocate+0xE
000180116d8c: fbembed!PAR_gen_field+0x2C
0001800e3a53: fbembed!copy+0x3D3
0001800e3791: fbembed!copy+0x111
0001800e3791: fbembed!copy+0x111
0001800e6808: fbembed!make_validation+0x278
0001800e7464: fbembed!pass1_modify+0x2F4
0001800e0004: fbembed!CMP_pass1+0x1084
0001800e085e: fbembed!CMP_pass1+0x18DE
0001800e085e: fbembed!CMP_pass1+0x18DE
0001800e085e: fbembed!CMP_pass1+0x18DE
0001800de76b: fbembed!CMP_make_request+0x8B
0001800dc809: fbembed!CMP_compile2+0xD9
00018006f03c: fbembed!JRD_compile+0x8C
00018022f1c5: fbembed!prepare+0x9E5
00018022b114: fbembed!DSQL_prepare+0x2C4
000180084324: fbembed!jrd8_prepare+0x2C4
000180051c2a: fbembed!isc_dsql_prepare_m+0x2EA
00018005174d: fbembed!isc_dsql_prepare+0x15D
7ffb5fa6cea4: +0x7FFB5FA6CEA4

0:053> !ip2md 0x7FFB5FA6CEA4
MethodDesc:   7ffb5fccad38
Method Name:  DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr[],
FirebirdSql.Data.Client.Native.Handle.TransactionHandle ByRef,
FirebirdSql.Data.Client.Native.Handle.StatementHandle ByRef, Int16,
Byte[], Int16, IntPtr)
Class:7ffb5f001fd0
MethodTable:  7ffb5f002048
mdToken:  0600
Module:   7ffb5ef5ea38
IsJitted: yes
CodeAddr: 7ffb5fa6cc00
Transparency: Safe critical

As you can see, root of stack that allocates memory is this row
https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/blob/
2cedb4fb49c6bb1a7d9221914cea6060d643b6ff/Provider/src/FirebirdSql.Data.
FirebirdClient/Client/Native/FesStatement.cs#L268.
My first suggestion was that something in chain
FbConnection->FbConnectionInternal->FesDatabase->FesStatement->
StatementHandle
wasn't properly disposed/cleared.
But as I can see by !dumpheap -stat -type StatementHandle, all handles
already disposed or in finalizer queue, not mention that in dump there
are only 50 StatementHandles, that is much less than potentially
needed to occupate 700+ Mb.

Any ideas what happens here? Why memory allocated in PAR_gen_field
isn't deallocated after StatementHandle disposed?
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


[Firebird-net-provider] Fbembed + .NET Provider 5.9.1. Memory leak?

2017-08-10 Thread Геннадий Забула
Hi all.

I have server, after a while, it starts continuously consume memory.
All approaches I've used before didn't show that this was particular
memory leak in server code.
To detect memory leak I've used vmmap, that showed private memory
(VirtualAlloc) is consumed (attach1.png
https://1drv.ms/i/s!AsU_6wa3CeYThLFeMp4JNF5PKg24Ig).
Screenshot doesn't fully shows, but there are a lot of 64 kb chunks
that was allocated during work of server.
VirtualAlloc allocations aren't handled by +ust (Create user mode
stack trace database) global flag, so I wasn't able to retrieve stacks
for these allocations.
But, there is Application Verifier that does tracks allocations and
stack traces. So I've used AppVerif+WinDbg and obtained following
information:

0:053> !avrf -vs -a 0x7FF5CB77
Searching call tracker @ 01dc4fcd2fc0 with 16384 valid entries ...
--
VirtualAlloc: 7FF5CB77 1 101000 4

7ffbc5ebac57: KERNELBASE!VirtualAlloc+0x47
7ffb9b124817: vfbasics!AVrfpVirtualAlloc+0x47
00018002e11c: fbembed!Firebird::MemoryPool::external_alloc+0xCC
00018002ef76: fbembed!Firebird::MemoryPool::internal_alloc+0x286
00018002d68e: fbembed!Firebird::MemoryPool::allocate_nothrow+0x21E
00018002e8de: fbembed!Firebird::MemoryPool::getExtent+0x2E
00018002eebf: fbembed!Firebird::MemoryPool::internal_alloc+0x1CF
00018002d68e: fbembed!Firebird::MemoryPool::allocate_nothrow+0x21E
00018002d44e: fbembed!Firebird::MemoryPool::allocate+0xE
000180116d8c: fbembed!PAR_gen_field+0x2C
0001800e3a53: fbembed!copy+0x3D3
0001800e3791: fbembed!copy+0x111
0001800e3791: fbembed!copy+0x111
0001800e6808: fbembed!make_validation+0x278
0001800e7464: fbembed!pass1_modify+0x2F4
0001800e0004: fbembed!CMP_pass1+0x1084
0001800e085e: fbembed!CMP_pass1+0x18DE
0001800e085e: fbembed!CMP_pass1+0x18DE
0001800e085e: fbembed!CMP_pass1+0x18DE
0001800de76b: fbembed!CMP_make_request+0x8B
0001800dc809: fbembed!CMP_compile2+0xD9
00018006f03c: fbembed!JRD_compile+0x8C
00018022f1c5: fbembed!prepare+0x9E5
00018022b114: fbembed!DSQL_prepare+0x2C4
000180084324: fbembed!jrd8_prepare+0x2C4
000180051c2a: fbembed!isc_dsql_prepare_m+0x2EA
00018005174d: fbembed!isc_dsql_prepare+0x15D
7ffb5fa6cea4: +0x7FFB5FA6CEA4

0:053> !ip2md 0x7FFB5FA6CEA4
MethodDesc:   7ffb5fccad38
Method Name:  DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr[],
FirebirdSql.Data.Client.Native.Handle.TransactionHandle ByRef,
FirebirdSql.Data.Client.Native.Handle.StatementHandle ByRef, Int16,
Byte[], Int16, IntPtr)
Class:7ffb5f001fd0
MethodTable:  7ffb5f002048
mdToken:  0600
Module:   7ffb5ef5ea38
IsJitted: yes
CodeAddr: 7ffb5fa6cc00
Transparency: Safe critical

As you can see, root of stack that allocates memory is this row
https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/blob/2cedb4fb49c6bb1a7d9221914cea6060d643b6ff/Provider/src/FirebirdSql.Data.FirebirdClient/Client/Native/FesStatement.cs#L268.
My first suggestion was that something in chain
FbConnection->FbConnectionInternal->FesDatabase->FesStatement->StatementHandle
wasn't properly disposed/cleared.
But as I can see by !dumpheap -stat -type StatementHandle, all handles
already disposed or in finalizer queue, not mention that in dump there
are only 50 StatementHandles, that is much less than potentially
needed to occupate 700+ Mb.

Any ideas what happens here? Why memory allocated in PAR_gen_field
isn't deallocated after StatementHandle disposed?

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Entity Framework 5

2017-01-10 Thread Геннадий Забула
Too much effort?


On 10 January 2017 at 19:21, Jiří Činčura  wrote:
>> Have you considered supporting two separate libraries? In two separate
>> branches/nuget and so on?
>
> Not really.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] About GUIDs in Firebird

2017-01-10 Thread Геннадий Забула
We had encountered this one in our migration to .net provider, it
caused us much pain, because divergence with other SQL providers.

I'd vote for changing this and declaring it as breaking change. With
supplied fixes for existing code, of course.

On 10 January 2017 at 16:20, Jiří Činčura  wrote:
> Hi *,
>
> we have this ticket DNET-509 in tracker. Although I agree the change
> would be nice, it's also a breaking change as huge as it can get. What's
> your take on it? Or do you see clean way out?
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Entity Framework 5

2017-01-10 Thread Геннадий Забула
Have you considered supporting two separate libraries? In two separate
branches/nuget and so on?

On 9 January 2017 at 16:55, Jiří Činčura  wrote:
> Hi *,
>
> anybody still using EF5 (or even EF4)? Or is everybody on EF6...
> Thinking about slimming the FirebirdSql.Data.FirebirdClient and removing
> the old EF support and keeping only EF6 (EntityFramework.Firebird).
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Firing event when event count is 0

2016-12-16 Thread Геннадий Забула
If the event you mentioned means, "nothing happens, I'm just alive and
send you this", then you should only fire some event that means server
alive, nothing else. No one cares that event occurs just because
server sent something.

On 17 December 2016 at 00:22, Si Carter  wrote:
> No it doesn't make sense, a bit like saying "look, nothing happened" but
> here you go anyways...
>
> On 16 Dec 2016 15:15, "Jiří Činčura"  wrote:
>>
>> Hi *,
>>
>> As I'm now reworking some pieces in events (together with finalizers),
>> I'm wondering whether it make sense to fire the event for events when
>> the event count was 0. From outside POV it doesn't make much sense.
>>
>> What do you think?
>>
>> --
>> Mgr. Jiří Činčura
>> Independent IT Specialist
>>
>>
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EntitiyFramework and Update

2016-10-26 Thread Геннадий Забула
FB.NET doesn't wait on locks, it returns immediately with exception.
All other known for me  are waiting on locks. That's the behavior you
observe.
You need to override creation of transaction. You should use
FbTransaction with TBP in which you specify waiting option and
timeout.

On 26 October 2016 at 12:27, Gerdus van Zyl  wrote:
> I suspect the default transaction option might not be the same in firebird
> and other databases.
> Try setting the IsolationLevel to SERIALIZABLE on the transaction.
>
> On Wed, Oct 26, 2016 at 10:19 AM, Jiří Činčura  wrote:
>>
>> There's really nothing EF related. You can try it with multiple console
>> windows with multiple transactions together. It's fundamental way how
>> transactions work.
>>
>> --
>> Mgr. Jiří Činčura
>> Independent IT Specialist
>>
>>
>>
>> --
>> The Command Line: Reinvented for Modern Developers
>> Did the resurgence of CLI tooling catch you by surprise?
>> Reconnect with the command line and become more productive.
>> Learn the new .NET and ASP.NET CLI. Get your free copy!
>> http://sdm.link/telerik
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
>
>
>
> --
> 
> Gerdus van Zyl
> www.infireal.com
>
> --
> The Command Line: Reinvented for Modern Developers
> Did the resurgence of CLI tooling catch you by surprise?
> Reconnect with the command line and become more productive.
> Learn the new .NET and ASP.NET CLI. Get your free copy!
> http://sdm.link/telerik
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Some guess or hint

2016-09-06 Thread Геннадий Забула
I had catched such random issues by couple of tricks:
1. .trx files that were produced vstest.console. They always have call
stack with exception.
2. Unhandled exception handler that creates dump file of process
itself and then publish it as artifact. Dump can be opened in Visual
Studio, it will look as attached to process. Though I prefer using of
WinDbg

On 27 August 2016 at 10:28, Jiří Činčura  wrote:
> Hi *,
>
> I'm almost closing on compression support. It is stable when I run the
> tests on my machine. Multiple time, 32bit, 64bit. But are failing on
> AppVeyor.
>
> To make matters worse it's always different test(s). Check
> https://ci.appveyor.com/project/cincura_net/firebirdsql-data-firebirdclient/build/880
> or
> https://ci.appveyor.com/project/cincura_net/firebirdsql-data-firebirdclient/build/882
> . Only common piece is that it's always test with compression on (2nd
> parameter is True).
>
> I spent few days trying to guess what's wrong and fixing some things.
> But no final luck (I'll not list mine to not skew the thinking). So
> maybe some smart people here will have some idea.
>
> So let's open discussion. Or if you can make it fail on you machine,
> that would help as well.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Finalizers

2016-09-06 Thread Геннадий Забула
What finalizers are you mention?


On 29 August 2016 at 11:23, Gerdus van Zyl  wrote:
> I agree finalizers should not be used to mask or 'fix' incorrect provider
> usage. I try to avoid finalizers as much as possible since they run at
> unpredictable times causing hard to debug scenarios.
>
> On Sun, Aug 28, 2016 at 5:40 PM, Jiří Činčura  wrote:
>>
>> Hi *,
>>
>> Talking about finalizers in my last email. As I was getting through these,
>> I found few that are wrong-ish. In 99% cases failing with exception, that's
>> just swallowed. Confirmed from runtime. Although in 1% these might be lucky
>> I don't think it's correct usage.
>>
>> What the finalizers are mostly trying to do is something like close
>> connection gracefully with server or free some resources on server.
>>
>> And I believe this is wrong.
>>
>> First of all, this should be responsibility of developer to have correct
>> Dispose calls. Provider should not try to band aid it unless absolutely
>> necessary. Which brings me to the next point. The unmanaged resources, where
>> the finalizers make sense, are not something on server. We don't manage
>> that. Server should handle just fine when developer doesn’t close the
>> connection. Though some resources might be wasted. Unmanaged resources
>> directly allocated by provider are really a few around Embedded support
>> (mostly pointers and pieces of memory for marshalling). And these are
>> properly handled by SafeHandle. And finally finalizers introduce reentrancy
>> issues (anybody interested in details?) and it's really not correct in
>> provider as it grow out of hands.
>>
>> So in the foreseeable future I'll go through all of them and do massive
>> cleanup together with locking cleanup.
>>
>> It's probably going to cause some issues for some people, but their code
>> was wrong before, they were just "lucky".
>>
>> I believe it will make the code slightly faster and also solve some rare
>> bugs, often NREs from finalizer thread.
>>
>> Of course it will be new major version.
>>
>> --
>> Mgr. Jiří Činčura
>> Independent IT Specialist
>>
>>
>>
>> --
>>
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>>
>
>
>
> --
> 
> Gerdus van Zyl
> www.infireal.com
>
> --
>
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [Firebird-devel] Stored procedures etc. in .NET

2016-06-29 Thread Геннадий Забула
Looks good.
I wonder where do code should persist? Server/Client?
What performance impact for such logic?

On 28 June 2016 at 15:37, Daniel Rail  wrote:
> Hi,
>
> At June 27, 2016, 3:51 PM, Jiří Činčura wrote:
>
>> Hi *,
>
>> there's something I've been working on for a few evenings and weekends.
>> As you might know, from Firebird 3 there's and interface to write a
>> plugin that allows to execute any code as stored procedure, function or
>> trigger.
>
>> So why not to have these in .NET, right? I have a working plugin right
>> now. Currently only stored procedures are supported. No blobs at the
>> moment as well.
>
>> You can check small example at the end of this email.
>
>> Now the important part. Is there enough interest in this to keep working
>> it? The hardest part is mostly over. Now it's just adding support for
>> more objects and polishing it, hardening it and probably adding features
>> based on requests (like security).
>
> I can see myself and our company developing stored procedures,
> functions and triggers in .Net. There were times were it will likely
> be easier. And, stored procedures is a good starting point, since it
> can be called from a trigger. Also, this will make it easier to reuse
> business logic that is developed in .Net(without having to rewrite it
> in PSQL), if it is to implement such logic in a stored procedure or
> trigger.
>
> --
> Best regards,
>  Daniel Rail
>  Senior Software Developer
>  ACCRA Solutions Inc. (www.accra.ca)
>  ACCRA Med Software Inc. (www.filopto.com)
>
>
> --
> Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Zlib library

2016-06-21 Thread Геннадий Забула
There is also ILMerge option to include dependency in a package.

On 21 June 2016 at 11:02, Gerdus van Zyl  wrote:
> SharpZipLib looks to be more actively maintained and with clearer and more
> permissive licensing. It's a dependency of most of my project anyway so I
> would not mind it.
> An alternative to an external dependency is an intree copy with unnecesary
> bits(eg. bzip2,tar) removed.
>
> Out of curiosity why is DeflateStream/GZipStream not enough?
>
> On Mon, Jun 20, 2016 at 6:57 PM, Jiří Činčura  wrote:
>>
>> Hi *,
>>
>> Other topic to think about. The compression is Firebird is based on zlib
>> compression. That one is not in the framework. So unless somebody
>> contributes solid and proven implementation, when and if the compression
>> will make it to master, I'd have to introduce dependency. Maybe some sort of
>> optional.
>>
>> I successfully tested zlib from Ionic and SharpZipLib libraries.
>>
>> Discuss… ;)
>>
>> --
>> Mgr. Jiří Činčura
>> Independent IT Specialist
>>
>>
>> --
>> What NetFlow Analyzer can do for you? Monitors network bandwidth and
>> traffic
>> patterns at an interface-level. Reveals which users, apps, and protocols
>> are
>> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
>> J-Flow, sFlow and other flows. Make informed decisions using capacity
>> planning
>> reports. http://sdm.link/zohomanageengine
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
>
>
>
> --
> 
> Gerdus van Zyl
> www.infireal.com
>
> --
> Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [FB-Tracker] Created: (DNET-680) cannot connect to an embedded db with the 5.0.0.0

2016-05-19 Thread Геннадий Забула
I can confirm. Same issue here.
Steps:
run Update-Package FirebirdSql.Data.FirebirdClient
in package manager console

On 18 May 2016 at 15:57, livioc (JIRA)  wrote:
> cannot connect to an embedded db with the 5.0.0.0
> -
>
>  Key: DNET-680
>  URL: http://tracker.firebirdsql.org/browse/DNET-680
>  Project: .NET Data provider
>   Issue Type: Bug
>   Components: ADO.NET Provider
> Affects Versions: 5.0.0.0
>  Environment:  .net 4.6.1 application with the provider 5.0.0.0, i 
> tried different embedded 2.5.* versions on both x32/64 and windows 7/10 and i 
> had always the same error
> Reporter: livioc
> Assignee: Jiri Cincura
> Priority: Critical
>
>
>  i use this connection string
>  connectionString="Database=databasealiasname;ServerType=1;User=sysdba;Charset=WIN1252"
>  providerName="FirebirdSql.Data.FirebirdClient"/>
> and in the alias.conf i have the full file path
> databasealiasname= C:\ProgramData\database.fdb
>
> when i update the provider from 4.10 to 5 i get this exception when opening 
> the connection
> FirebirdSql.Data.FirebirdClient.FbException (0x80004005): no permission for 
> read-write access to database *** ---> no permission for read-write access to 
> database ***
>at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionInternal.cs:line
>  182
>at 
> FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.CreateNewConnectionIfPossibleImpl(FbConnectionString
>  connectionString) in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:line
>  202
>at 
> FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection
>  owner) in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:line
>  106
>at 
> FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Get(FbConnectionString
>  connectionString, FbConnection owner) in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:line
>  221
>at FirebirdSql.Data.FirebirdClient.FbConnection.Open() in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnection.cs:line
>  534
>
>
> with another app i get the exception only when doing the first query
> FirebirdSql.Data.FirebirdClient.FbException: no permission for read/select 
> access to TABLE *** ---> FirebirdSql.Data.Common.IscException: no permission 
> for read/select access to TABLE ***
>at FirebirdSql.Data.Client.Native.FesDatabase.ParseStatusVector(IntPtr[] 
> statusVector) in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\Client\Native\FesDatabase.cs:line
>  375
>at FirebirdSql.Data.Client.Native.FesStatement.Prepare(String commandText) 
> in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\Client\Native\FesStatement.cs:line
>  302
>at FirebirdSql.Data.FirebirdClient.FbCommand.Prepare(Boolean returnsSet) 
> in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:line
>  1169
>at 
> FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteCommand(CommandBehavior 
> behavior, Boolean returnsSet) in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:line
>  1192
>at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader(CommandBehavior 
> behavior) in 
> C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:line
>  527
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators: 
> http://tracker.firebirdsql.org/secure/Administrators.jspa
> -
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>
> --
> Mobile security can be enabling, not merely restricting. Employees who
> bring their own devices (BYOD) to work are irked by the imposition of MDM
> restrictions. Mobile Device Manager Plus allows you to control only the
> apps on BYO-devices by containerizing them, leaving personal data untouched!
> https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> 

[Firebird-net-provider] Two DbContexts same database

2016-04-18 Thread Геннадий Забула
Is it possible to have two different database contexts that points to
same databases file?

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Entity Framework: Best practices to workin a multiuser environment

2016-04-01 Thread Геннадий Забула
Keeping long-lived context instance it is something like having in-memory 
database. Yes you have all entities but it cost you memory. Still some apps ok 
with this, if user session works only with small subset of database entities. 

Sent from my Windows 10 phone

From: Jiří Činčura
Sent: Saturday, March 26, 2016 12:52 PM
To: For users and developers of the Firebird .NET providers
Subject: Re: [Firebird-net-provider] Entity Framework: Best practices to workin 
a multiuser environment

> Indeed. It's EF poor design, that they try to rework in EF core.
> Still there are plenty of workarounds for this. For example attaching
> entities only by ids.

Attaching by ID? It's still attaching...

> DbContext is supposed to be used in request-response scenario (web
> sites, for example), where context object is short-living object.

Quite opposite. Short-living context is recommended in request-response
scenarios. If you can keep the instance - like WPF, WinForms, etc. - the
benefit of having the context to track what you're doing is great help.

The context class itself was not designed to be used in any scenario in
particular. It should work and works in all range of options .NET
ecosystem offers. In fact, even just the disconnected scenario has at
least like 3 options to tackle it.

-- 
Mgr. Jiří Činčura
Independent IT Specialist

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Entity Framework: Best practices to work in a multiuser environment

2016-03-26 Thread Геннадий Забула
> That doesn't make any sense. If I dispose context after query then I
can't update the entities without attaching them to new context. Waste
of resources.

Indeed. It's EF poor design, that they try to rework in EF core.
Still there are plenty of workarounds for this. For example attaching
entities only by ids.

DbContext is supposed to be used in request-response scenario (web
sites, for example), where context object is short-living object.


On 26 March 2016 at 11:20, Jiří Činčura  wrote:
>> > d) Do I need to dispose the the context on closing the window?
>> Not only on that. you should create and dispose context for every
>> action you do with a database: insert, delete, update, query etc.
>
> That doesn't make any sense. If I dispose context after query then I
> can't update the entities without attaching them to new context. Waste
> of resources.
>
>> > 3.   As long the user does not explicit reload the data I am working 
>> > in a connected mode
>> You don't have to be always connected for any reason.
>
> True. But for fat client type applications this is then way easier than
> disconnected scenarios.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Entity Framework: Best practices to work in a multiuser environment

2016-03-25 Thread Геннадий Забула
EF context is implementation of unit-of-work pattern, it is not
repository pattern.

> d) Do I need to dispose the the context on closing the window?
Not only on that. you should create and dispose context for every
action you do with a database: insert, delete, update, query etc.

> 3.   As long the user does not explicit reload the data I am working in a 
> connected mode
You don't have to be always connected for any reason.

On 25 March 2016 at 09:18, Jiří Činčura  wrote:
>> a) Is the method described above considered as good practice?
>
> From what you've written, yes.
>
>> b) Basically it is a connected Context until the user refreshes the data.
>> In
>> this case the context is recreated.
>
> No problem with that.
>
>> c) In order to manage multiuser environment, do I need to work generally
>> with disconnected entities?
>
> No, you don't have to.
>
>> d) Do I need to dispose the the context on closing the window?
>
> Yes, you should.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Renaming some folder

2016-03-23 Thread Геннадий Забула
Looks good for me.

Here is one more suggestion: extract DDEX sources to separate
repository, and use FirebirdSql.Data.FirebirdClient rep only for
client itself.

On 22 March 2016 at 22:12, Jiří Činčura  wrote:
> Hi *,
>
> I'm contemplating renaming some folders - the two top level folders to
> be precise
> (https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/tree/rename).
> So the names make a bit more sense as the codebase evolved. Yes? No?
>
> With the FB 3 protocol work I'm doing right now I'm kind of in a "you
> can't make an omelette without breaking eggs" mode. Refactoring all over
> the place. :) Like this polishing
> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/commit/e166e84c2f5409d91b723a5d03930cf2b08a1662.
> :)
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Choose isolation level using System.Data.IsolationLevel?

2016-01-31 Thread Геннадий Забула
I think it is not possible.
Mapping IsolationLevel <-> DbTransactionBuffer is hardcoded in FB.NET library.
I know that EF I can use IDbCommandInterceptor and
DbInterception.Add(suppressor);
This allows to override transactions.

In your framework could be something similar.

On 31 January 2016 at 09:20, Kjell Rilbe <kj...@rilbe.se> wrote:
> den 2016-01-30 20:23, skrev Геннадий Забула:
>> On 30 January 2016 at 12:44, Kjell Rilbe <kj...@rilbe.se> wrote:
>>> Hi,
>>>
>>> Using a framework that's "database agnostic", I am able to choose a
>>> value for transaction isolation level using the
>>> System.Data.IsolationLevel enum. I can't find a way to enter a
>>> FbTransationOptions struct or FbTransactionBehavior value.
>>>
>>> Using System.Data.IsolationLevel, it seems I get transactions with
>>> behavior ReadCommitted + NoRecVersion. I would like to have RecVersion
>>> instead of NoRecVersion.
>>>
>>> Any suggestions?
>>>
>>>
>> I'm using custom extension function, that takes DbContext and
>> depending on Database.Connection type creates manually tuned
>> transaction for FB case.
>> https://gist.github.com/zabulus/1e46010094e1b6678729
>> Here is snippet
>
> Nice, but I assume this is a function that you manually call in your own
> code, instead of the regular DbConnection.BeginTransaction?
>
> The problem is that the framework I'm using does it all under the hood:
> opens connection, starts and ends transactions and executes SQL. I add
> the DbConnection component I need to my form, in my case an
> FbConnection, and configure my framework's persistence handler to use
> that connection. The persistence handler has a lot of settings for the
> SQL connection, but for fetch and write transaction mode it uses the
> standard System.Data.IsolationLevel enum type, so there's no way to
> configure FireBird specific transaction options.
>
> What I need is some way to hook into the FbConnection's call to start a
> transaction, or "globally" configure it to a specific transaction
> option/mode/isolation level, either overriding the
> System.Data.IsolationLevel that the framework's persitence handler
> passes in, or map it in a different way than apparently is standard for
> the Firebird .Net provider. I.e. map ReadCommitted to ReadCommitted +
> RecVersion + NoWait rather than ReadCommitted + NoRecVersion + NoWait.
>
> Possible? Inherit from FbCOnnection and override BeginTransaction and
> use that (derived) component in place of FbConnection?
>
> Kjell
>
> --
> ---
> Kjell Rilbe <kj...@rilbe.se>
> Telefon: 0733-44 24 64 (+46 733 442464)
> ---
> "If there's a price for bein' me, that's one I'll have to pay"
> Aaron Tippin
> ---
>
>
>
> --
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] connection rejected by remote interface Error]

2016-01-19 Thread Геннадий Забула
fbclient.dll is not .net provider library, it is fb server native client library

On 19 January 2016 at 13:41, dragos.pop  wrote:
>
> IBExpert is a freeware downloaded from Internet, which is not a .NET
> application so it does not use the .NET provider but the   gds32.dll
> library.
>
>
> Regards,
>
> Dragos
>
>
>
> Jiří Činčura Fri, 15 Jan 2016 04:59:51 -0800
>
> What version on fbclient.dll are you using with IBExpert? Can you telnet
> to 3050?
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
>
> --
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Solution With ADO.NET provider 4.10.0.0 Fails Compile

2016-01-18 Thread Геннадий Забула
According to http://semver.org/, if Public API surface is changed with
any backwards incompatible changes major version must be changed.

On 18 January 2016 at 16:29, Jiří Činčura  wrote:
>> Reading the release notes for 4.9, there have been a change for the
>> event handlers, to simply use the generic EventHandler.
>>
>> http://tracker.firebirdsql.org/browse/DNET-640
>
> Bingo!
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Fyracle's External Engine to retire

2015-12-30 Thread Геннадий Забула
Is it Ext* classes?

On 30 December 2015 at 11:06, Jiří Činčura  wrote:
> Hi *,
>
> the so called Fyracle External Engine is going to be removed from
> sources in next major/minor version. It will still be in history, as
> usual, in case somebody wants to look at history.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] FB3/provider 4.9.0.0 Boolean

2015-12-17 Thread Геннадий Забула
And so it was.
I'm also don't understand why don't merge the PR.
People can start using .NET with FB 3.0 using legacy authentication
and new features like native boolean fields.

On 16 December 2015 at 22:11, Mark Rotteveel <m...@lawinegevaar.nl> wrote:
> Support for Boolean does not require protocol version 13 support, and could
> be added without problems.
>
> Mark
>
>
> - Reply message -----
> Van: "Геннадий Забула" <zabulu...@gmail.com>
> Aan: "For users and developers of the Firebird .NET providers"
> <firebird-net-provider@lists.sourceforge.net>
> Onderwerp: [Firebird-net-provider] FB3/provider 4.9.0.0 Boolean
> Datum: wo, dec. 16, 2015 20:38
>
> It is implemented in PR:
> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/40
> But since there is no overall support for FB 3.0 (especially new
> authentication) the PR is suspended.
>
> On 16 December 2015 at 21:21, Rick Roen <rick.playa...@gmail.com> wrote:
>> I'm pretty sure this is a known problem, but I get a message "invalid data
>> type" exception when I ExecuteDataReader against a FB3 table with a
>> boolean
>> field. I can provide the error stack if necessary.
>>
>> Is there an ETA date to get this working?
>>
>> Regards,
>> Rick
>>
>>
>> --
>>
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>>
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
>
> --
>
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] FB3/provider 4.9.0.0 Boolean

2015-12-17 Thread Геннадий Забула
Hm, I've already finished the implementation. I will rebase it and
prepare for merge.
And I'll remove WIP mark.

Looks like my bad, I was waiting for something.


On 17 December 2015 at 13:02, Jiří Činčura <j...@cincura.net> wrote:
> The PR is marked as WIP…
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> On Thu, Dec 17, 2015, at 09:54, Геннадий Забула wrote:
>> And so it was.
>> I'm also don't understand why don't merge the PR.
>> People can start using .NET with FB 3.0 using legacy authentication
>> and new features like native boolean fields.
>>
>> On 16 December 2015 at 22:11, Mark Rotteveel <m...@lawinegevaar.nl>
>> wrote:
>> > Support for Boolean does not require protocol version 13 support, and could
>> > be added without problems.
>> >
>> > Mark
>> >
>> >
>> > - Reply message -
>> > Van: "Геннадий Забула" <zabulu...@gmail.com>
>> > Aan: "For users and developers of the Firebird .NET providers"
>> > <firebird-net-provider@lists.sourceforge.net>
>> > Onderwerp: [Firebird-net-provider] FB3/provider 4.9.0.0 Boolean
>> > Datum: wo, dec. 16, 2015 20:38
>> >
>> > It is implemented in PR:
>> > https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/40
>> > But since there is no overall support for FB 3.0 (especially new
>> > authentication) the PR is suspended.
>> >
>> > On 16 December 2015 at 21:21, Rick Roen <rick.playa...@gmail.com> wrote:
>> >> I'm pretty sure this is a known problem, but I get a message "invalid data
>> >> type" exception when I ExecuteDataReader against a FB3 table with a
>> >> boolean
>> >> field. I can provide the error stack if necessary.
>> >>
>> >> Is there an ETA date to get this working?
>> >>
>> >> Regards,
>> >> Rick
>> >>
>> >>
>> >> --
>> >>
>> >> ___
>> >> Firebird-net-provider mailing list
>> >> Firebird-net-provider@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>> >>
>> >
>> > --
>> > ___
>> > Firebird-net-provider mailing list
>> > Firebird-net-provider@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>> >
>> >
>> > --
>> >
>> > ___
>> > Firebird-net-provider mailing list
>> > Firebird-net-provider@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>> >
>>
>> --
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] FB3/provider 4.9.0.0 Boolean

2015-12-16 Thread Геннадий Забула
It is implemented in PR:
https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/40
But since there is no overall support for FB 3.0 (especially new
authentication) the PR is suspended.

On 16 December 2015 at 21:21, Rick Roen  wrote:
> I'm pretty sure this is a known problem, but I get a message "invalid data
> type" exception when I ExecuteDataReader against a FB3 table with a boolean
> field. I can provide the error stack if necessary.
>
> Is there an ETA date to get this working?
>
> Regards,
> Rick
>
> --
>
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] 4.9.0 beta 1 release

2015-12-09 Thread Геннадий Забула
I think it should be ArgumentOutOfRange

On 9 December 2015 at 15:13, Jiří Činčura <j...@cincura.net> wrote:
> On Wed, Dec 9, 2015, at 13:43, Jiří Činčura wrote:
>> On Sun, Dec 6, 2015, at 18:29, Геннадий Забула wrote:
>> > I think the earlier it will be thrown the better. Also, in exception
>> > message you can include text or/and link about workaround of this FB
>> > limitation. It will be a good convenience for library users.
>>
>> As I don't have any opinion on that I'll go with you. :)
>
> ArgumentException or maybe ArgumentOutOfRange exception?
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] 4.9.0 beta 1 release

2015-12-09 Thread Геннадий Забула
The name '{name}' is longer than Firebird's {LengthLimit} characters
limit for objects names.

On 9 December 2015 at 15:42, Jiří Činčura  wrote:
> Be my guest:
> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/commit/4d8d1b8a5d72b6304e8d15af36542f72a9b5da8c#diff-02c77ebea06976e32e7ce3b42bca24c9R641
> . I'm open to rewording it, as I'm bit flat on creativity today. :D
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] 4.9.0 beta 1 release

2015-12-06 Thread Геннадий Забула
> Do you think it should throw exception? I would rather let that for
> Firebird. Somebody might tweak the script or something like that.

> I know you proposed hashing the name, but that's not reasonable general
> solution. The database would look gibberish for outside view. Nobody
> would know what's what.

I think the earlier it will be thrown the better. Also, in exception
message you can include text or/and link about workaround of this FB
limitation. It will be a good convenience for library users.

As for hashing, agree, when we implemented this solution I missed the
possibility to specify custom short names for tables.

> > 4. Also, I don't see where IFbMigrationSqlGeneratorBehavior can be
> > injected from client's app code.
> In ctor.

Ctor of what?

> Agree. I'd like to first see somebody outside implement other behavior.
> Then we can talk about what to extract - i.e. the system tables logic
> etc.

In specified links, I've provided my implementation of generator-per-table.


On 5 December 2015 at 17:54, Jiří Činčura  wrote:
>> 1. readonly IFbMigrationSqlGeneratorBehavior _behavior;
>> Is used only in migration operations DropColumn/AlterColumn, not used
>> in AddColumn.
>
> The AddColumnOperation calls Generate method for ColumnModel and this
> method handles the identity stuff. Or do you mean something else?
>
>> 2. We have additional implementation of Check in (0,1) for boolean
>> fields like implemented in SsdlToSql.cs
>
> Good idea. Added. (Testing it as we speak.)
>
>> 3. CreateItemName function doesn't support names longer than 31
>> character.
>
> Do you think it should throw exception? I would rather let that for
> Firebird. Somebody might tweak the script or something like that.
>
> I know you proposed hashing the name, but that's not reasonable general
> solution. The database would look gibberish for outside view. Nobody
> would know what's what.
>
>> 4. Also, I don't see where IFbMigrationSqlGeneratorBehavior can be
>> injected from client's app code.
>
> In ctor.
>
>> 5. I think the generator creation code in
>> DefaultFbMigrationSqlGeneratorBehavior will be copied to a possible
>> new implementation, so it is better to split logic. See base class:
>
> Agree. I'd like to first see somebody outside implement other behavior.
> Then we can talk about what to extract - i.e. the system tables logic
> etc.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Go from Idea to Many App Stores Faster with Intel(R) XDK
> Give your users amazing mobile app experiences with Intel(R) XDK.
> Use one codebase in this all-in-one HTML5 development environment.
> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] 4.9.0 beta 1 release

2015-11-15 Thread Геннадий Забула
Here is my comments about Migration:
1. readonly IFbMigrationSqlGeneratorBehavior _behavior;
Is used only in migration operations DropColumn/AlterColumn, not used
in AddColumn.
2. We have additional implementation of Check in (0,1) for boolean
fields like implemented in SsdlToSql.cs
3. CreateItemName function doesn't support names longer than 31 character.
4. Also, I don't see where IFbMigrationSqlGeneratorBehavior can be
injected from client's app code.
5. I think the generator creation code in
DefaultFbMigrationSqlGeneratorBehavior will be copied to a possible
new implementation, so it is better to split logic. See base class:
https://github.com/zabulus/NETProvider/blob/master/NETProvider/src/EntityFramework.Firebird/DefaultFbMigrationSqlGeneratorBehavior.cs
and it's default implementation.
 
https://github.com/zabulus/NETProvider/blob/master/NETProvider/src/EntityFramework.Firebird/CustomFbMigrationSqlGeneratorBehavior.cs

For all these suggestions I can prepare PRs this week without problems.


On 15 November 2015 at 13:04, Jiří Činčura  wrote:
> Hi *
>
> before I'll start cracking on FB 3 support (we have some good PRs) I'd
> like to get some features out. The list of changes is in
> http://tracker.firebirdsql.org/browse/DNET/fixforversion/10722 (and also
> some internal network stuff changes - check the commits if you're
> interested). Test it.
>
> Probably the long awaited is EF Migrations [3] support. You can us the
> new `FbMigrationSqlGenerator` [1] class. It's registered by default, but
> if you want to play harder check these lines [2]. Try it, discuss it
> here. Known issue [5].
>
> The version is available on *NuGet only* [4].
>
> [1]:
> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/blob/master/NETProvider/src/EntityFramework.Firebird/FbMigrationSqlGenerator.cs
> [2]:
> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/blob/master/NETProvider/src/FirebirdSql.Data.FirebirdClient/FirebirdClient/FbProviderServices.cs#L69,L70
> [3]: https://msdn.microsoft.com/en-us/data/jj591621.aspx
> [4]:
> https://www.nuget.org/packages/FirebirdSql.Data.FirebirdClient/4.9.0-beta1
> [5]: http://entityframework.codeplex.com/workitem/2683
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a 
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [FB-Tracker] Created: (DNET-638) Add exception when FbConnectionPoolManager.ClearPools used inapropriately

2015-10-14 Thread Геннадий Забула
PR on github was updated

On 7 October 2015 at 10:36, Hennadii Zabula (JIRA)
 wrote:
> Add exception when FbConnectionPoolManager.ClearPools used inapropriately
> -
>
>  Key: DNET-638
>  URL: http://tracker.firebirdsql.org/browse/DNET-638
>  Project: .NET Data provider
>   Issue Type: Improvement
>   Components: ADO.NET Provider
> Affects Versions: vNext
> Reporter: Hennadii Zabula
> Assignee: Jiri Cincura
>
>
> We had run in a problem where currently running queries were failing because 
> another thread wrongly cleared all pools. It was quite unexpected.
>
> We fixed the issue in our code with the thread, but I think it should throw 
> InvalidOperationException if _busy dictionary is not empty, because it means 
> that there may be currently running queries.
>
> The exception could add information about the problems caused by an 
> inappropriate call to ClearPool.
>
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators: 
> http://tracker.firebirdsql.org/secure/Administrators.jspa
> -
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>
> --
> Full-scale, agent-less Infrastructure Monitoring from a single dashboard
> Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
> Physical-Virtual-Cloud Infrastructure monitoring from one console
> Real user monitoring with APM Insights and performance trend reports
> Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


[Firebird-net-provider] Question about IFbClient purpose

2015-10-14 Thread Геннадий Забула
Jiri, could you clarify what is a purpose of separate IFbClient
interface and about using native calls through instance instead of
organizing P/Invokes as static NativeMethods class?

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Question about IFbClient purpose

2015-10-14 Thread Геннадий Забула
I got it. It is support of dynamic client library name specified in connection 
string. Do you mind if I submit PR with comments about it?

-Original Message-
From: "Jiří Činčura" <j...@cincura.net>
Sent: ‎10/‎14/‎2015 8:18 PM
To: "firebird-net-provider@lists.sourceforge.net" 
<firebird-net-provider@lists.sourceforge.net>
Subject: Re: [Firebird-net-provider] Question about IFbClient purpose

On Wed, Oct 14, 2015, at 19:12, Геннадий Забула wrote:
> Jiri, could you clarify what is a purpose of separate IFbClient
> interface and about using native calls through instance instead of
> organizing P/Invokes as static NativeMethods class?

It's used because for P/Invoke calls to fbembed are emitted on the fly.
And that's because you can't have DllImport attribute with non-constant
string which is needed to ClientLibrary support in connection string.

-- 
Mgr. Jiří Činčura
Independent IT Specialist

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Question about FbConnectionPoolManager

2015-10-06 Thread Геннадий Забула
> Well, when you clear your pool and other threads are running queries
you're the one responsible. :)
Of course. But exception could provide additional information about
what is going on and where do I need to look.

On 6 October 2015 at 19:46, Jiří Činčura <j...@cincura.net> wrote:
> On Tue, Oct 6, 2015, at 15:46, Геннадий Забула wrote:
>> I have a question about method implementation.
>> CleanConnectionsImpl
>> It cleans connections in pool.
>> But why _busy dictionary connections are disposed as well?
>> Isn't it a trouble maker for inappropriate ClearPools method users?
>>
>> We had run in a problem where currently running queries were failing
>> because another thread wrongly cleared all pools. It was quite
>> unexpected.
>
> Well, when you clear your pool and other threads are running queries
> you're the one responsible. :)
>
>> We fixed the issue in our code with the thread, but I think it should
>> throw InvalidOperationException if _busy dictionary is not empty,
>> because it means that there may be currently running queries.
>
> I don't have problem throwing exception, because for valid uses it
> changes nothing. But might be unexpected when somebody took advantage of
> that behavior.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Геннадий Забула
http://entityframework.codeplex.com/SourceControl/latest#src/EntityFramework/Core/Common/EntitySql/GenerateParser.cmd

On 5 October 2015 at 17:22, Геннадий Забула <zabulu...@gmail.com> wrote:
> EF uses yacc and lex for EntityTree parsing.
> They both produce C# class that can be compiled into the assembly.
>
> On 5 October 2015 at 16:30, Jiří Činčura <j...@cincura.net> wrote:
>> Hi,
>>
>> I'm working on a bug fix for DNET-266. And the more and more I tweak the
>> parser I wrote this morning to properly handle all the edge cases I'm
>> wondering whether it would make sense to take a dependency on some
>> library or class that can do some basic parsing. We don't need full
>> grammar features like ANTLR, just something that can tokenize SQL and
>> handle comments (or in general tokenizer with "escaping" support).
>>
>> What do you think? Any recommendations?
>>
>> BTW the bugfix is sponsored by SMS-Timing. Kudos to them.
>>
>> --
>> Mgr. Jiří Činčura
>> Independent IT Specialist
>>
>> --
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Геннадий Забула
EF uses yacc and lex for EntityTree parsing.
They both produce C# class that can be compiled into the assembly.

On 5 October 2015 at 16:30, Jiří Činčura  wrote:
> Hi,
>
> I'm working on a bug fix for DNET-266. And the more and more I tweak the
> parser I wrote this morning to properly handle all the edge cases I'm
> wondering whether it would make sense to take a dependency on some
> library or class that can do some basic parsing. We don't need full
> grammar features like ANTLR, just something that can tokenize SQL and
> handle comments (or in general tokenizer with "escaping" support).
>
> What do you think? Any recommendations?
>
> BTW the bugfix is sponsored by SMS-Timing. Kudos to them.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-10-02 Thread Геннадий Забула
> But then we're back where we started. Question is whether the global
> definition for whole migration generator or per column is more
> understandable and discoverable for developers.
If question only about this, then my opinion that it must be
fine-grained at a column level. But there should be a possibility to
set an implementation for context wide.
It will cover the case where you use mixed scheme: all tables have one
generator, except several that have per table generators. You specify
context-wide implementation per database generator, and in
ModelBuilder you specify generators for these exceptional tables.

On 1 October 2015 at 22:26, Daniel Rail <dan...@accra.ca> wrote:
> Hi,
>
> At October 1, 2015, 2:21 PM, Jiří Činčura wrote:
>
>> On Thu, Oct 1, 2015, at 19:00, Геннадий Забула wrote:
>>> In ModelBuilder you can specify any object as data annotation. In this
>>> case user can provide implementation of the interface.
>
>> But then we're back where we started. Question is whether the global
>> definition for whole migration generator or per column is more
>> understandable and discoverable for developers.
>
> My preference would be at the column level.  Since that would be more
> discoverable for me, because it is close to where it is used.
>
> --
> Best regards,
>  Daniel Rail
>  Senior Software Developer
>  ACCRA Solutions Inc. (www.accra.ca)
>  ACCRA Med Software Inc. (www.filopto.com)
>
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-10-01 Thread Геннадий Забула
> No. You talked about generator/identity columns. Possibly replacing the
interface.
I think I've lose the point in this.

> That's definitely not. You can have one generator for all tables (and
it's even better).
For "Even better" I have doubts. Especially for multithreaded inserts
to different tables case.

> That's definitely not.
I'm talking about "generator creation", it should be hidden in the
provider. Though names yes, user should be allowed to pick a naming
scheme he wants.
In case "one generator for all tables" user specifies one generator
name for all tables and provider should check if it exists - nothing
to do, if not it creates new. After that it binds the generator name
to before insert trigger.

> Well, the default initializers are using different path.
Yep, I'm aware about this. First I've patched one code path. After
merge the migration feature I needed to patch another code path, and
resulting database had differences.

On 1 October 2015 at 14:13, Jiří Činčura <j...@cincura.net> wrote:
> On Thu, Oct 1, 2015, at 11:45, Геннадий Забула wrote:
>> >Do you think the annotations will be better?
>> Better than what? Your concern was about different naming schemes, I
>> suggested how it can be resolved via column annotations and custom
>> name providers. I don't know other options for this.
>
> No. You talked about generator/identity columns. Possibly replacing the
> interface.
>
>> >How is the generator creation (if it does not exists) going to be handled? 
>> >Or are we going to leave that to manual change of Up method in migration?
>> IMO generator creation is an implementation detail that user shouldn't
>> bother about. Generator creation is a part of a table creation.
>
> That's definitely not. You can have one generator for all tables (and
> it's even better).
>
>> >Do you have some more info for this.
>> I'm sure that there were issues about identity columns. The current
>> implementation CreateDatabaseIfExists doesn't create generators in any
>> case, we patched sources to do that. Also, bool fields don't have
>> CHECK IN (0, 1) annotation and so on.
>> I need time to provide additional info for this.
>
> Well, the default initializers are using different path. These existed
> before migrations. The code is different (and also the feature set). It
> also works with EDMX and CF, while migrations are (currently) CF only.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Inserting strings problem

2015-10-01 Thread Геннадий Забула
Entity:
public sealed class Table
{
public Table()
{
this.Entities1 = new List();
}

public int Id { get; set; }
public string Field1{ get; set; }
public string Field2{get; set; }
public string Field3 { get; set; }
public string Field4 { get; set; }
public string Field5 {get; set; }

public Entities3 Entities3 { get; set; }
public ICollection Entities1{ get; set; }
public ICollection Entities2{ get; set; }
}

On 1 October 2015 at 13:53, Геннадий Забула <zabulu...@gmail.com> wrote:
> We map the entities through EntityTypeConfiguration class:
>
> Src table mapping:
> this.HasKey(t => t.Id);
>
> // Properties
> // Table & Column Mappings
> this.ToTable("TABLE2");
> this.Property(t => t.Id).HasColumnName("ID");
> this.Property(x => x.Field1).HasColumnName("FIELD1");
> this.Property(x => x.Field2).HasColumnName("FIELD2");
> this.Property(x => x.Field3).HasColumnName("FIELD3");
> this.Property(x => x.Field4).HasColumnName("FIELD4");
> this.Property(x => x.Field5).HasColumnName("FIELD5");
>
> Dst table mapping inherits from above:
>
> :base()
> {
> Property(x =>
> x.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);
> }
>
> On 1 October 2015 at 13:38, Jiří Činčura <j...@cincura.net> wrote:
>> How does the entity and mapping looks like?
>>
>> --
>> Mgr. Jiří Činčura
>> Independent IT Specialist
>>
>>
>> --
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Inserting strings problem

2015-10-01 Thread Геннадий Забула
Hm, looks like it works. Added .HasMaxLength(256) to all fields and it
goes success ahead.
Before I tried only for one field and it doesn't work.
Thx for fast response.


On 1 October 2015 at 13:56, Jiří Činčura <j...@cincura.net> wrote:
> You should specify, at least, the length. Else it's the default and
> that's "unlimited" hence the blob.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> On Thu, Oct 1, 2015, at 12:54, Геннадий Забула wrote:
>> Entity:
>> public sealed class Table
>> {
>> public Table()
>> {
>> this.Entities1 = new List();
>> }
>>
>> public int Id { get; set; }
>> public string Field1{ get; set; }
>> public string Field2{get; set; }
>> public string Field3 { get; set; }
>> public string Field4 { get; set; }
>> public string Field5 {get; set; }
>>
>> public Entities3 Entities3 { get; set; }
>> public ICollection Entities1{ get; set; }
>> public ICollection Entities2{ get; set; }
>> }
>>
>> On 1 October 2015 at 13:53, Геннадий Забула <zabulu...@gmail.com> wrote:
>> > We map the entities through EntityTypeConfiguration class:
>> >
>> > Src table mapping:
>> > this.HasKey(t => t.Id);
>> >
>> > // Properties
>> > // Table & Column Mappings
>> > this.ToTable("TABLE2");
>> > this.Property(t => t.Id).HasColumnName("ID");
>> > this.Property(x => x.Field1).HasColumnName("FIELD1");
>> > this.Property(x => x.Field2).HasColumnName("FIELD2");
>> > this.Property(x => x.Field3).HasColumnName("FIELD3");
>> > this.Property(x => x.Field4).HasColumnName("FIELD4");
>> > this.Property(x => x.Field5).HasColumnName("FIELD5");
>> >
>> > Dst table mapping inherits from above:
>> >
>> > :base()
>> > {
>> > Property(x =>
>> > x.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);
>> > }
>> >
>> > On 1 October 2015 at 13:38, Jiří Činčura <j...@cincura.net> wrote:
>> >> How does the entity and mapping looks like?
>> >>
>> >> --
>> >> Mgr. Jiří Činčura
>> >> Independent IT Specialist
>> >>
>> >>
>> >> --
>> >> ___
>> >> Firebird-net-provider mailing list
>> >> Firebird-net-provider@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>>
>> --
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Inserting strings problem

2015-10-01 Thread Геннадий Забула
We map the entities through EntityTypeConfiguration class:

Src table mapping:
this.HasKey(t => t.Id);

// Properties
// Table & Column Mappings
this.ToTable("TABLE2");
this.Property(t => t.Id).HasColumnName("ID");
this.Property(x => x.Field1).HasColumnName("FIELD1");
this.Property(x => x.Field2).HasColumnName("FIELD2");
this.Property(x => x.Field3).HasColumnName("FIELD3");
this.Property(x => x.Field4).HasColumnName("FIELD4");
this.Property(x => x.Field5).HasColumnName("FIELD5");

Dst table mapping inherits from above:

:base()
{
Property(x =>
x.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);
}

On 1 October 2015 at 13:38, Jiří Činčura  wrote:
> How does the entity and mapping looks like?
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-10-01 Thread Геннадий Забула
> That's why
the interface with some default implementation is so convenient.
In ModelBuilder you can specify any object as data annotation. In this
case user can provide implementation of the interface.

On 1 October 2015 at 19:01, Jiří Činčura <j...@cincura.net> wrote:
> On Thu, Oct 1, 2015, at 13:38, Геннадий Забула wrote:
>> I'm talking about "generator creation", it should be hidden in the
>> provider. Though names yes, user should be allowed to pick a naming
>> scheme he wants.
>> In case "one generator for all tables" user specifies one generator
>> name for all tables and provider should check if it exists - nothing
>> to do, if not it creates new. After that it binds the generator name
>> to before insert trigger.
>
> Well that's just part of story. You also need to name the trigger. You
> need to have the body. Some people use like `Id is null` clauses. Some
> also include 0 or -1 (for integers) etc. Not sure how to code this using
> annotations (without implementing all possible combinations). That's why
> the interface with some default implementation is so convenient.
>
>> > Well, the default initializers are using different path.
>> Yep, I'm aware about this. First I've patched one code path. After
>> merge the migration feature I needed to patch another code path, and
>> resulting database had differences.
>
> I'd like to eventually re-use parts of migrations code to have (almost)
> same result.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


[Firebird-net-provider] Inserting strings problem

2015-10-01 Thread Геннадий Забула
I have next table in two databases:

CREATE TABLE TABLE2(
ID INTEGER NOT NULL,
FIELD1 VARCHAR(256),
FIELD2 VARCHAR(256),
FIELD3 VARCHAR(512),
FIELD4 VARCHAR(100),
FIELD5 VARCHAR(2048))

Using EF I'm trying to copy data from one database to another. I want
to copy full data including Ids, so I disabled Identity Generation for
a destination database.

Problem is the next when EF generates insert it looks like the following:
"INSERT INTO \"TABLE2\"(\"ID\", \"FIELD1\", \"FIELD2\", \"FIELD3\",
\"FIELD4\", \"FIELD5\")\r\nVALUES (@p0, @p1, @p2, @p3, @p4, @p5,
NULL)\r\n"

And I have a problem here, parameters for these fields are treated
like SQL_TEXT and it tries to put UTF8 byte array to VARCHAR fields,
which is wrong. And a query fails on some long strings that in utf8
interpretation longer than 256 for example.

When I turn Identity Generation on, query looks like following:
EXECUTE BLOCK (
 p1 BLOB SUB_TYPE TEXT = @p1, p7 BLOB SUB_TYPE TEXT = @p7, p8 BLOB
SUB_TYPE TEXT = @p8, p9 BLOB SUB_TYPE TEXT = @p9
) RETURNS (
"ID" INT)
AS BEGIN
INSERT INTO "TABLE2"("FIELD2",  "FIELD3", "FIELD4", "FIELD5", "FIELD6")
VALUES (:p1, :p7, :p8, :p9, NULL)
RETURNING "ID" INTO :"ID";
SUSPEND;
END

And it doesn't fail.

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [FB-Tracker] Created: (DNET-631) Support for BOOLEAN in FB3

2015-09-25 Thread Геннадий Забула
Jiri, could you take a look at PR.
I've finished bringing support, but stuck with problems running
unit-tests on both servers 2.5/3.0. Both embedded configuration works
fine. I think I'll finish the problems this weekend.

On 24 September 2015 at 19:14, Jiří Činčura <j...@cincura.net> wrote:
> On Thu, Sep 24, 2015, at 18:10, Геннадий Забула wrote:
>> I have several question about Gds protocol. Where can I find
>> documentation about it? I need to know what should I write to send
>> boolean field to server.
>> And also I have doubts about an implementation of reading boolean fields.
>
> The best "documentation" is Firebird's source code. Not the most
> readable form, though. But always up-to-date.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
> --
> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> Get real-time metrics from all of your servers, apps and tools
> in one place.
> SourceForge users - Click here to start your Free Trial of Datadog now!
> http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [FB-Tracker] Created: (DNET-631) Support for BOOLEAN in FB3

2015-09-25 Thread Геннадий Забула
Thanks,
I've already got it working. At least tests migrated from Jaybird pass.
As Jiri suggested I took a look at FB core, and found everything I've needed.


On 25 September 2015 at 16:08, Mark Rotteveel <m...@lawinegevaar.nl> wrote:
> On Thu, 24 Sep 2015 19:10:44 +0300, Геннадий Забула <zabulu...@gmail.com>
> wrote:
>> https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/40
>> WIP about boolean support is here. Only Gds implemented for now.
>>
>> I have several question about Gds protocol. Where can I find
>> documentation about it? I need to know what should I write to send
>> boolean field to server.
>
> There is the Firebird Wire protocol documentation, but it doesn't contain
> all details and is mostly based on reverse engineering the protocol on a
> message level, not so much the content of the messages. You'll have more
> luck looking at the Firebird implementation, or other drivers like Jaybird.
>
> In any case, you need to encode a boolean as a single byte byte-array with
> the value 0 for false or 1 for true. See also:
>
> https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/DefaultDatatypeCoder.java#L358
>
> For reading and writing you also need information on the blr calculations:
> https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/wire/DefaultBlrCalculator.java
>
> And reading:
> https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/wire/version10/V10Statement.java#L516
>
> And writing:
> https://github.com/FirebirdSQL/jaybird/blob/master/src/main/org/firebirdsql/gds/ng/wire/version10/V10Statement.java#L564
>
> I'd also suggest to take a look at the commit for Jaybird I linked in
> ticket, as that includes all the changes you need to get it working.
>
>> And also I have doubts about an implementation of reading boolean
> fields.
>
> See above.
>
> Mark
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [FB-Tracker] Created: (DNET-631) Support for BOOLEAN in FB3

2015-09-24 Thread Геннадий Забула
https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/40
WIP about boolean support is here. Only Gds implemented for now.

I have several question about Gds protocol. Where can I find
documentation about it? I need to know what should I write to send
boolean field to server.
And also I have doubts about an implementation of reading boolean fields.

On 14 September 2015 at 18:37, Jiří Činčura <j...@cincura.net> wrote:
> On Mon, Sep 14, 2015, at 17:17, Геннадий Забула wrote:
>> How should this be implemented?
>
> My guess is by typing the code. ;)
>
>> I could take a look at this in the week.
>
> Sure, why not. The BOOLEAN in provider will not take much effort - I was
> checking it last year, quickly.
>
> --
> Mgr. Jiří Činčura
> Independent IT Specialist
>
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Multithread insert

2015-09-20 Thread Геннадий Забула
I don't think that the issue in the .NET provider. It just forwards
options to fbembed.dll for transactions it just TPB. And do it right.
The problem is in the engine, I've retested it with C API and the
behavior is similar to observed. My case is similar to the described
here: http://www.firebirdfaq.org/faq109/. With just one difference:
values field updated to is not depends on each other. I just update
the same field from several threads. I've crutched this with skipping
the exception because consistency is not a concern for this field. But
IMO, there is an issue in the engine.

On 20 September 2015 at 14:03, LtColRDSChauhan  wrote:
>> Message: 3
>> Date: Thu, 17 Sep 2015 19:56:20 +0200
>> From: Ji?? ?in?ura 
>> Subject: Re: [Firebird-net-provider] Multithread insert
>> To: "For users and developers of the Firebird .NET providers"
>> 
>> Message-ID:
>> <1442512580.927417.386542585.69829...@webmail.messagingengine.com>
>> Content-Type: text/plain; charset="UTF-8"
>>
>> On Thu, Sep 17, 2015, at 17:57,  ?? wrote:
>> > Narrowed the problem. The cause is a multithreaded update of the same
>> > record field. Transactions, as I said don't dispatch the issue.
>>
>> The advice is simple. Don't update same record (not only in .NET;
>> anywhere, anytool). :D
>>
> Transactions issues in .NET Provider  need to be addressed.
> Multithread/parallel programming and transactions enable correct
> exploitation of multicore machines.  I understand Firebird 3.0 takes major
> advances in this area.
>
>
> --
>
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Multithread insert

2015-09-20 Thread Геннадий Забула
> I don't think there is even an issue here
After taking another view at what happens, I don't think either.

The exception is thrown when similar updates are made for one field,
from several threads, when NO_WAIT specified. Only this flag causes it
to throw. No matter if you specify flags consistent or concurrency. As
I understood this is expected behavior.

NO_WAIT flag is set for any IsolationLevel specified for a
FbTransaction. The behavior of such updates is different from MSSQL
provider (it waits) and discovering this was a kind frustrating and
resulted in this thread.


On 20 September 2015 at 16:30, Alexander Muylaert-Gelein
 wrote:
> I don't think there is even an issue here.  inside two different
> transactions, you simply cannot update the same record.  Who would win in
> the end and what would be the end result.  I'm pretty sure if you can solve
> this, the firebird team would gladly implement this.
>
> a
>
>
>> Date: Sun, 20 Sep 2015 14:12:25 +0300
>> From: zabulu...@gmail.com
>> To: firebird-net-provider@lists.sourceforge.net
>
>> Subject: Re: [Firebird-net-provider] Multithread insert
>>
>> I don't think that the issue in the .NET provider. It just forwards
>> options to fbembed.dll for transactions it just TPB. And do it right.
>> The problem is in the engine, I've retested it with C API and the
>> behavior is similar to observed. My case is similar to the described
>> here: http://www.firebirdfaq.org/faq109/. With just one difference:
>> values field updated to is not depends on each other. I just update
>> the same field from several threads. I've crutched this with skipping
>> the exception because consistency is not a concern for this field. But
>> IMO, there is an issue in the engine.
>>
>> On 20 September 2015 at 14:03, LtColRDSChauhan  wrote:
>> >> Message: 3
>> >> Date: Thu, 17 Sep 2015 19:56:20 +0200
>> >> From: Ji?? ?in?ura 
>> >> Subject: Re: [Firebird-net-provider] Multithread insert
>> >> To: "For users and developers of the Firebird .NET providers"
>> >> 
>> >> Message-ID:
>> >> <1442512580.927417.386542585.69829...@webmail.messagingengine.com>
>> >> Content-Type: text/plain; charset="UTF-8"
>> >>
>> >> On Thu, Sep 17, 2015, at 17:57,  ?? wrote:
>> >> > Narrowed the problem. The cause is a multithreaded update of the same
>> >> > record field. Transactions, as I said don't dispatch the issue.
>> >>
>> >> The advice is simple. Don't update same record (not only in .NET;
>> >> anywhere, anytool). :D
>> >>
>> > Transactions issues in .NET Provider need to be addressed.
>> > Multithread/parallel programming and transactions enable correct
>> > exploitation of multicore machines. I understand Firebird 3.0 takes
>> > major
>> > advances in this area.
>> >
>> >
>> >
>> > --
>> >
>> > ___
>> > Firebird-net-provider mailing list
>> > Firebird-net-provider@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>> >
>>
>>
>> --
>> ___
>> Firebird-net-provider mailing list
>> Firebird-net-provider@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
> --
>
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Multithread insert

2015-09-17 Thread Геннадий Забула
Narrowed the problem. The cause is a multithreaded update of the same
record field. Transactions, as I said don't dispatch the issue.

On 17 September 2015 at 17:38, Геннадий Забула <zabulu...@gmail.com> wrote:
> lock conflict on no wait transaction
> Acquire lock for relation () failed
> ---> FirebirdSql.Data.Common.IscException: lock conflict on no wait
> transaction
> Acquire lock for relation () failed
>
> On 17 September 2015 at 17:38, Геннадий Забула <zabulu...@gmail.com> wrote:
>> I was wrong about IsolationLevel. If use Isolationlevel.Serializable
>> exception message changes to:
>>
>> On 17 September 2015 at 17:32, Геннадий Забула <zabulu...@gmail.com> wrote:
>>> I'm trying to insert to database multiple items at once via following code:
>>>
>>> using (var transaction =
>>> act.Database.BeginTransaction(System.Data.IsolationLevel.RepeatableRead))
>>> {
>>>   // inserting and updating several related entities.
>>>   act.SaveChanges() // Throws exception
>>> }
>>>
>>> Exception message:
>>> lock conflict on no wait transaction
>>> deadlock
>>> update conflicts with concurrent update
>>> concurrent transaction number is 665378
>>>
>>> A problematic query that throws is about updating the entity, that all
>>> my queries update.
>>>
>>> Using any other IsolationLevel doesn't affect the behavior.

--
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Multithread insert

2015-09-17 Thread Геннадий Забула
lock conflict on no wait transaction
Acquire lock for relation () failed
---> FirebirdSql.Data.Common.IscException: lock conflict on no wait
transaction
Acquire lock for relation () failed

On 17 September 2015 at 17:38, Геннадий Забула <zabulu...@gmail.com> wrote:
> I was wrong about IsolationLevel. If use Isolationlevel.Serializable
> exception message changes to:
>
> On 17 September 2015 at 17:32, Геннадий Забула <zabulu...@gmail.com> wrote:
>> I'm trying to insert to database multiple items at once via following code:
>>
>> using (var transaction =
>> act.Database.BeginTransaction(System.Data.IsolationLevel.RepeatableRead))
>> {
>>   // inserting and updating several related entities.
>>   act.SaveChanges() // Throws exception
>> }
>>
>> Exception message:
>> lock conflict on no wait transaction
>> deadlock
>> update conflicts with concurrent update
>> concurrent transaction number is 665378
>>
>> A problematic query that throws is about updating the entity, that all
>> my queries update.
>>
>> Using any other IsolationLevel doesn't affect the behavior.

--
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] [FB-Tracker] Created: (DNET-631) Support for BOOLEAN in FB3

2015-09-14 Thread Геннадий Забула
How should this be implemented?
I could take a look at this in the week.

On 14 September 2015 at 17:06, Jiri Cincura (JIRA)
 wrote:
> Support for BOOLEAN in FB3
> --
>
>  Key: DNET-631
>  URL: http://tracker.firebirdsql.org/browse/DNET-631
>  Project: .NET Data provider
>   Issue Type: Sub-task
>   Components: ADO.NET Provider, DDEX Provider, Entity Framework 
> support
> Affects Versions: 4.8.0.0
> Reporter: Jiri Cincura
> Assignee: Jiri Cincura
>
>
>
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators: 
> http://tracker.firebirdsql.org/secure/Administrators.jspa
> -
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>
> --
> ___
> Firebird-net-provider mailing list
> Firebird-net-provider@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-08-30 Thread Геннадий Забула
2. According to this: https://msdn.microsoft.com/en-us/data/dn456841.aspx there 
might be problem with ContextKey field because it is PK. But there is a 
workaround that allows to decrease size of the field. Don't know why this field 
need to be so long.

Do I need to fill tracker issues for described problems to track progress?

-Original Message-
From: Jiří Činčura j...@cincura.net
Sent: ‎8/‎30/‎2015 9:08 AM
To: For users and developers of the Firebird .NET providers 
firebird-net-provider@lists.sourceforge.net
Subject: Re: [Firebird-net-provider] Migrations

1. I think table names need to be preserved. Developer is reponsible for 
checking for that constraint. The name is defined. But I meant generated names, 
like PK name (if not specified). It's same for column names etc. It would be 
pretty confusing to later open that database and see just weird characters.
2. AFAIK you still need 16k database to be able to make PK (or maybe just 8k is 
enough, not 4k for sure).  
4. OK, that might be bug. 

-- 
Mgr. Jiří Činčura
Independent IT Specialist
--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-08-29 Thread Геннадий Забула
Can it be merged to master and released as Beta so this won't be used by
everybody?


On Saturday, 29 August 2015, Jiří Činčura j...@cincura.net wrote:

 I do.



 I’m still waiting for EF 6.2 as it contains some fixes we need for proper
 error reporting. It’s already fixed in sources, but not yet released. It
 works but people would complain and given how much stupid questions I get
 about DDEX, I’m not going to do that.



 --

 Mgr. Jiří Činčura

 Independent IT Specialist



 *From:* Геннадий Забула [mailto:zabulu...@gmail.com
 javascript:_e(%7B%7D,'cvml','zabulu...@gmail.com');]
 *Sent:* Saturday, August 29, 2015 5:18 PM
 *To:* For users and developers of the Firebird .NET providers 
 firebird-net-provider@lists.sourceforge.net
 javascript:_e(%7B%7D,'cvml','firebird-net-provider@lists.sourceforge.net');
 
 *Subject:* [Firebird-net-provider] Migrations



 What is the current status of migrations? Last change was 8 month. Do you
 plan to merge it to master?

 We are using branch for almost half year in our project and can give some
 feedback/fixes. And want to port them to upstream.

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-08-29 Thread Геннадий Забула
Ok. For now we had such issues:
1. Long names of tables causes foreign key script creation fail with error 
Name exceeded implementation limitation. This caused by 31 characters 
limitation to almost anything not only FK. We crutched this with hashing names  
 with base64 convert. Ugly but works.
2. Second it is drop from support databases with pages less than 16384 because 
of another impl. limitation for max string field length. This breaks creating 
MigrationHistory table. We didn't fixed this, because started using separate 
database. But in near future our previous database would also need to have 
migrations. I think this can be crutched to use blob field only for Model field 
of this table.
3. Issue with sequence generators. Maybe you remember discussion about this on 
github. Looks like I've found good place to configurate particular field. It is 
in OnModelCreating Properties().Configure(x=x.AddAnotation()) for property. 
There user can specify what sequence behavior does he need or provide custom.

Today I tried to add tests for all this to repo but found out that we need to 
add separate test infrastructure for EF tests.

-Original Message-
From: Jiří Činčura j...@cincura.net
Sent: ‎8/‎29/‎2015 7:29 PM
To: For users and developers of the Firebird .NET providers 
firebird-net-provider@lists.sourceforge.net
Subject: Re: [Firebird-net-provider] Migrations

Also if you have some feedback you can discuss it here ahead of time. No 
problem with that.

-- 
Mgr. Jiří Činčura
Independent IT Specialist

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] fbstreambackup: free disk space exhausted

2015-08-29 Thread Геннадий Забула
I'm not sure, but can you check disk space on the remote server where
database is placed?

On Saturday, 29 August 2015, Parzival parzival1...@gmx.at wrote:

 Hallo,



 I try to move from calling gbak as an external tool for backup and use
 fbstreambackup instead.



 Unfortunatly I get an error message free disk space exhausted, which is
 confusing. The disk has enough space to store the backup file. For that
 reason I am guessing that there is something wrong with the way I call the
 backup.



 This is the code (in vulcan.net):



 // declare variables

 LOCAL fsb AS FbStreamingBackup

 LOCAL fs AS System.IO.FileStream



 // create new backup

 fsb := FbStreamingBackup{ sb:ToString() }

 fs := System.IO.FileStream{D:\temp\test.gbk, FileMode.Create }

 fsb:OutputStream := fs



 fsb:Execute() // It fails here



 Can please somebody point out what I am missing here? Maybe the filestream
 is not correct assign to FbStreamingBackup…



 Thanks



 Niko

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


[Firebird-net-provider] Migrations

2015-08-29 Thread Геннадий Забула
What is the current status of migrations? Last change was 8 month. Do you
plan to merge it to master?

We are using branch for almost half year in our project and can give some
feedback/fixes. And want to port them to upstream.
--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Migrations

2015-08-29 Thread Геннадий Забула
1. I've used hashes from names to avoid dictionaries for mapping name-guid.
2. I think it was about Model field. More precise error I'll tell tomorrow when 
PC will be available. I don't want to constraint page size, because changing 
page size for existing databases is done only via backup-restore AFAIK. In case 
of several GB dbs it's not an option.
3. Yes. Default behavior maybe several pre defined and possibility to provide 
custom.
4. One more issue I remembered. Dbs created with Initial migration and via 
CreateDatabaseIfNotExists have different underlying scheme in part of names. I 
think this should be also fixed.

-Original Message-
From: Jiří Činčura j...@cincura.net
Sent: ‎8/‎29/‎2015 10:08 PM
To: For users and developers of the Firebird .NET providers 
firebird-net-provider@lists.sourceforge.net
Subject: Re: [Firebird-net-provider] Migrations

 1. Long names of tables causes foreign key script creation fail with error 
 Name exceeded implementation limitation. This caused by 31 characters 
 limitation to almost anything not only FK. We crutched this with hashing 
 names   with base64 convert. Ugly but works.

Maybe we can, in case it's longer than 31 characters, simply use GUID. Not nice 
either, though.

 2. Second it is drop from support databases with pages less than 16384 
 because of another impl. limitation for max string field length. This breaks 
 creating MigrationHistory table. We didn't fixed this, because started using 
 separate database. But in near future our previous database would also need 
 to have migrations. I think this can be crutched to use blob field only for 
 Model field of this table.

You mean the PK on MigrationHistory? We can specify 16k page size as a 
requirement. There's not much to invent on the PK.

 3. Issue with sequence generators. Maybe you remember discussion about this 
 on github. Looks like I've found good place to configurate particular field. 
 It is in OnModelCreating Properties().Configure(x=x.AddAnotation()) for 
 property. There user can specify what sequence behavior does he need or 
 provide custom.

True. And with custom convention it's not even needed to specify it explicitly 
for every column.

 Today I tried to add tests for all this to repo but found out that we need to 
 add separate test infrastructure for EF tests.

There's few tests I wrote. Using CF as that's easy to set up. But maybe the 
migrations would need deeper setup.

-- 
Mgr. Jiří Činčura
Independent IT Specialist


--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] DNET-532

2015-08-29 Thread Геннадий Забула
Fresh PR for this issue:
https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/35

On 27 August 2015 at 07:58, Jiří Činčura j...@cincura.net wrote:
 One more question about string.Equals. Comparison type used in IndexOf
 calls is StringComparison.CurrentCultureIgnoreCase. My question why this
 used instead of OrdinalIgnoreCase?
 My current optimization, including StringComparison change decreased
 timings to 22 (names) vs 6 (indexes) seconds.

 Because of national characters. Somebody might use these in parameter name. 
 Although it's pretty weird, I had similar issue in DDEX.
 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] DNET-532

2015-08-26 Thread Геннадий Забула
About Equals call I'm not sure it can be optimized somehow.
But decreasing cost of NormalizeParameterName should significantly
reduce overall case execution time.

On 26 August 2015 at 20:27, Геннадий Забула zabulu...@gmail.com wrote:
 I've profiled case and found out next hot paths:

 get_Item: 54,56%
 1. 30.30%
 return this.parameters.FindIndex((PredicateFbParameter) (x =
 x.InternalParameterName.Equals(normalizedParameterName,
 StringComparison.CurrentCultureIgnoreCase)));
 Equals call
 2. 21,51%
 internal static string NormalizeParameterName(string parameterName)
 {
   if (string.IsNullOrEmpty(parameterName) || 
 parameterName.StartsWith(@))
 return parameterName;
   return string.Format(@{0}, (object) parameterName);
 }
 This method also can be optmized.
 StartsWith - parameterName[0] == '@'
 string.Format - string.Concat(@, parameterName)

 On 26 August 2015 at 16:45, Jiří Činčura j...@cincura.net wrote:
 Can you share profiler report?

 There's a test app attached to the ticket. It clearly shows the hot spot. I 
 can share only times (from my machine).

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] DNET-532

2015-08-26 Thread Геннадий Забула
Before doing any optimizations, there should be done some profiling to
find hot paths in particular cases.
I think need to start with sample that demonstrates the issue. After
that start running it in a loop under profiler.


On 26 August 2015 at 15:39, Jiří Činčura j...@cincura.net wrote:
 Hi *,

 May I bring to your attention the 
 http://tracker.firebirdsql.org/browse/DNET-532 ? I'd like to know others' 
 view as well.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] DNET-532

2015-08-26 Thread Геннадий Забула
Can you share profiler report?

On 26 August 2015 at 16:05, Jiří Činčura j...@cincura.net wrote:
 Before doing any optimizations, there should be done some profiling to
 find hot paths in particular cases.
 I think need to start with sample that demonstrates the issue. After that
 start running it in a loop under profiler.

 Done that already.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Handling of boolean in .Net Provider 4.6.2

2015-06-26 Thread Геннадий Забула
We are using SMALLINT type in our project.
FB EF provider also generates tables with SMALLINT fields for
code-first class fields.

On 26 June 2015 at 14:49, Christian Waldmann
christian.waldm...@rte-ag.ch wrote:
 I am using Firebird 2.5.4, superServer and embedded, Visula Studio 2013,
 .Net Framework 4.5.1, .Net Provider 4.6.2

 //==
 =
 I have defined a table with CyclePassed CHAR(1) to store a boolean result

 CREATE TABLE SampleSummaries (
 UniqueIdBIGINT DEFAULT 0 NOT NULL,
 EndTestRunIdBIGINT NOT NULL,
 Cycle   BIGINT NOT NULL,
 LoadPressureFLOAT,
 LoadPressureMin FLOAT,
 LoadPressureMax FLOAT,
 ShutoffPressure FLOAT,
 ShutoffPressureMin  FLOAT,
 ShutoffPressureMax  FLOAT,
 TravelTime  FLOAT,
 TravelTimeMin   FLOAT,
 TravelTimeMax   FLOAT,
 CyclePassed CHAR(1)
 );


 //==
 =
 // access to table from C#

 bool cyclePassed = true;
 FbCommand command = new FbCommand();

 command.CommandText =
 INSERT INTO \SampleSummaries\ ( +
   \EndTestRunId\, \Cycle\,  +
   \LoadPressure\, \LoadPressureMin\, \LoadPressureMax\,  +
   \ShutoffPressure\, \ShutoffPressureMin\, \ShutoffPressureMax\,
  +
   \TravelTime\, \TravelTimeMin\, \TravelTimeMax\,
 \CyclePassed\ +
   ) VALUES  (@EndTestRunId, @Cycle,  +
   @LoadPressure, @LoadPressureMin, @LoadPressureMax,  +
   @ShutoffPressure, @ShutoffPressureMin, @ShutoffPressureMax, +
   @TravelTime, @TravelTimeMin, @TravelTimeMax, @CyclePassed );

 command.Connection = samplesTableAdapter.Connection;
 command.Transaction = transaction;

 command.Parameters.Add(@EndTestRunId, FbDbType.BigInt).Value = channelId;
 ...

 // PROBLEM A:
 
 ==
 // works with stand alone server,
 // but SQL error string conversion error '49'
 // {Remark: 49 is the decimal ASCII code of '1'}
 command.Parameters.Add(@CyclePassed, FbDbType.Boolean).Value = cyclePassed
 ? '1' : '0';

 // PROBLEM B:
 
 ==
 // works with embedded server,
 // but string truncation error with stand alone server
 command.Parameters.Add(@CyclePassed, FbDbType.Boolean).Value =
 cyclePassed;

 // REMARK:
 
 ==
 // works with embedded server and standalone server Firebird 2.5.3, with
 .Net Provider 2.0, .Net Framework 2.0, Visual Studio 2008
 command.Parameters.Add(@CyclePassed, FbDbType.Boolean).Value =
 cyclePassed;

 // QUESTION
 
 
 Is this a bug or am I missing the correct usage of storing a 'bool'?

 Happy coding
 Christian Waldmann


 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] OutOfMemoryException

2015-06-19 Thread Геннадий Забула
can you make a dump of your test-process in a moment of OOM exception
(if there is no sensitive information of course), so we can take a
look what and where had leaked.

On 19 June 2015 at 08:35, Alexander Muylaert-Gelein
amuylaert_gel...@hotmail.com wrote:
 You might already have expected this.  I don't think Jiri is aware of any
 leaks inside the provider, otherwise they would have been resolved.

 Can you make a reproducible scenario?

 thanks

 a

 From: lo...@nucleo.co.za
 To: firebird-net-provider@lists.sourceforge.net
 Date: Thu, 18 Jun 2015 16:34:36 +0200
 Subject: [Firebird-net-provider] OutOfMemoryException


 Hello, I have an application that runs on .NET 4.5.1 against FB 2.5.2. Up
 to
 now I have been using FirebirdClient 2.0.1. I have just migrated to using
 FirebirdClient 4.6.2 with the view of getting some performance gains.

 When I run my application's automated test suite of around 1500 tests
 using
 client 2.0.1, the test suite runs through. However, when I run the test
 suite against client 4.6.2, I get OutOfMemoryException at around 80% mark.

 The first question is whether client 4.6.2 will give me performance gains.
 Second question is why would I run out of memory with 4.6.2 and not 2.0.1?

 Thanks
 Louis



 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

 --

 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Setting LockTables in FbTransactionOptions with string[] of Tables to Lock

2015-06-16 Thread Геннадий Забула
Use Linq^
string[] tables = 

LockTables = tables.ToDictionary(x=x, FbTransactionBehavior.LockRead
| FbTransactionBehavior.Exclusive)
But this will cause all table to have same FbTransactionBehavior.

On Tue, Jun 16, 2015 at 7:50 AM, Jiří Činčura j...@cincura.net wrote:
 You can’t use string[]. You need to specify the locking, hence the 
 IDictionary.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] FbBatchExecution

2015-06-16 Thread Геннадий Забула
you can also add helper method Add(FbScript scrip) to support current ctor.


On Tue, Jun 16, 2015 at 7:57 AM, Jiří Činčura j...@cincura.net wrote:
 Thinking more about it. Maybe the ctor should be only with optional 
 FbConnection and the rest can be done via SqlStatements property. Then it's 
 not tied to FbScript at all.

 Maybe then the FbStatementCollection can have a simple helper method 
 Add(FbStatementCollection) (or something like that). Then it would look 
 like:

 var batchExecution = new FbBatchExceution();
 batchExecution.Statements.Add(script.Results); //maybe rename Results  
 Statements???
 batchExecution.Execute();

 Looks good to me.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 -Original Message-
 From: Jiří Činčura
 Sent: Wednesday, June 10, 2015 3:36 PM
 To: firebird-net-provider@lists.sourceforge.net
 Subject: FbBatchExecution

 Hi guys,

 Looking at FbBatchExecution's ctor I don't see a reason why it takes
 FbScript. It should rather be FbStatementCollection I think. The
 FbBatchExecution is doing nothing with the FbScript. It just needs
 commands.

 What do you think? I would add another overload to ctor and make the one
 with FbScript obsolete.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] FbBatchExecution

2015-06-10 Thread Геннадий Забула
I don't use this. Though, propose looks good to me.

On Wed, Jun 10, 2015 at 6:37 PM, Ivan Arabadzhiev
intelru...@unrealsoft.net wrote:
 I did once suggest it should take raw String, a long time ago (did a lot of
 magic to embed text files to run...). Still think it has uses, but I've
 mostly moved away from .net now

 2015-06-10 16:36 GMT+03:00 Jiří Činčura j...@cincura.net:

 Hi guys,

 Looking at FbBatchExecution's ctor I don't see a reason why it takes
 FbScript. It should rather be FbStatementCollection I think. The
 FbBatchExecution is doing nothing with the FbScript. It just needs commands.

 What do you think? I would add another overload to ctor and make the one
 with FbScript obsolete.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider



 --

 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Random crashes in Finalizers

2015-04-09 Thread Геннадий Забула
That's why I think my suggested changes won't impact most users of Dnet
provider.

On Thursday, April 9, 2015, Alexander Muylaert-Gelein 
amuylaert_gel...@hotmail.com wrote:

 Hi

 No, I have to admit I've abondoned EF long time ago.  Too much magic
 behind the scenes for me.  I couldn't predict the behavior of EF and that
 was too hard to manage.  I also don't use embedded.  I have a lot of pooled
 connections on cs and ss and normal stay open long connections on mostly
 ss.  For mapping I prefer LLBLGEN pro, because it is dumb and thus does
 what I want and nothing extra.

 thanks

 a

  Date: Wed, 8 Apr 2015 18:16:36 +0300
  From: zabulu...@gmail.com
 javascript:_e(%7B%7D,'cvml','zabulu...@gmail.com');
  To: firebird-net-provider@lists.sourceforge.net
 javascript:_e(%7B%7D,'cvml','firebird-net-provider@lists.sourceforge.net');
  Subject: Re: [Firebird-net-provider] Random crashes in Finalizers
 
  We use FbConnection in EF. EF does not always calls Dispose on classes
  provided by the FB Data provider.
  Alexander, what server do you use? For example, we use embedded
  configuration in our production. And code of the Fes* namespace
  doesn't work well in finalizers as we see.
 
  On Wed, Apr 8, 2015 at 6:12 PM, Alexander Muylaert-Gelein
  amuylaert_gel...@hotmail.com
 javascript:_e(%7B%7D,'cvml','amuylaert_gel...@hotmail.com'); wrote:
   Hi
  
   I intensively use firebird and provider... I always use the dispose
 method
   (using) and I don't depend on the GC for this. I never had any of the
   exceptions refererred to.
  
   Wouldn't it be better *not* to depend on something horrible as the gc
 for
   something as important as your db connectivity? Isn't it better to
 prevent
   then to cure?
  
   thanks
  
   a
  
  
   Date: Wed, 8 Apr 2015 18:00:26 +0300
   From: zabulu...@gmail.com
 javascript:_e(%7B%7D,'cvml','zabulu...@gmail.com');
   To: firebird-net-provider@lists.sourceforge.net
 javascript:_e(%7B%7D,'cvml','firebird-net-provider@lists.sourceforge.net');
   Subject: [Firebird-net-provider] Random crashes in Finalizers
  
  
   Hello everyone.
  
   I want to discuss changes in finalizers regarding a couple of crashes
   we experience in our FB using.
  
   Issues in tracker:
   http://tracker.firebirdsql.org/browse/DNET-582
   http://tracker.firebirdsql.org/browse/DNET-597
  
   As for 582 we have discussion in PR that crutches it on GitHub:
   https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/19
  
   As for 597 try...catch doesn't work, it is a more complicated problem.
  
   My suggestion is to refactor Dispose/Finalizer methods to not use
   managed objects which might be already disposed.
  
   Maybe anyone have another thought?
   JIri, what do you think?
  
  
  
 --
   BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
   Develop your own process in accordance with the BPMN 2 standard
   Learn Process modeling best practices with Bonita BPM through live
   exercises
   http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
   event?utm_
   source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
   ___
   Firebird-net-provider mailing list
   Firebird-net-provider@lists.sourceforge.net
 javascript:_e(%7B%7D,'cvml','Firebird-net-provider@lists.sourceforge.net');
   https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
  
  
 --
   BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
   Develop your own process in accordance with the BPMN 2 standard
   Learn Process modeling best practices with Bonita BPM through live
 exercises
   http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
 event?utm_
   source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
   ___
   Firebird-net-provider mailing list
   Firebird-net-provider@lists.sourceforge.net
 javascript:_e(%7B%7D,'cvml','Firebird-net-provider@lists.sourceforge.net');
   https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
  
 
 
 --
  BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
  Develop your own process in accordance with the BPMN 2 standard
  Learn Process modeling best practices with Bonita BPM through live
 exercises
  http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
 event?utm_
  source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
  ___
  Firebird-net-provider mailing list
  Firebird-net-provider@lists.sourceforge.net
 javascript:_e(%7B%7D,'cvml','Firebird-net-provider@lists.sourceforge.net');
  https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Random crashes in Finalizers

2015-04-08 Thread Геннадий Забула
We use FbConnection in EF. EF does not always calls Dispose on classes
provided by the FB Data provider.
Alexander, what server do you use? For example, we use embedded
configuration in our production. And code of the Fes* namespace
doesn't work well in finalizers as we see.

On Wed, Apr 8, 2015 at 6:12 PM, Alexander Muylaert-Gelein
amuylaert_gel...@hotmail.com wrote:
 Hi

 I intensively use firebird and provider... I always use the dispose method
 (using) and I don't depend on the GC for this.  I never had any of the
 exceptions refererred to.

 Wouldn't it be better *not* to depend on something horrible as the gc for
 something as important as your db connectivity?  Isn't it better to prevent
 then to cure?

 thanks

 a


 Date: Wed, 8 Apr 2015 18:00:26 +0300
 From: zabulu...@gmail.com
 To: firebird-net-provider@lists.sourceforge.net
 Subject: [Firebird-net-provider] Random crashes in Finalizers


 Hello everyone.

 I want to discuss changes in finalizers regarding a couple of crashes
 we experience in our FB using.

 Issues in tracker:
 http://tracker.firebirdsql.org/browse/DNET-582
 http://tracker.firebirdsql.org/browse/DNET-597

 As for 582 we have discussion in PR that crutches it on GitHub:
 https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/19

 As for 597 try...catch doesn't work, it is a more complicated problem.

 My suggestion is to refactor Dispose/Finalizer methods to not use
 managed objects which might be already disposed.

 Maybe anyone have another thought?
 JIri, what do you think?


 --
 BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
 Develop your own process in accordance with the BPMN 2 standard
 Learn Process modeling best practices with Bonita BPM through live
 exercises
 http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
 event?utm_
 source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

 --
 BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
 Develop your own process in accordance with the BPMN 2 standard
 Learn Process modeling best practices with Bonita BPM through live exercises
 http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
 source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


[Firebird-net-provider] Random crashes in Finalizers

2015-04-08 Thread Геннадий Забула
Hello everyone.

I want to discuss changes in finalizers regarding a couple of crashes
we experience in our FB using.

Issues in tracker:
http://tracker.firebirdsql.org/browse/DNET-582
http://tracker.firebirdsql.org/browse/DNET-597

As for 582 we have discussion in PR that crutches it on GitHub:
https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/pull/19

As for 597 try...catch doesn't work, it is a more complicated problem.

My suggestion is to refactor Dispose/Finalizer methods to not use
managed objects which might be already disposed.

Maybe anyone have another thought?
JIri, what do you think?

--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Make FbNetProvider classes unseal

2015-01-17 Thread Геннадий Забула
have you tried real profiler tools? i.e. studio performance analyzer
or its analogues?

On Fri, Jan 16, 2015 at 6:24 PM, Lukáš Vykydal l.vyky...@gmail.com wrote:
 Well thank you for sugestions.

 After some thinking we'll use soultion with wrapper classes.

 Thank for your time

 Lukáš Vykydal
 Dne 1/16/2015 v 11:24 AM Jiří Činčura napsal(a):
 Well, you can do simple:
 StartTiming();
 Execute();
 LogElapsed();

 Of if you want to do more fancy solution you should wrap all the FbXxx 
 classes into wrappers. That's how other layers work (profilers, O/Rs, ...).



 --
 New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
 GigeNET is offering a free month of service with a new server in Ashburn.
 Choose from 2 high performing configs, both with 100TB of bandwidth.
 Higher redundancy.Lower latency.Increased capacity.Completely compliant.
 http://p.sf.net/sfu/gigenet
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-30 Thread Геннадий Забула
 Your configuration for context needs to derive from FbDbConfiguration. So
far there's no better solution. The migrations are run in serializable
transaction and you need to insert into __MigrationHistory right after
creation. Disaster.

I'm using the same Context for both MSSQL and Firebird, how deriving from
FbDbConfiguration can affect MSSQL code path? Can we override this somehow
just in Firebird provider?

 Yeah. Firebird's 31 characters it's goign to be hard to beat. I can
shorten the string, but that will increase collisions. Maybe we can create
- similar to generators - open ended method that anybody can override if
needed.

I like this.


2014-12-30 10:06 GMT+02:00 Jiří Činčura j...@cincura.net:

 Your configuration for context needs to derive from FbDbConfiguration. So
 far there's no better solution. The migrations are run in serializable
 transaction and you need to insert into __MigrationHistory right after
 creation. Disaster.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 From: Геннадий Забула [mailto:zabulu...@gmail.com]
 Sent: Tuesday, December 30, 2014 8:19 AM
 To: For users and developers of the Firebird .NET providers
 Subject: Re: [Firebird-net-provider] EF Migrations

 Fall in next query:
 EXECUTE BLOCK
 AS
 BEGIN
 EXECUTE STATEMENT
 'CREATE TABLE __MigrationHistory (
 MigrationId VARCHAR(150) NOT NULL,
 ContextKey VARCHAR(300) NOT NULL,
 Model BLOB SUB_TYPE BINARY NOT NULL,
 ProductVersion VARCHAR(32) NOT NULL
 )'
 WITH AUTONOMOUS TRANSACTION;
 END
 Parameters:
 With next exception:
 unsuccessful metadata update
 STORE RDB$RELATIONS failed
 lock conflict on no wait transaction

 2014-12-30 9:03 GMT+02:00 Геннадий Забула zabulu...@gmail.com:
 Here are my issues/suggestions:
 1. Generator ID. One for all is bad options for me. I'll reimplement it to
 have one for table.
 2. Couple of errors in creating Constraints or Indexes:
 unsuccessful metadata update
 Name longer than database column size
 Constraint names are longer than it can be in system tables: ALTER TABLE
 ClientGroupAlerts ADD CONSTRAINT
 FK_ClientGroupAlerts_ClientGroups_ClientGroup_Id. I've figured that
 maximum name is 31 (!!!) characters. I've implemented SHA1 (maybe I will
 replace it with something faster) hashing of string names.

 Will write about further progress.

 2014-12-20 8:32 GMT+02:00 Mercea Paul paul.mer...@almexa.ro:
 On 2014.11.06 3:06 PM, Jiří Činčura wrote:
  Hi *,
 
  Anybody here willing to give EF Migrations a try? I'm getting close to
 first implementation.
 
 I'm trying to add support for Firebird db for existing app on SQL
 Express, and, first run of the application was with no errors and
 created the database.
 I'll going to try migrations steps and give feedback.

 Thanks Jiri

 Paul MERCEA
 ___
 E-mail: paul.mer...@almexa.ro
 ___



 --
 Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
 from Actuate! Instantly Supercharge Your Business Reports and Dashboards
 with Interactivity, Sharing, Native Excel Exports, App Integration  more
 Get technology previously reserved for billion-dollar corporations, FREE

 http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider



 --
 Dive into the World of Parallel Programming! The Go Parallel Website,
 sponsored by Intel and developed in partnership with Slashdot Media, is
 your
 hub for all things parallel software development, from weekly thought
 leadership blogs to news, videos, case studies, tutorials and more. Take a
 look and join the conversation now. http://goparallel.sourceforge.net
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-30 Thread Геннадий Забула
I've found out that there is the static class:
System.Data.Entity.Infrastructure.Interception.DbInterception, which adds
IDbInterceptor,

2014-12-30 11:23 GMT+02:00 Jiří Činčura j...@cincura.net:

  I'm using the same Context for both MSSQL and Firebird, how deriving
 from FbDbConfiguration can affect MSSQL code path? Can we override this
 somehow just in Firebird provider?

 You can use the same context. It's just configuration. I'm waiting for
 reply from EF guys to see what other options are.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist



 --
 Dive into the World of Parallel Programming! The Go Parallel Website,
 sponsored by Intel and developed in partnership with Slashdot Media, is
 your
 hub for all things parallel software development, from weekly thought
 leadership blogs to news, videos, case studies, tutorials and more. Take a
 look and join the conversation now. http://goparallel.sourceforge.net
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-30 Thread Геннадий Забула
One more thing about naming indexes conventions. Indexes namespace is
global. So if you have several same fields in different tables, you'll have
the same name index for both. Good example in three entities with N:M
relations:
Entity1: eid, name
Entity2: eid, name
Entity3: eid, name
Entity1Entity3: Entity1_eid, Entity3_eid
Entity1Entity2: Entity1_eid, Entity2_eid
Will try to create index IX_Entity1_eid for both tables and fail on this.
I've added the table name to the index name: IX_Entity1Entity3_Entity1_eid,
and as I mentioned before I've experienced long name error.

2014-12-30 11:35 GMT+02:00 Геннадий Забула zabulu...@gmail.com:

 And looks like it works:
 public FbProviderServices()
 {
 #if (EF_6)
 AddDependencyResolver(new
 SingletonDependencyResolverIDbConnectionFactory(new
 FbConnectionFactory()));
 AddDependencyResolver(new
 SingletonDependencyResolverFuncMigrationSqlGenerator(() = new
 FbMigrationSqlGenerator(), ProviderInvariantName));

 System.Data.Entity.Infrastructure.Interception.DbInterception.Add(new
 MigrationsTransactionsInterceptor());
 #endif
 }

 2014-12-30 11:29 GMT+02:00 Геннадий Забула zabulu...@gmail.com:

 I've found out that there is the static class:
 System.Data.Entity.Infrastructure.Interception.DbInterception, which adds
 IDbInterceptor,

 2014-12-30 11:23 GMT+02:00 Jiří Činčura j...@cincura.net:

  I'm using the same Context for both MSSQL and Firebird, how deriving
 from FbDbConfiguration can affect MSSQL code path? Can we override this
 somehow just in Firebird provider?

 You can use the same context. It's just configuration. I'm waiting for
 reply from EF guys to see what other options are.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist



 --
 Dive into the World of Parallel Programming! The Go Parallel Website,
 sponsored by Intel and developed in partnership with Slashdot Media, is
 your
 hub for all things parallel software development, from weekly thought
 leadership blogs to news, videos, case studies, tutorials and more. Take
 a
 look and join the conversation now. http://goparallel.sourceforge.net
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider




--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-30 Thread Геннадий Забула
 That’s not the same as what AddInterceptor call does.
As far as I see in the debugger, MigrationsTransactionsInterceptor is
called successfully and failed tests are going further. I've added just one
fix to filter just Firebird connections:
public void BeginningTransaction(DbConnection connection,
BeginTransactionInterceptionContext interceptionContext)
{
if (connection is FbConnection
 interceptionContext.IsolationLevel ==
IsolationLevel.Serializable
 IsInMigrations())
{
interceptionContext.Result =
connection.BeginTransaction(IsolationLevel.ReadCommitted);
}
}
 The name for index is created by EF if the explicit value is not provided.
Name conventions of EF is slightly different from Firebird. We need to
override this in the provider.

2014-12-30 11:57 GMT+02:00 Jiří Činčura j...@cincura.net:

 The name for index is created by EF if the explicit value is not provided.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 Dive into the World of Parallel Programming! The Go Parallel Website,
 sponsored by Intel and developed in partnership with Slashdot Media, is
 your
 hub for all things parallel software development, from weekly thought
 leadership blogs to news, videos, case studies, tutorials and more. Take a
 look and join the conversation now. http://goparallel.sourceforge.net
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-30 Thread Геннадий Забула
According to this:
http://entityframework.codeplex.com/wikipage?title=Interception
As I understand DbConfiguration.AddInterceptor is for context instance
interceptions.
And DbInterceptors.AddInterceptor is for global-wide interceptions.
I suggest moving registration MigrationsTransactionsInterceptor to the
DbInterceptors (or maybe via AddDependencyResolver(new
SingletonDependencyResolverIDbInterceptor()) as suggested in
documentation: 
http://msdn.microsoft.com/ru-ru/library/system.data.entity.dbconfiguration.addinterceptor(v=vs.113).aspx),
because it is provider-specific crutch.

On Tue, Dec 30, 2014 at 12:15 PM, Jiří Činčura j...@cincura.net wrote:

 Yeah, but it’s different path. The InternalConfiguration class might or might 
 not like that (now or in the future). It’s problem waiting to happen.

 And please stop sending HTML emails.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 Dive into the World of Parallel Programming! The Go Parallel Website,
 sponsored by Intel and developed in partnership with Slashdot Media, is your
 hub for all things parallel software development, from weekly thought
 leadership blogs to news, videos, case studies, tutorials and more. Take a
 look and join the conversation now. http://goparallel.sourceforge.net
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-30 Thread Геннадий Забула
One more question, how can I register custom implementation of
IFbMigrationSqlGeneratorBehavior?

On Tue, Dec 30, 2014 at 12:55 PM, Геннадий Забула zabulu...@gmail.com wrote:
 According to this:
 http://entityframework.codeplex.com/wikipage?title=Interception
 As I understand DbConfiguration.AddInterceptor is for context instance
 interceptions.
 And DbInterceptors.AddInterceptor is for global-wide interceptions.
 I suggest moving registration MigrationsTransactionsInterceptor to the
 DbInterceptors (or maybe via AddDependencyResolver(new
 SingletonDependencyResolverIDbInterceptor()) as suggested in
 documentation: 
 http://msdn.microsoft.com/ru-ru/library/system.data.entity.dbconfiguration.addinterceptor(v=vs.113).aspx),
 because it is provider-specific crutch.

 On Tue, Dec 30, 2014 at 12:15 PM, Jiří Činčura j...@cincura.net wrote:

 Yeah, but it’s different path. The InternalConfiguration class might or 
 might not like that (now or in the future). It’s problem waiting to happen.

 And please stop sending HTML emails.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 Dive into the World of Parallel Programming! The Go Parallel Website,
 sponsored by Intel and developed in partnership with Slashdot Media, is your
 hub for all things parallel software development, from weekly thought
 leadership blogs to news, videos, case studies, tutorials and more. Take a
 look and join the conversation now. http://goparallel.sourceforge.net
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-12-29 Thread Геннадий Забула
Here are my issues/suggestions:
1. Generator ID. One for all is bad options for me. I'll reimplement it to
have one for table.
2. Couple of errors in creating Constraints or Indexes:
unsuccessful metadata update
Name longer than database column size
Constraint names are longer than it can be in system tables: ALTER TABLE
ClientGroupAlerts ADD CONSTRAINT
FK_ClientGroupAlerts_ClientGroups_ClientGroup_Id. I've figured that
maximum name is 31 (!!!) characters. I've implemented SHA1 (maybe I will
replace it with something faster) hashing of string names.

Will write about further progress.

2014-12-20 8:32 GMT+02:00 Mercea Paul paul.mer...@almexa.ro:

 On 2014.11.06 3:06 PM, Jiří Činčura wrote:
  Hi *,
 
  Anybody here willing to give EF Migrations a try? I'm getting close to
 first implementation.
 
 I'm trying to add support for Firebird db for existing app on SQL
 Express, and, first run of the application was with no errors and
 created the database.
 I'll going to try migrations steps and give feedback.

 Thanks Jiri

 Paul MERCEA
 ___
 E-mail: paul.mer...@almexa.ro
 ___



 --
 Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
 from Actuate! Instantly Supercharge Your Business Reports and Dashboards
 with Interactivity, Sharing, Native Excel Exports, App Integration  more
 Get technology previously reserved for billion-dollar corporations, FREE

 http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] Insert into uncommitted table

2014-12-22 Thread Геннадий Забула
What the problem with inserting in different transactions?
Have you tried Read uncommited/Consistent read?

2014-12-22 14:08 GMT+02:00 Jiří Činčura j...@cincura.net:

 Hi *,

 Anybody knows a trick how to insert into freshly created table without
 commiting that DDL first. It's kind of fucking up first migration. :)

 Basically:
 Start TX.
   Create table.
   Insert into table.
 Commit TX.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
 from Actuate! Instantly Supercharge Your Business Reports and Dashboards
 with Interactivity, Sharing, Native Excel Exports, App Integration  more
 Get technology previously reserved for billion-dollar corporations, FREE

 http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-11-13 Thread Геннадий Забула
Don't have enough time to merge and test it. I look forward to test it and
write some feedback on next week.

2014-11-13 18:31 GMT+02:00 Jiří Činčura j...@cincura.net:

 Except for identity generation should be done: http://ge.tt/3OSvoR42 .

 Some feedback?

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 Comprehensive Server Monitoring with Site24x7.
 Monitor 10 servers for $9/Month.
 Get alerted through email, SMS, voice calls or mobile push notifications.
 Take corrective actions from your mobile device.

 http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-11-09 Thread Геннадий Забула
I've asked about mutual exclusive of schemes.
If schemes can be applied in one model you can use custom attributes on
primary keys.
If schemes are mutual exclusive, you can use custom extension method for
model builder.

2014-11-09 13:12 GMT+02:00 Jiří Činčura j...@cincura.net:

  The update script should not be changed by users generated by migration.
 Or maybe I don't know something?

 Not exactly. There's assumption that the script will not be mostly
 changed. But some DBA in some classic environments might change it.

  We need to inject some implementation through dependency injection, or
 make it configurable. EF have some built-in dependency injector. Does
 community schemes mentioned above are mutual exclusive for database
 instance?

 Exactly. I'm currently planning to investigate whether EF allows adding
 3rd party services/interfaces to be resolved. And how clean that looks
 like. Maybe after nailing the SQL generation.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-11-08 Thread Геннадий Забула
Can you provide it on github, so I can patch my copy of FB library to use
in our project?

1. What problem in Execute block?
2. My opinion for Identity is to copy MSSQL behavior. Create generator
for each primary key + trigger before insert.


2014-11-08 14:38 GMT+02:00 Jiří Činčura j...@cincura.net:

 Great. Here's http://ge.tt/2Cx9f142?c  early implementation. There are
 two issues which I'm not sure how to do (see below). Rest should work. But
 there might be some missing space etc. in generated SQL or I might wrote it
 in different engine's dialect. That's what I'm mostly looking for for this
 testing.

 For easiest testing is enough to install EntityFramework.Firebird package
 and then replace EntityFramework.Firebird.dll reference with the one from
 above link. The class is FbMigrationSqlGenerator, if you'd like to try it
 manually.

 Issues:
 1. Not easy to drop NOT NULL constraint in alter table. I can do it with
 execute block and generate it there, but seems pretty ugly. I wish
 Firebird 3 was here.
 2. Generating identity columns. It's not directly supported in Firebird.
 I can at least generate #PK_GEN# comment. But I'd like to offer some
 warning at least that you need to create your own trigger and use/create
 generator. Maybe some developer-provided factory to create/alter the
 trigger and create/use generator would work. I'm open for ideas.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist

 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider


Re: [Firebird-net-provider] EF Migrations

2014-11-06 Thread Геннадий Забула
Sure, waiting for this.

2014-11-06 15:06 GMT+02:00 Jiří Činčura j...@cincura.net:

 Hi *,

 Anybody here willing to give EF Migrations a try? I'm getting close to
 first implementation.

 --
 Mgr. Jiří Činčura
 Independent IT Specialist


 --
 ___
 Firebird-net-provider mailing list
 Firebird-net-provider@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

--
___
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider