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

2017-05-06 Thread Adriano dos Santos Fernandes
Em 06/05/2017 11:15, Vlad Khorsun escreveu:
> 06.05.2017 15:15, livius wrote:
>>
>>> Yes, but we should avoid to write whole novels at SQL statements ;)
>>
>> Agree - but to fast chice is also not good
> 
>Could you offer better syntax ?
> 
>>> It have no sence (if i understand you :) )
>> Maybe, but it should be prohibited in code or designed to do not create
>> wrong behavior
> 
>I prefer second when possible. And this is one more reason for explicitly
> export transaction snapshot.
> 

The bad thing of this is that will be difficult to use the feature for
debugging purposes, together with MON$ queries.


>Also, we could disable to export and import snapshots at the same time and
> it will make such cases impossible. I offer to go this way.
> 

I think this would not be necessary when the good words for a SQL
statement appears.


Adriano

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


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

2017-05-06 Thread Vlad Khorsun
06.05.2017 15:15, livius wrote:
> 
>> Yes, but we should avoid to write whole novels at SQL statements ;)
> 
> Agree - but to fast chice is also not good

   Could you offer better syntax ?

>> It have no sence (if i understand you :) )
> Maybe, but it should be prohibited in code or designed to do not create
> wrong behavior

   I prefer second when possible. And this is one more reason for explicitly
export transaction snapshot.

> You know if something is possible someone use it
> and i mean:
> base transaction
> transaction 2 share base transaction
> transaction 3 share base transaction
> and someone try
> transaction 4 share e.g. transaction 2 ;-) in this point it should share
> base or do not alow it
> but maybe heare are not any problem?

   So far, I see no problem (except of strange coding\design of such user 
application).

   Also, we could disable to export and import snapshots at the same time and
it will make such cases impossible. I offer to go this way.

Regards,
Vlad

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


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

2017-04-20 Thread Molnár Attila
Awesome! :)

On 2017.04.21. 1:30, Adriano dos Santos Fernandes wrote:
> Em 20/04/2017 17:53, Vlad Khorsun escreveu:
>> Also it is necessary
>> to teach engine to use that metadata (instead of current one) within 
>> attachment
>> working "in the past".
>>
> I'm doing a prototype implementation of this for active transactions,
> i.e., the things I mentioned in this thread start.
>
> I've it starting working, but implementation is very simple, weak and
> almost non-tested at the moment.
>
>
> Adriano
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> Firebird-Devel mailing list, web interface at 
> https://lists.sourceforge.net/lists/listinfo/firebird-devel


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


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

2017-04-20 Thread Adriano dos Santos Fernandes
Em 20/04/2017 17:53, Vlad Khorsun escreveu:
> Also it is necessary
> to teach engine to use that metadata (instead of current one) within 
> attachment
> working "in the past".
> 

I'm doing a prototype implementation of this for active transactions,
i.e., the things I mentioned in this thread start.

I've it starting working, but implementation is very simple, weak and
almost non-tested at the moment.


Adriano

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


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

2017-04-20 Thread Vlad Khorsun
20.04.2017 10:12, Molnár Attila wrote:
> +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).

   Blocking of GC is the easiest part of this task. One need also to preserve
metadata that was valid at interesting moment of time. Also it is necessary
to teach engine to use that metadata (instead of current one) within attachment
working "in the past". To do it it is necessary to make "snapshot" of that
metadata and save it with an interesting moment. And this is still just tip
of the iceberg, i suspect...

Regards,
Vlad

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


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

2017-04-20 Thread Jiří Činčura
>This statement i not understand. Do you speak about transaction ? Or
>about

Transaction.

> statement\cursor ? If later, why do you can't remember id of last fetched
> row
> and start next fetch from this position ?

That's what we do now, in a nutshell. The problem is of course to have
these IDs and related data (to prevent FK violations). I can explain it
to you in better detail, probably rather outside the list.

-- 
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

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


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

2017-04-20 Thread Vlad Khorsun
20.04.2017 9:36, Jiří Činčura wrote:
>> 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 (there are other
> requirements, I don't want to go into too much details). 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.

   "start next transaction, basically, from the point where the previous left"

   This statement i not understand. Do you speak about transaction ? Or about
statement\cursor ? If later, why do you can't remember id of last fetched row
and start next fetch from this position ?

Regards,
Vlad

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


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

2017-04-19 Thread Vlad Khorsun
19.04.2017 16:35, Dimitry Sibiryakov wrote:
> 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 time.

   And it does it already for a many years when fetching records in a batch 
(default mode)

>> Engine can't run more than one statement in attachment at same time. 
>> This will not be
>> changed.
> 
> But engine can implicitly start new attachment and derived transaction to 
> run this
> parallel statement and get the same result without need for application 
> developer to
> explicitly care about it.

   Sure, it also could start new connection at applicatin side to have new 
channel for
delivering data. It also could process that data.

>> So - no, this features have no advantage over parallel readers.
> 
> On the other hand parallel reader also have no advantages over these 
> features and I
> don't see other tasks which they can be better for.

   We speak about parallel readers. If you want to speak about something else - 
no problem,
start another thread and don't spam this one.


Vlad

PS Ah, almost forget: also, engine could make an array of cup's of coffee for 
you ...
asynchronously, of course ;)


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