Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native OO API implementations #19

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Commits on Oct 29, 2018

  1. Native OO API implementations

    New OO API interfaces implementations and tests for them.
    Classes are in a separate package org.firebirdsql.nativeoo.gds.ng by analogy with existing JNA implementations. Some batch interfaces (FbBatch, etc.) have been added to the wire layer and can be used for wire implementations. Connection through new interfaces is carried out through its own protocols: jdbc:firebirdsql:fboo: [embedded:|locale:|native:].
    Interface FbInterface extends FbClientLibrary, while the library has only the definition of the interface IMaster.
    FbInterface was generated by modified cloop.
    Vasiliy Yashkov committed Oct 29, 2018
    Configuration menu
    Copy the full SHA
    0be6537 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2018

  1. Native OO interface fix

    1. Removed FbException handling class. Now, to form an exception, the status vector is processed after native methods calls and an SQLException is generated.
    2. Exception handling works with the specified database encoding.
    3. Methods that do not have batches implementations throw FBDriverNotCapableException instead of SQLException.
    4. The batch generation mechanisms is similar to the implementation of prepared statements:
    4.1. The batch generates field descriptors based on the prepared statement.
    4.2 If the batch is created from external metadata, then it makes field descriptors like a prepared statement.
    4.3 The batch uses methods to set the request fields like a prepared statement. The conversion of data of these fields in this case is carried out by FBField class, which uses database encoding and other parameters.
    5. Changed test class names. Instead of TestXXX, to XXXTest.
    6. Using GdsTypeRule for native tests.
    7. Minor bugs fixed.
    Vasiliy Yashkov committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    48a1188 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2020

  1. Configuration menu
    Copy the full SHA
    f117647 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2020

  1. Update native OO API implementation

    1. Updated interfaces `FbInterface.java` in accordance with the current firebird 4 implementation. Removed old and unnecessary interface implementations. `fb_get_master_interface()` method moved from FbClientLibrary to separate old and new implementations.
    2. Fixed setting `null` flag ​​in message data of `IStatement` if the field data was `null`.
    3. Removed excess imports of `org.firebirdsql.nativeoo.gds.ng.FbInterface` from `org.firebirdsql.gds` layer.
    4. The batch parameter buffer now contains constants instead of the `FbBatch` interface.
    5. Reimplemented event handling with old `isc_*` calls.
    6. JNA deprecated function `loadLibrary` replaced by `load`.
    7. Other corrections and additions related to main code of the driver.
    vasiliy-yashkov committed Jan 30, 2020
    Configuration menu
    Copy the full SHA
    ceb90bb View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2020

  1. Configuration menu
    Copy the full SHA
    15b0855 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. Add versioning support of native interfaces and update existing class…

    … implementations
    
    Additional changes:
    1. Fix preparation of metadata when executing statement.
    2. Add GDS type rule for new native support.
    3. Replace SQL_DEC_FIXED with SQL_INT128.
    4. Update gradle build config.
    5. Add small comments.
    vasiliy-yashkov committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    c426c70 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2022

  1. Configuration menu
    Copy the full SHA
    e0d14ad View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2022

  1. Configuration menu
    Copy the full SHA
    7b1f4ac View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2022

  1. Configuration menu
    Copy the full SHA
    826f698 View commit details
    Browse the repository at this point in the history
  2. Update native OO API implementations

    1. Update interfaces for `fbclient` library.
    2. Fix memory allocation for error message.
    3. Fix parsing of warnings from status vector.
    4. Fix `free` call when closing statement.
    5. Update and fix tests.
    vasiliy-yashkov committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    d79b0a5 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2022

  1. Configuration menu
    Copy the full SHA
    bf59522 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f8f18e5 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2022

  1. Configuration menu
    Copy the full SHA
    5bb1b93 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a57ca08 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. Update implementation of native OO API

    Move implementation to `jaybird-native` dependency.
    vasiliy-yashkov committed May 31, 2023
    Configuration menu
    Copy the full SHA
    c122329 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. Configuration menu
    Copy the full SHA
    e874a6f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b4e6ade View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a6fdaba View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Configuration menu
    Copy the full SHA
    63cd757 View commit details
    Browse the repository at this point in the history
  2. Use org.firebirdsql.jdbc.FirebirdBlob as arguments when working wit…

    …h blobs in native batch
    
    Also fix creation of `org.firebirdsql.jdbc.FBBlob` instances.
    vasiliy-yashkov committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    11ee8f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0d55f0d View commit details
    Browse the repository at this point in the history