Re: [firebird-support] Upgrade to FB 3 or Wait for FB 4

2019-09-20 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

migration from 3.0 to 4.0 should be straightforward, while migration 
from 2.5 to either 3.0. or 4.0 requires some effort and hence will take 
some of your time. As 2.5 line will be discontinued with 4.0 release, 
it's better to start migrating now to 3.0 and upgrade to 4.0 later (if 
you would ever need features from 4.0, because bug fixes in 4.0.x will 
also appear in 3.0.x maintenance releases).

best regards
Pavel Cisar
IBPhoenix

Dne 19. 09. 19 v 22:16 Hugo Eyng hugoe...@msn.com [firebird-support] 
napsal(a):
> Dear Friends.
> 
> Now a days we are running FB 2.5.8, but we know that we will upgrade FB.
> 
> So I would like listening your opinion about what is the better choice: 
> Upgrading to FB 3 and after to FB 4 or wait and upgrading directly finto FB 4?
> 
> Off course this is a question that can be answered more than one way, but I 
> would like to know what should I consider to decide.
> 
> 
> Atenciosamente,
> 
> + + Hugo Eyng + +
> 






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



Re: ODP: ODP: [firebird-support] Re: Introducing Firebird Butler

2019-02-01 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

Dne 01. 02. 19 v 14:10 Karol Bieniaszewski liviusliv...@poczta.onet.pl 
[firebird-support] napsal(a):
>>> You completely misunderstood the announcement. The Firebird Butler is a
>>> thing that we develop.
> 
> I am really interested if i am only one  And because of this i am talking 
> about any example as a first steep.

Well, if you read the list of services we plan to develop in first 
round, you can imagine in how many ways they could be assembled together 
to achieve various results. The point is, that Butler platform should 
allow you to assemble them to work in single executable process, or in 
set of separate processes that could be even distributed over multiple 
nodes. The "container wrapping" should allow full customization.

How exactly these services would be created (features etc.) is not yet 
determined. We certainly have our own plans and ideas, but we 
deliberately opened the project before this was "carved in stone", so 
others could get involved early with their own ideas and needs (so forks 
or alternative versions are less likely to appear, as we don't want to 
fragment the ecosystem from start).

If you want at least one real world use case, then imagine that you have 
1000+ pharmacy shops and several HQ's in 5 countries with your 
applications and Firebird servers & databases you have to manage 
(backups, performance monitoring, failure detection & recovery, 
including hw monitoring & management etc.). Picture yourself you have to 
deal with such system 24x7. Then answer to yourself what you would need 
to sleep tight at night? We (IBPhoenix) think that Butler would help us 
and our customers sleep well.

But Butler is not just for big IT systems, it's designed to be equally 
usable for small and personal solutions as well. Why do you think we put 
so much importance to allow creation of single-process Butler apps in 
our architecture? To allow easily deplorable custom builds/assemblies 
for specific small and personal use. But our (IBPhoenix) personal 
interests are more at the high end.

>>> Steam-like deployment platform for Butler services provided by Firebird
> 
> Ok, than is this as a distribution platform for „small” services or what?

Personally (as Python Butler SDK lead developer), I would like create a 
deployment platform for Butler services that would allow users to 
download and install Python Butler services from shared repository and 
run them in custom configured containers. We could then have deployment 
"recipes" tailored for specific tasks that would download, install, 
configure and run services, instead having specifically tailored binary 
distributions. If you are familiar with Python, then picture something 
like PyPI & pip + paste combined. I don't know what plans exactly others 
have with their versions (Java, Pascal), we will see what they come 
with. Eventually the Firebird Project would like to host a repository of 
Butler services for direct deployment for all "language kits". But that 
is more distant future. After all, Python, Java and Pascal have very 
different distribution & deployment methods. However, the point is that 
services created in different languages can work together as they are. 
Any deployment or integration "platform" is just nice simplification of 
deployment that could be always done by hand.

>>> So far, there is no single line of code available to public that you
> could use
> 
> Do you think that this was too early announced especially on support group 
> then?
> Normally i am real enthusiast of „new” ideas especially in products which i 
> use, but without exaple hmm...

Well, firebird-support list is one from most visited Firebird 
communication channels. We thought that such announcement is worth to 
send here as well.

>>> But either REST or Widnows services are NOT good enough for IBPhoenix 
>>> purposes
> 
> Can you extend this sentence, especially why?
> What is in this planning „Butler” what is better?
> This description can bring more light on the purpose.

Well, do you think...

- that http is best and most efficient method of communication between 
services, especially between ones that may live also in the same 
executable / process? We need "elastic" effectivity, i.e. squeeze as 
much as possible from each specific deployment environment and scenario.

- that http+REST is good for asynchronous communication between 
services? We need async, sync would be nice sometimes but not essential.

- that REST API is more message oriented than interface oriented? Our 
experience is that interface oriented approach while easier to cope with 
is a show killer in too many situations.

- that REST API is easy and most effective way how to assemble multiple 
services together in any non-trivial manner without extensive custom 
glue code? We want to avoid glue code as much as possible, declarative 
approach is better for us, especially when dealing with 100+ copies of 
the similar yet not exactly the same.

- that Windows 

Re: ODP: [firebird-support] Re: Introducing Firebird Butler

2019-02-01 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

Dne 01. 02. 19 v 8:04 Karol Bieniaszewski liviusliv...@poczta.onet.pl 
[firebird-support] napsal(a):
> 
> If you or someone can show me (and maybe others are also interested) any real 
> benefit, example, than i am more than interested in this.
> And i am not only interested in using it, but i then can offer time to 
> implement something.

You completely misunderstood the announcement. The Firebird Butler is a 
thing that we develop. It's a joined effort primarily driven by 
IBPhoenix and IBSurgeon as part of Firebird Project (these companies are 
currently the main drivers, but others are welcome) initiated by their 
internal need and in scope of mutual interests with Firebird Project 
they are part of. It's done as open source so everyone could benefit 
from our joined effort, but it's not developed for our or public 
entertainment or without business angle that makes sense for those 
involved. It's designed as it's designed because it makes sense for 
those involved, it solves (or should solve) problems they face.

So far, there is no single line of code available to public that you 
could use. Although IBPhoenix (and IBSurgeon as well) has wagons of 
various internal tools and code for many Firebird-related and other 
purposes, they are not (yet) adapted to Butler architecture. Anyway we 
have a neat pool of code and proven ideas to draw from to move forward 
quickly once the SDK(s) would be ready.

Anyone is welcome to watch what we will do (the easiest way is to 
sign-up for Butler list(s), and watch Butler web and git repositories). 
If you will see a value in what we will do, you are free to use it, or 
join our effort if you want to have an influence on where its going. 
Also, new ideas and questions are welcome at appropriate place and in 
proper form. Usual open source business.

However, at current state of affairs, it's a time for architects and 
designers who see potential in our selected approach and would like to 
participate on such thing to step in and share ideas at Butler list. 
Once first SDK would be ready, no much space would be left to introduce 
completely new ideas or designs (that one would like to try or needs) to 
see it implemented.

Once SDK(s) would be ready, anyone is welcome to play with it to see how 
it could be used for their own purposes. That same apply when first 
services we have in our plan would be provided. However, if anyone wants 
to have something we plan to do earlier or to have influence what would 
be implemented and how, the best option is to get involved in a way and 
to the extent that would suit their needs. I.e. open source business as 
usual.

> But without real introduction i will stay with REST/Windows services based on 
> Delphi.
> Thay work for me for e.g. IOT with big traffic and any problems.

You are welcome to use whatever you see fit for your purposes. But 
either REST or Widnows services are NOT good enough for IBPhoenix 
purposes (I could not speak for others).

best regards
Pavel Cisar
IBPhoenix




Re: [firebird-support] Re: Introducing Firebird Butler

2019-02-01 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

Dne 31. 01. 19 v 20:54 blackfalconsoftw...@outlook.com 
[firebird-support] napsal(a):
>   II...
>   My understanding of the Firebird Butler project could be two-fold...
>   A specification for best practices for developing distributed systems using 
> the Firebird Database Engine A set of enterprise tools to implement such 
> systems (ie: an equivalent to Windows Communication Foundtaion: hence the 
> attribution to ZeroMQ Just my thoughts...

Well, one could call a Framework as "best practices" enforcement tool 
:-) Although Butler SDK is not a typical framework. If you would draw a 
parallel to WWW, then Butler specifications are like HTTP and related 
specifications, Butler SDK's are frameworks and libraries to create 
services that use these specifications (like there are ones for www 
technologies), and Butler itself (the product(s)) are applications 
assembled from these services like web servers, browsers etc. Because 
it's a LEGO system, it's not a single application, but rather a 
"distribution" (in Linux sense) or a "delivery platform" (like Steam). 
Both approaches are possible. Over time, we would like get to the 
Steam-like deployment platform for Butler services provided by Firebird 
Project as preferred over purpose-tailored distributions, but it's an 
open ecosystem, so anyone could do what they want regardless to our 
preferences.

The Firebird Project  will create services needed to manage Firebird 
server deployments (as first goal for Butler product, see description of 
our plan), but we will not stop there (for example we plan to recreate 
our internal QA test system as Butler app [set of QA services]). Others 
could use Butler specifications and SDK's to integrate their 
applications with services provided by us or other entities as they see 
fit, or could use Butler applications provided by us and others "as is". 
Or create their own services/applications for whatever purpose, even not 
related to Firebird in any way.

Does it make more sense now?

best regards
Pavel Cisar
IBPhoenix


Re: [firebird-support] Re: Introducing Firebird Butler

2019-02-01 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

Dne 31. 01. 19 v 21:05 blackfalconsoftw...@outlook.com 
[firebird-support] napsal(a):
> 
>   Has anyone considered using ZeroC's Ice Framework?

Ice is classic RPC framework with all its limits and drawbacks. We think 
that RPC is wrong abstraction model to create dynamic heterogeneous 
systems. The abstraction model of our choice is pure message passing 
between "objects" (services), not interfaces, hence the reason we chose 
ZeroMQ.

>   It appears to be a much more finished product with better diocumentation 
> than ZeroMQ and is completely Open Source...

ZeroMQ is not less "finished" than Ice, it's also open source and 
documentation is quite solid (although not that fancy). The differences 
is "quality" you percept are caused by fact that Ice is "corporate open 
source", while ZeroMQ is "community open source". In this regard you 
could say that MySQL is more finished product with better documentation 
than Firebird.

best regards
Pavel Cisar
IBPhoenix


[firebird-support] Introducing Firebird Butler

2019-01-31 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
We are pleased to announce a significant extension of the Firebird 
project to a whole new area. Starting in February 2019, alongside the 
core (Fierbird database system) and database drivers, a completely new 
division called Firebird Butler is integrated into the project. The 
purpose of the Butler division is to develop and provide solutions to 
various Firebird-related challenges faced by Firebird administrators and 
application developers that, for practical reasons, are not addressed by 
the core Firebird distribution.

The primary aim of Firebird Butler is to create a development platform 
and develop a set of basic solutions to manage Firebird installations of 
any size, structure and complexity.  The emphasis is on large corporate 
installations but the scope and ambitions of the Firebird Butler project 
are much broader:  we would like to initiate development of an entire 
open source ecosystem of projects and other products, including 
commercial ones, in various languages. Projects could encompass not just 
the planned new services, but alternative implementations of the 
standard services as well. Moreover, the Firebird Butler Development 
Platform should become a solid foundation for development of any 
applications that use Service Oriented Architecture and messaging.

For a closer look at the project goals and strategies, please read the 
"Introduction to Firebird Butler" at 
https://firebird-butler.rtfd.io/en/latest/introduction.html

Although the project is only in the early stages of development, we 
encourage you to take a close look at what we have and where we are 
going. The project is completely open, and we will welcome anyone, 
individuals or organizations, who is interested in the objectives and 
strategy of the project and wishes to participate in its development, in 
a common or entirely private capacity, or to become its sponsor.

Firebird Butler also presents a great opportunity for developers with 
experience in Python, Java, FreePascal, Delphi, C# or other languages to 
get involved in Firebird project activities.

The Firebird Project Team






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



[firebird-support] Fwd: SourceForge Project of the Month Vote

2018-03-23 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]



 Přeposlaná zpráva 
Předmět: SourceForge Project of the Month Vote
Datum: Fri, 23 Mar 2018 13:30:24 +0800
Od: Joan Uy Ang 

  Hi,

If you’re receiving this email it is because one of your projects is up for
Project of the Month for May 2018. The blog post is here:
https://sourceforge.net/blog/community-choice-project-month-vote-may-2018/
and you should encourage people to vote on your project.

Here are the projects up for Project of the Month:
*newfmd**fast-mouse-clicker-pro**infozip**reactos**clamwin**ditto-cp*
*systemrescuecd**pmd**firebird*

If you win, you will be notified for an exclusive SourceForge interview,
and your project will be listed at the top of the SourceForge homepage.

Thanks,

Joan Nadene
SourceForge Community Coordinator



Re: [firebird-support] Service restore from stdin

2017-10-05 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

Dne 4.10.2017 v 19:17 Dimitry Sibiryakov s...@ibphoenix.com 
[firebird-support] napsal(a):
> 
> Another question: is there a way to abort restore process which would 
> cause server to
> drop half-restored database? For example, if I have a problem of reading 
> backup file.
> Or in this case I must connect to the database and drop it myself?

 From my experience it appears that gbak service process is terminated 
when you close the service, but I don't know if it always works this way 
and any circumstances and if it's applicable to other services. But it 
would have some logic that process will be terminated by engine when 
service connection is closed. Core devs or sources could confirm that 
information. However, this termination will/may leave some artifacts 
behind (like half-restored database, but I would expect cleanup of 
temporary files).

best regards
Pavel Cisar
IBPhoenix







++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



Re: [firebird-support] Service restore from stdin

2017-10-04 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]


Dne 4.10.2017 v 16:24 Dimitry Sibiryakov s...@ibphoenix.com 
[firebird-support] napsal(a):
> 04.10.2017 11:42, Pavel Cisar pci...@ibphoenix.cz [firebird-support] wrote:
>> Until stdin is fully transmited service may need another
>> chunk, but reply to application is blocked until stdout buffer (eof
>> request) is full, so everything gets stuck (service will not ask for
>> further input because there is not enough output to send the request).
> 
> Actually I see the contrary: output buffer is empty, but no request for 
> input is sent.
> Output from my test program which send { isc_info_svc_stdin, 
> isc_info_svc_line } looks
> like that:
> 
>> query piece 0
>> isc_info_svc_stdin 262144
>> isc_info_svc_line 0:
>> isc_info_data_not_ready
>> query piece 512
>> isc_info_svc_stdin 262144
>> isc_info_svc_line 0:
>> isc_info_data_not_ready

Actually it sent request for stdin data. When isc_info_svc_stdin returns 
0 then no data are needed. When it returns non-zero values then it means 
that service is ready to accept up to  bytes in next request 
(marked as isc_info_svc_stdin). isc_info_svc_line is non-zero only when 
service sends back some textual output.

> Notice that it always gets isc_info_data_not_ready.

Because there is no output - yet. Output may happen only in response to 
input.

> But if I change request to {isc_info_svc_stdin } (because I know that no 
> data is ever
> returned), I get this:
> 
>> query piece 0
>> isc_info_svc_stdin 0
>> isc_info_end
>  about 40 times the same ..
>> query piece 0
>> isc_info_svc_stdin 0
>> isc_info_end
>> query piece 0
>> isc_info_svc_stdin 262144
>> isc_info_end
>> query piece 512
>> isc_info_svc_stdin 262144
>> isc_info_end

First several rounds could return zero values for isc_info_svc_stdin 
because service is warming up. But once it returns non-zero value it 
always wants more until whole backup stream is sent. Then it returns 
zero for isc_info_svc_stdin and only isc_info_svc_line output (until 
finish).

> Now I forcefully disconnect after sending of whole backup and it seems to 
> work. But is
> it right way?

Nope, without requesting isc_info_svc_line output you can't know when 
service actually finished, so you may close the service at will. If you 
close it *after* its finished then everything is ok, but if not, you 
will get broken database (unfinished restore). Note that after whole 
backup file is processed (and thus no more data are requested), then 
service recreates the index trees which may take a lot of time (depends 
on data size and number of indices) when you would get only text output.

And yes, it's all convoluted and inconvenient.

best regards
Pavel Cisar
IBPhoenix






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



Re: [firebird-support] Service restore from stdin

2017-10-04 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

You can't use isc_info_svc_line for sending backup file to the service. 
The right token is isc_info_svc_stdin. However, you have to send 
isc_info_svc_line request along with it to get output from service to 
detect that restore finished (value zero for reply to isc_info_svc_stdin 
is just a signal that no stdin input is needed right now).

The reason why isc_info_svc_to_eof doesn't works here is IMHO because 
this token returns after output buffer is full, not when any further 
output is available like isc_info_svc_line (because output is always 
produced in form of lines).

Restore via service using stdin is kind of a hack implementation that 
require client to mix up two parallel "conversations" in single message 
exchange loop: a) handling service request for stdin input b) service 
stdout output because it's the only way how client can detect that the 
restore finished (hence the need for isc_spb_verbose in restore 
request). Until stdin is fully transmited service may need another 
chunk, but reply to application is blocked until stdout buffer (eof 
request) is full, so everything gets stuck (service will not ask for 
further input because there is not enough output to send the request).

isc_info_svc_to_eof *may* work once whole backup stream is sent to the 
service, so only stdout output is is service's reply (stdin reply is 
zero), but there is no need to complicate the implementation at client 
side to handle both output methods.

You may take a look at local_restore() implementation in FDB driver v1.8.

best regards
Pavel Cisar
IBPhoenix

Dne 3.10.2017 v 16:30 Dimitry Sibiryakov s...@ibphoenix.com 
[firebird-support] napsal(a):
> Hello.
> 
> When I use isc_info_svc_line for sending a piece of backup to server, 
> everything works
> well. But when I use just replace isc_info_svc_line with isc_info_svc_to_eof, 
> no errors is
> produced, but database is not restored.
> Do I something wrong or it is a bug (incomplete implementation)?
> 






++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++


Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/firebird-support/join
(Yahoo! ID required)

<*> To change settings via email:
firebird-support-dig...@yahoogroups.com 
firebird-support-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
firebird-support-unsubscr...@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/



Re: [firebird-support] Re: Interbase vs Firebird

2017-03-10 Thread Pavel Cisar pci...@ibphoenix.cz [firebird-support]
Hi,

Dne 10.3.2017 v 13:59 lis...@warmboot.com.br [firebird-support] napsal(a):
> If you are speaking about Change Views feature, I understand its main
>  purpose is to help mobile applications to update local copies of
>  (changed) data easily.

Similar thing could be implemented in your app. using Firebird 3.0 
RDB$RECORD_VERSION pseudo-column. See 
https://www.ibphoenix.com/resources/documents/search/doc_393

Change View has one significant advantage - can trace deletes out of the 
box. Smaller advantage is that it can detect and signal which columns 
were changed and you can even filter output on that. But although it's 
lovely feature I don't think its worth the cost it has. Detecting simple 
changes at row level is imho good enough for most cases and that's what 
we (silently) have (except deletes). Reconciliation could be done at 
app. level with no significant additional cost with greater flexibility. 
But I agree that Change Views feature looks great - on paper.

best regards
Pavel Cisar
IBPhoenix