Re: [Firebird-devel] Start transaction from base transaction

2019-03-01 Thread Alex Peshkoff via Firebird-devel
On 3/1/19 4:50 PM, Dmitry Yemanov wrote: 01.03.2019 16:40, Adriano dos Santos Fernandes wrote: BTW it would be good to known if this pull request (with fb_info_tra_snapshot_number, SET TRANSACTION SNAPSHOT [ AT NUMBER ] and isc_tpb_at_snapshot_number) will go to master/v4. No problems from

Re: [Firebird-devel] Start transaction from base transaction

2019-03-01 Thread Dmitry Yemanov
01.03.2019 16:40, Adriano dos Santos Fernandes wrote: BTW it would be good to known if this pull request (with fb_info_tra_snapshot_number, SET TRANSACTION SNAPSHOT [ AT NUMBER ] and isc_tpb_at_snapshot_number) will go to master/v4. No problems from me. Dmitry Firebird-Devel mailing

Re: [Firebird-devel] Start transaction from base transaction

2019-03-01 Thread Vlad Khorsun
01.03.2019 15:40, Adriano dos Santos Fernandes wrote: On 01/03/2019 10:28, Vlad Khorsun wrote: ...   BTW, what branch go you mean ? https://github.com/FirebirdSQL/firebird/pull/193 I'll change SNAPSHOT_CN name in different commit as it's already present in master. Understand now BTW

Re: [Firebird-devel] Start transaction from base transaction

2019-03-01 Thread Adriano dos Santos Fernandes
On 01/03/2019 10:28, Vlad Khorsun wrote: > 01.03.2019 13:16, Adriano dos Santos Fernandes wrote: > >> I am assuming nobody objects and will implement the changes in the >> branch. > >   No objection, just not forget to change syntax\constant names as was > agreed recently: > > --- > Which then I

Re: [Firebird-devel] Start transaction from base transaction

2019-03-01 Thread Adriano dos Santos Fernandes
On 25/02/2019 13:21, Adriano dos Santos Fernandes wrote: > Vlad is proposing the new info code to be named > fb_info_tra_snapshot_number. I have no problem with it, provided that > SNAPSHOT_CN is also renamed (with he seems to be open), but for what? > SNAPSHOT_NUMBER too? (I have no problem with

Re: [Firebird-devel] Start transaction from base transaction

2019-02-25 Thread Adriano dos Santos Fernandes
Hi! As part of READ COMMITTED READ CONSISTENCY, it was added context variables (under RDB$GET_CONTEXT's SYSTEM namespace) GLOBAL_CN and SNAPSHOT_CN. GLOBAL_CN: Most current value of global Commit Number counter SNAPSHOT_CN: Value of Commit Number of currently database snapshot: either

Re: [Firebird-devel] Start transaction from base transaction

2019-02-24 Thread Adriano dos Santos Fernandes
On 24/02/2019 08:23, Vlad Khorsun wrote: > TPB: isc_tpb_snapshot_commit_number,         isc_tpb_snapshot_number     Regards,     Vlad     PS we also must add isc_info_tra_snapshot_number and, probably, context variable. Don't we already have context SNAPSHOT_CN? It

Re: [Firebird-devel] Start transaction from base transaction

2019-02-24 Thread Vlad Khorsun
24.02.2019 12:37, Dimitry Sibiryakov wrote: 24.02.2019 3:23, Adriano dos Santos Fernandes wrote:     maybe:         SET TRANSACTION SNAPSHOT [USING SNAPSHOT ]     or         SET TRANSACTION SNAPSHOT [USING SNAPSHOT NUMBER ] What I dislike here is double SNAPSHOT words.   You can

Re: [Firebird-devel] Start transaction from base transaction

2019-02-24 Thread Vlad Khorsun
24.02.2019 4:23, Adriano dos Santos Fernandes wrote: On Sat, Feb 23, 2019, 21:30 Vlad Khorsun wrote: 23.02.2019 21:14, Adriano dos Santos Fernandes wrote: > Hi! > > After changes to use commit number instead of base transaction number, I > offer to make that interfaces

Re: [Firebird-devel] Start transaction from base transaction

2019-02-24 Thread Dimitry Sibiryakov
24.02.2019 3:23, Adriano dos Santos Fernandes wrote: maybe:         SET TRANSACTION SNAPSHOT [USING SNAPSHOT ] or         SET TRANSACTION SNAPSHOT [USING SNAPSHOT NUMBER ] What I dislike here is double SNAPSHOT words. You can make it optional. -- WBR, SD.

Re: [Firebird-devel] Start transaction from base transaction

2019-02-23 Thread Adriano dos Santos Fernandes
On Sat, Feb 23, 2019, 21:30 Vlad Khorsun wrote: > 23.02.2019 21:14, Adriano dos Santos Fernandes wrote: > > Hi! > > > > After changes to use commit number instead of base transaction number, I > > offer to make that interfaces for the feature: > >I offer to not introduce additional confusing

Re: [Firebird-devel] Start transaction from base transaction

2019-02-23 Thread Vlad Khorsun
23.02.2019 21:14, Adriano dos Santos Fernandes wrote: Hi! After changes to use commit number instead of base transaction number, I offer to make that interfaces for the feature: I offer to not introduce additional confusing with different usages of commit numbers. Commit Number (CN)

Re: [Firebird-devel] Start transaction from base transaction

2019-02-23 Thread Adriano dos Santos Fernandes
Hi! After changes to use commit number instead of base transaction number, I offer to make that interfaces for the feature: SQL command: SET TRANSACTION SNAPSHOT COMMIT NUMBER (some variant as SNAPSHOT FROM COMMIT NUMBER or SNAPSHOT BASE COMMIT NUMBER may be acceptable) TPB:

Re: [Firebird-devel] Start transaction from base transaction

2019-02-21 Thread Adriano dos Santos Fernandes
On 19/02/2019 13:56, Vlad Khorsun wrote: > >   As i understand you - it doen't break anything. For me, it is safe to > assign > to the new snapshot (CONCURRENCY) transaction number of already existing > and > still alive snapshot. It is very important to ensure existence of that > snapshot >

Re: [Firebird-devel] Start transaction from base transaction

2019-02-19 Thread Vlad Khorsun
19.02.2019 18:24, Adriano dos Santos Fernandes wrote: Hi Vlad, I restarted work on this feature now using commit numbers. Good to know. Could you publish user interface before it is too late ? ;) Initial prototype seems to work easily. It should be not too hard, agree So now with

Re: [Firebird-devel] Start transaction from base transaction

2019-02-19 Thread Adriano dos Santos Fernandes
Hi Vlad, I restarted work on this feature now using commit numbers. Initial prototype seems to work easily. So now with current master code, is it ok to have transaction numbers TN1 < TN2 < TN3 with their correspondents tra_snapshot_number not being TSN1 <= TSN2 <= TSN3 ? That is, when TN3

Re: [Firebird-devel] Start transaction from base transaction

2017-05-11 Thread Leyne, Sean
> The trick words is how to shortly tell this "the snapshot used to start > transaction ". > > And it's even more trick when we think about commit retaining. > > My understand is that if transaction had a commit retaining, subsequent > new derived transactions will use the snapshot after the

Re: [Firebird-devel] Start transaction from base transaction

2017-05-11 Thread Adriano dos Santos Fernandes
On 10/05/2017 16:01, Leyne, Sean wrote: >> "Starting from"? > That would be misleading, the connection would not be able to see commits > from later transactions, which is certainly not the case. > > The trick words is how to shortly tell this "the snapshot used to start transaction ". And it's

Re: [Firebird-devel] Start transaction from base transaction

2017-05-10 Thread Leyne, Sean
> "Starting from"? That would be misleading, the connection would not be able to see commits from later transactions, which is certainly not the case. Sean -- Check out the vibrant tech community on one of the

Re: [Firebird-devel] Start transaction from base transaction

2017-05-10 Thread livius
Maybe "Starting from"? regards, Karol Bieniaszewski -Oryginalna wiadomość- From: Leyne, Sean Sent: Tuesday, May 9, 2017 9:20 PM To: For discussion among Firebird Developers Subject: Re: [Firebird-devel] Start transaction from base transaction > >>> + |

Re: [Firebird-devel] Start transaction from base transaction

2017-05-09 Thread Leyne, Sean
> >>> + | SNAPSHOT SHARING FROM > >> SNAPSHOT BASED ON > >> ? > >> > > Do you think with this words it's clear that the new transaction uses > > the same snapshot used in , instead of incorrectly saying that it > > will use as the snapshot for the new transaction? > > > > Thinking in these

Re: [Firebird-devel] Start transaction from base transaction

2017-05-06 Thread Adriano dos Santos Fernandes
Em 06/05/2017 09:15, livius escreveu: > >> Yes, but we should avoid to write whole novels at SQL statements ;) > > Agree - but to fast chice is also not good > >> It have no sence (if i understand you :) ) > Maybe, but it should be prohibited in code or designed to do not create > wrong

Re: [Firebird-devel] Start transaction from base transaction

2017-05-06 Thread livius
inalna wiadomość- From: Vlad Khorsun Sent: Saturday, May 6, 2017 11:55 AM To: firebird-devel@lists.sourceforge.net Subject: Re: [Firebird-devel] Start transaction from base transaction 06.05.2017 11:47, livius wrote: > Hi, > > for me name is confusing - beacause here can be two cases

Re: [Firebird-devel] Start transaction from base transaction

2017-05-06 Thread Vlad Khorsun
06.05.2017 11:47, livius wrote: > Hi, > > for me name is confusing - beacause here can be two cases: > 1. Snapshot transaction is shared Looks like wrong\incomplete definition, as > 2. only view of database from its start point is shared and any modification > caused by base snapshot and any

Re: [Firebird-devel] Start transaction from base transaction

2017-05-06 Thread livius
@lists.sourceforge.net Subject: Re: [Firebird-devel] Start transaction from base transaction 05.05.2017 21:10, Adriano dos Santos Fernandes wrote: > On 05/05/2017 14:43, Dmitry Yemanov wrote: >> 05.05.2017 20:01, Vlad Khorsun wrote: >>> %type snap_shot >>> snap_shot &g

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Vlad Khorsun
06.05.2017 0:17, Adriano dos Santos Fernandes wrote: > Em 05/05/2017 18:01, Vlad Khorsun escreveu: > >> >> Also, i offer to add additional rule for transaction which should export >> its snapshot data (it allows to avoid export by all transactions), something >> like: >> >> SET

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Adriano dos Santos Fernandes
Em 05/05/2017 18:01, Vlad Khorsun escreveu: > >Also, i offer to add additional rule for transaction which should export > its snapshot data (it allows to avoid export by all transactions), something > like: > >SET TRANSACTION ISOLATION LEVEL SNAPSHOT WITH SHARED SNAPSHOT > As we talk

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Vlad Khorsun
05.05.2017 21:10, Adriano dos Santos Fernandes wrote: > On 05/05/2017 14:43, Dmitry Yemanov wrote: >> 05.05.2017 20:01, Vlad Khorsun wrote: >>> %type snap_shot >>> snap_shot >>> : SNAPSHOT >>> | SNAPSHOT TABLE >>> | SNAPSHOT TABLE STABILITY >>> + | SNAPSHOT SHARING FROM >>

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Vlad Khorsun
05.05.2017 20:36, Adriano dos Santos Fernandes wrote: > On 05/05/2017 14:01, Vlad Khorsun : ... >> I don't understand for what purpose tra_oldest_snapshot was added. > In my understand, it's a property that new transaction should copy from > the base transaction. Isn't it? No.

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Adriano dos Santos Fernandes
On 05/05/2017 14:43, Dmitry Yemanov wrote: > 05.05.2017 20:01, Vlad Khorsun wrote: >> %type snap_shot >> snap_shot >> : SNAPSHOT >> | SNAPSHOT TABLE >> | SNAPSHOT TABLE STABILITY >> +| SNAPSHOT SHARING FROM > SNAPSHOT BASED ON > ? > Do you think with this words it's

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Dmitry Yemanov
05.05.2017 20:01, Vlad Khorsun wrote: > > %typesnap_shot > snap_shot > : SNAPSHOT > | SNAPSHOT TABLE > | SNAPSHOT TABLE STABILITY > + | SNAPSHOT SHARING FROM SNAPSHOT BASED ON ? Dmitry

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Adriano dos Santos Fernandes
On 05/05/2017 14:01, Vlad Khorsun wrote: > >It doesn't forces (nor expresses) new transaction isolation level to be > SNAPSHOT. Yes, I forgot to inform it in comment for now. > Probably, it would be more natural to extend "snap_shot" rule in parser: > > iso_mode > : snap_shot >

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Vlad Khorsun
05.05.2017 18:59, Adriano dos Santos Fernandes write: > Vlad and others, > > Can you look at this? > > https://github.com/asfernandes/firebird/tree/work/sharing-snapshot I took a quick look, so don't get me too serious. Also, my opinion could be incomplete and be changed later :) > It uses

Re: [Firebird-devel] Start transaction from base transaction

2017-05-05 Thread Adriano dos Santos Fernandes
Vlad and others, Can you look at this? https://github.com/asfernandes/firebird/tree/work/sharing-snapshot It uses the simplest possible (and bad) IPC mechanism to manually test the idea of get the snapshot from others processes. It uses syntax: SET TRANSACTION SHARING SNAPSHOT FROM It is

Re: [Firebird-devel] Start transaction from base transaction

2017-04-20 Thread Leyne, Sean
> Being able to start next transaction, > basically, from the point where the previous left would be so convenient and > remove a lot of hacks we have in place right now. To be clear, in my example/use case the "master transaction" would still be active and the related connection would be

Re: [Firebird-devel] Start transaction from base transaction

2017-04-20 Thread Jiří Činčura
>Did you consider export of the data to local files and then sending of >these files? We did. And discarded it because of the hassle of managing these files. > File transfer over Internet is much faster. I'm not uploading over FIrebird's protocol. It's pushed over custom HTTPs

Re: [Firebird-devel] Start transaction from base transaction

2017-04-20 Thread Dimitry Sibiryakov
20.04.2017 8:36, Jiří Činčura wrote: > Sure. There's a part of our system that reads data and sends these over > the internet. Given the deployments on the customer side the internet is > often very very slow (<100kBps sometimes), so we decided to not keep > transaction open, but do it repeatedly

Re: [Firebird-devel] Start transaction from base transaction

2017-04-20 Thread Dimitry Sibiryakov
19.04.2017 23:27, Leyne, Sean wrote: > I never said anything about a single application! > > I mentioned in one of my posts that the Master connection would request a > "Transaction Clone" which would be a GUID that could be sent to another > *process* to allow that process' connection to link

Re: [Firebird-devel] Start transaction from base transaction

2017-04-20 Thread Molnár Attila
+1 for this feature. I would be very happy for this. Also it would be awesmone if this consistent view were accessible later in time (this woudl mean garbage collection blocking). On 2017.04.18. 20:56, Leyne, Sean wrote: > >> If you need simultaneous queries - make them possible, >> what the

Re: [Firebird-devel] Start transaction from base transaction

2017-04-20 Thread Jiří Činčura
>Could you explain, please ? Sure. There's a part of our system that reads data and sends these over the internet. Given the deployments on the customer side the internet is often very very slow (<100kBps sometimes), so we decided to not keep transaction open, but do it repeatedly in bacches

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Leyne, Sean
> > Really, how do you propose to coordinate the transactions account the > separate processes (potentially different hosts)? > >What? So far you talked about transactions from one multi-threaded > application. Where "different hosts" came from all of sudden? I never said anything about a

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 22:10, Leyne, Sean wrote: > Again, you are thinking far too narrowly -- trying to define a problem to > convenience frame of reference. Ok, let me think wider: tell me why you need to move whole tables to other server so often and so quickly? May be you'd better use continuous

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Vlad Khorsun
19.04.2017 20:43, Jiří Činčura wrote: >> once. If they all are started without any commit between them (which can >> be ensured by a >> number of different ways), they will give you completely the same view of >> data. > > I'm listening. That would make my life lot easier in certain scenarios,

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Vlad Khorsun
19.04.2017 17:12, Dimitry Sibiryakov wrote: > 19.04.2017 15:56, Vlad Khorsun wrote: >> And it does it already for a many years when fetching records in a batch >> (default mode) > > Really? I see in sources that it send op_fetch only when in REM_fetch() > it run out of > data in buffer,

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Leyne, Sean
> > 2- that the cost of any approach to ensure such "alignment" will not be so > significant that it compromises system performance. > >The simplest method: ON COMMIT trigger waiting for some flag to be > unset. You set flag, start your transactions and then reset the flag. > Performance

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 18:54, Leyne, Sean wrote: > I have client with over 500 connection to a database, I am pretty sure that: > > 1- there is no way to ensure that all the read-only processes can start a > transaction without the possibility that another read/write transaction > started in between them,

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 19:01, Leyne, Sean wrote: > If the solution was simple, we wouldn't be having this discussion right now. BTW, did you considered moving of these tables into separate database that it can be transferred between servers as whole using nbackup? -- WBR, SD.

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 18:54, Leyne, Sean wrote: > I have client with over 500 connection to a database, I am pretty sure that: > > 1- there is no way to ensure that all the read-only processes can start a > transaction without the possibility that another read/write transaction > started in between them,

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Jiří Činčura
> once. If they all are started without any commit between them (which can > be ensured by a > number of different ways), they will give you completely the same view of > data. I'm listening. That would make my life lot easier in certain scenarios, -- Mgr. Jiří Činčura

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Leyne, Sean
> 2- that the cost of any approach to ensure such "alignment" will not be so > significant that it compromises system performance. Ooppps! That should have read: 2- that the cost of any approach to ensure such "alignment" *will be* so significant that it compromises system performance.

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Leyne, Sean
>It can. Nothing prevent you from starting several read-only snapshot > transactions at once. If they all are started without any commit between > them (which can be ensured by a number of different ways) Really, how? I have client with over 500 connection to a database, I am pretty sure

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 16:51, Leyne, Sean wrote: > The functionality being discussed in this thread; cannot be overcome by a > developer It can. Nothing prevent you from starting several read-only snapshot transactions at once. If they all are started without any commit between them (which can be

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Leyne, Sean
> 19.04.2017 14:07, Adriano dos Santos Fernandes wrote: > > Transaction consistency and multiple connections are a sufficient and > > easier to use feature. > >CORE-5483 is also sufficient and easy to use, but still you called it "a > hack" > with rage. Because it is a "hack". You

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 15:56, Vlad Khorsun wrote: >And it does it already for a many years when fetching records in a batch > (default mode) Really? I see in sources that it send op_fetch only when in REM_fetch() it run out of data in buffer, not right after receiving batch. >We speak about

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 14:12, Vlad Khorsun wrote: >It give nothig to readers Not quite so. When array binding used with select, client can send request for new packet before it start tossing record values into user buffers and this way work in parallel with server and network, reducing total wait

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 14:07, Adriano dos Santos Fernandes wrote: > Transaction consistency and multiple connections are a sufficient and > easier to use feature. CORE-5483 is also sufficient and easy to use, but still you called it "a hack" with rage. -- WBR, SD.

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Vlad Khorsun
19.04.2017 14:56, Dimitry Sibiryakov wrote: > 19.04.2017 13:29, Vlad Khorsun wrote: >> I can't evaluate something not defined. Specify "array DML + >> asynchronous queries" and, >> probably, we will have the subject to speak about. > > Array DML is a way to put/get many records using one

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Adriano dos Santos Fernandes
On 19/04/2017 08:56, Dimitry Sibiryakov wrote: > Currently no SQL server allow to send two queries in single connection > in parallel, so Firebird can be the first. There must be a good reason for this, it's not only about hard implementation. You'd then need to offer concurrency control for

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 13:29, Vlad Khorsun wrote: >I can't evaluate something not defined. Specify "array DML + asynchronous > queries" and, > probably, we will have the subject to speak about. Array DML is a way to put/get many records using one API call. In ODBC it is

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Adriano dos Santos Fernandes
On 19/04/2017 08:29, Vlad Khorsun wrote: > PS If i understand Sean correctly, he going to read data by few connectins in > parallel. > I think, it could work. Also, i guess, it shoudl be possible to use same > "array DML + > asynchronous queries" from parallel connections too > > Would make

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Vlad Khorsun
19.04.2017 14:03, Dimitry Sibiryakov wrote: > 19.04.2017 12:57, Vlad Khorsun wrote: >> Sean speak about *read* consistency within few transactions\connections >> to the same >> database. No more, no less. > > Ok. What advantages can have derived transactions over array DML + >

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 12:57, Vlad Khorsun wrote: >Sean speak about *read* consistency within few transactions\connections to > the same > database. No more, no less. Ok. What advantages can have derived transactions over array DML + asynchronous queries which are more versatile? -- WBR, SD.

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Vlad Khorsun
19.04.2017 13:34, Dimitry Sibiryakov wrote: > 19.04.2017 12:23, Vlad Khorsun wrote: >>> As in Sean's scenario: you pumped data into 5 tables via 5 connections >>> using 5 derived >>> transactions. Now you need atomically commit all these transactions in all >>> connections. >>> How would

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
19.04.2017 12:23, Vlad Khorsun wrote: >> As in Sean's scenario: you pumped data into 5 tables via 5 connections >> using 5 derived >> transactions. Now you need atomically commit all these transactions in all >> connections. >> How would you do it? >I don't. As there was no such

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Vlad Khorsun
19.04.2017 11:51, Dimitry Sibiryakov пишет: > 18.04.2017 18:43, Vlad Khorsun wrote: >> Some time ago there was discussion about sharing snapshots. As for me, it >> is useful feature. Not a "must have", but useful. > > As in Sean's scenario: you pumped data into 5 tables via 5 connections

Re: [Firebird-devel] Start transaction from base transaction

2017-04-19 Thread Dimitry Sibiryakov
18.04.2017 18:43, Vlad Khorsun wrote: >Some time ago there was discussion about sharing snapshots. As for me, it > is useful feature. Not a "must have", but useful. As in Sean's scenario: you pumped data into 5 tables via 5 connections using 5 derived transactions. Now you need

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Leyne, Sean
> On 18/04/2017 16:41, Dimitry Sibiryakov wrote: > > 18.04.2017 21:30, Leyne, Sean wrote: > >>>With current Firebird architecture - yes. It can be changed. > >> Really, then why have we been living with that @#$@#$@# limitation for > more than 10 years! > >Hmmm... Probably, because it is

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Leyne, Sean
>    With current Firebird architecture you won't get better performance from 5 > connections. > Dmitry Kouzmenko some time ago made a video that busted this myth. > > Nope, video was about inserts in multiple connections into one table. This is > - > yes, useless. 1 connection inserts all this

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread kdv
Hello! 18.04.2017, 22:22, "Dimitry Sibiryakov" : I want to push data to another database as fast as possible, I want to have 5 connections walk the list of tables and read the rows and push them to the target DB.   With current Firebird architecture you won't get better

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Dimitry Sibiryakov
18.04.2017 21:54, Adriano dos Santos Fernandes wrote: > But they need multi-processing and consistency. As a workaround for bad performance, no? -- WBR, SD. -- Check out the vibrant tech community on one of the

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Adriano dos Santos Fernandes
On 18/04/2017 16:41, Dimitry Sibiryakov wrote: > 18.04.2017 21:30, Leyne, Sean wrote: >>>With current Firebird architecture - yes. It can be changed. >> Really, then why have we been living with that @#$@#$@# limitation for more >> than 10 years! >Hmmm... Probably, because it is not

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Dimitry Sibiryakov
18.04.2017 21:30, Leyne, Sean wrote: >>With current Firebird architecture - yes. It can be changed. > Really, then why have we been living with that @#$@#$@# limitation for more > than 10 years! Hmmm... Probably, because it is not limitation for real applications? Or because four

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Dimitry Sibiryakov
18.04.2017 21:13, Leyne, Sean wrote: > I want to push data to another database as fast as possible, I want to have 5 > connections walk the list of tables and read the rows and push them to the > target DB. BTW, for such purpose Oracle have detached tablespaces. You detach such tablespace

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Dimitry Sibiryakov
18.04.2017 21:13, Leyne, Sean wrote: > No -- with a single connection only 1 SQL can be executed at a time -- > regardless of the number of threads to your process. With current Firebird architecture - yes. It can be changed. > Scenario: > > I want to push data to another database as fast as

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Leyne, Sean
> > You want a single "view" of the database from multiple _connections_. > >I still see no point for _multiple_ connections. Isn't one enough? No -- with a single connection only 1 SQL can be executed at a time -- regardless of the number of threads to your process. Scenario: I want to

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Dimitry Sibiryakov
18.04.2017 20:56, Leyne, Sean wrote: > You want a single "view" of the database from multiple _connections_. I still see no point for _multiple_ connections. Isn't one enough? > There is nothing that provides this, today -- There is no way to ensure that > all connections have that same

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Leyne, Sean
> If you need simultaneous queries - make them possible, > what the point of transaction hacking? You want a single "view" of the database from multiple _connections_. There is nothing that provides this, today -- There is no way to ensure that all connections have that same view. Sean

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Dimitry Sibiryakov
18.04.2017 18:28, Adriano dos Santos Fernandes wrote: > 2) A multi-threaded program (may be a future version of gbak) wants to > dispatch simultaneous queries to Firebird, so need to use more than one > attachment and transaction and then do not have transaction consistency. I don't see

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Vlad Khorsun
18.04.2017 21:21, Adriano dos Santos Fernandes wrote: > On 18/04/2017 15:01, Vlad Khorsun wrote: >> 18.04.2017 20:21, Adriano dos Santos Fernandes wrote: >>> On 18/04/2017 13:43, Vlad Khorsun wrote: Some time ago there was discussion about sharing snapshots. As for me, it is

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Adriano dos Santos Fernandes
On 18/04/2017 15:01, Vlad Khorsun wrote: > 18.04.2017 20:21, Adriano dos Santos Fernandes wrote: >> On 18/04/2017 13:43, Vlad Khorsun wrote: >>> Some time ago there was discussion about sharing snapshots. As for me, >>> it >>> is useful feature. Not a "must have", but useful. >>> >>> With

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Adriano dos Santos Fernandes
On 18/04/2017 13:43, Vlad Khorsun wrote: >Some time ago there was discussion about sharing snapshots. As for me, it > is useful feature. Not a "must have", but useful. > >With current implementation of database snapshots (private copy of TIP) > it is not enough just to specify "base"

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Leyne, Sean
Adriano, > 1) A server (not database server) receives a request and dispatch it to others > servers for extra processing and more than one server need to access the > same database in a consistent way. > > 2) A multi-threaded program (may be a future version of gbak) wants to > dispatch

Re: [Firebird-devel] Start transaction from base transaction

2017-04-18 Thread Vlad Khorsun
18.04.2017 19:28, Adriano dos Santos Fernandes wrote: > Hi! > > In distributed systems there is a problem to use Firebird and maintains > read consistency. > > Imagine follow situations: > > 1) A server (not database server) receives a request and dispatch it to > others servers for extra