Subject Re: [Firebird-Java] New Batch interface
Author Mark Rotteveel
On 21-3-2018 18:37, vasiliy.yashkov@... [Firebird-Java] wrote:
> I realized that is a very difficult task - implementation of wire
> protocol version 16, at least for me.
>
> But I'm interested in native implementation of new OO API. In short, i'm
> trying to expand existing interface of fbclient by adding new methods,
> such as fb_get_master_interface and so on. But there is fbjava plugin
> (https://github.com/FirebirdSQL/fbjava), that already has new interfaces
> implementation. What do you think about using this plugin in
> jaybird? Does it make sense to use it as a library(license
> restriction?)? Or jaybird must have its own implementation?

License-wise there is no problem, as fbjava and Jaybird are both LGPL.
However, Jaybird cannot depend on fbjava. For one fbjava depends on
Jaybird, and this would lead to a circular dependency. Also, I prefer
Jaybird to be largely self-contained (the existing required and optional
dependencies are already a minor annoyance to me), but we could look at
for example moving those parts from fbjava to Jaybird, or maybe have a
separate protocol plugin that does depend on fbjava.

The only problem I foresee is that this could tie native in Jaybird to a
Firebird 3+ library. On the other hand, I was already considering
spinning out the native/embedded implementation to a separate library,
and that would allow a 'legacy' and OO API to coexist in some form.

Maybe Adriano has some ideas about this as well.

> I don't think that native implementation without wire protocol will be
> useful to all, but. In the future, when implementing wire protocol,
> native one can be corrected for compatibility (i don't think it will be
> difficult). In any case, with any results, i will inform.

Sure, and don't hesitate to ask if you need a second pair of eyes or
want to discuss design challenges.

Mark
--
Mark Rotteveel