K2InformaticsGmbH / erloci

Erlang Oracle native driver - DEPRECATED, see https://github.com/K2InformaticsGmbH/oranif instead
Apache License 2.0
37 stars 11 forks source link

Argument error using OTP 22 #75

Open nkezhaya opened 4 years ago

nkezhaya commented 4 years ago

Env:

InstantClient 12.1/12.2 MacOS Erlang 22.0.7

Calling :erloci.new([]) results in:

20.07.2019 00:01:03.657197 [debug] [_OCI_] {oci_logger,,72} ---- ERLOCI PORT PROCESS LOGGER ----
[error] GenServer :"data-source:c3995bc9-6db5-4af3-915b-8f3373a58367" terminating
** (ArgumentError) argument error: [{:erlang, :apply, [{:oci_logger, #PID<0.2627.0>}, :accept, []], []}, {:oci_port, :init, 1, [file: '/Code/my_app/deps/erloci/src/oci_port.erl', line: 240]}, {:gen_server, :init_it, 2, [file: 'gen_server.erl', line: 374]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 342]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]
    (erloci) /Code/my_app/deps/erloci/src/erloci.erl:60: :erloci.new/2
c-bik commented 4 years ago

@whitepaperclip Thanks for using erloci I hope it has served you satisfactorily so far. It seems like you are trying to upgrade to OTP 22.

However, we are depectaing erloci for the following primary reasons:

In stead we are now foucused on oranif which is based on ODPI-C and design in easy to maintain and extend fashion.

Oracle C and C++ Interfaces and New Product Launch: Oracle Database Programming Interface for C (ODPI-C) will tell you why did we decide to switch from OCI to ODPI-C.

In addition to Oracle API changes, oranif is also targeted to much higher performance (NIF in stead of port driver etc).

We have stopped all development and bug fixing activities and not taking any pull requests either so no more erlang upgrades either.

oranif is functional and already is in production. It has limited API support but full test coverage. We are working on usage and documantation of oranif. If you need help with oranif usage or specific API support please create an issue to oranif.

cjbj commented 4 years ago

due to lack of support on OCI APIs from Oracle.

For the record, OCI is officially supported by Oracle and is widely used. But I agree ODPI-C (which sits on OCI) will be easier to use, and I'm excited about oranif. And @anthony-tuininga and myself are available to answer ad-hoc questions on either OCI or ODPI-C.

c-bik commented 4 years ago

due to lack of support on OCI APIs from Oracle.

For the record, OCI is officially supported by Oracle and is widely used.

@cjbj My apologies. Corrected above.

cjbj commented 4 years ago

@c-bik thanks. I knew what you meant but didn't want others to get the wrong impression.

nkezhaya commented 4 years ago

@c-bik @cjbj The new NIF library looks fantastic! I'm going to read through the source in the next few days and try to get a working implementation on my end. Let me know if you want help with documentation. I may publish an Elixir wrapper for it.

c-bik commented 4 years ago

@whitepaperclip Thanks and very happy to hear you like to contribute. Please let us know what would you like to have in doc / API support we can start with those. All PR are more than welcome.

Additionally, it will be great to have some performance benchmarking to compare between erloci and oranif.