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

support odpic-3.1.x #13

Closed
flokli opened this issue Feb 2, 2019 · 1 comment · Fixed by #14
Closed

support odpic-3.1.x #13

flokli opened this issue Feb 2, 2019 · 1 comment · Fixed by #14

Comments

@flokli
Copy link
Contributor

flokli commented Feb 2, 2019

I tried building odpic-raw with odpic-3.1.0, but the build process is failing currently:

Preprocessing library for odpic-raw-0.3.0..
c2hs: Error limit of 20 errors has been reached.
src/Database/Dpi/Internal.chs:46: (column 8) [ERROR]  >>> Expected enum!
  Expected `SubscrNamespace' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:45: (column 8) [ERROR]  >>> Expected enum!
  Expected `StatementType' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:44: (column 8) [ERROR]  >>> Expected enum!
  Expected `StartupMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:43: (column 8) [ERROR]  >>> Expected enum!
  Expected `ShutdownMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:42: (column 8) [ERROR]  >>> Expected enum!
  Expected `Purity' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:41: (column 8) [ERROR]  >>> Expected enum!
  Expected `PoolGetMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:40: (column 8) [ERROR]  >>> Expected enum!
  Expected `PoolCloseMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:39: (column 8) [ERROR]  >>> Expected enum!
  Expected `OracleTypeNum' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:38: (column 8) [ERROR]  >>> Expected enum!
  Expected `OpCode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:37: (column 8) [ERROR]  >>> Expected enum!
  Expected `NativeTypeNum' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:36: (column 8) [ERROR]  >>> Expected enum!
  Expected `MessageState' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:35: (column 8) [ERROR]  >>> Expected enum!
  Expected `MessageDeliveryMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:34: (column 8) [ERROR]  >>> Expected enum!
  Expected `FetchMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:33: (column 8) [ERROR]  >>> Expected enum!
  Expected `ExecMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:32: (column 8) [ERROR]  >>> Expected enum!
  Expected `EventType' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:31: (column 8) [ERROR]  >>> Expected enum!
  Expected `DeqNavigation' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:30: (column 8) [ERROR]  >>> Expected enum!
  Expected `DeqMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:29: (column 8) [ERROR]  >>> Expected enum!
  Expected `CreateMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:28: (column 8) [ERROR]  >>> Expected enum!
  Expected `ConnCloseMode' to denote an enum; instead found
  a struct, union, or object.
src/Database/Dpi/Internal.chs:27: (column 8) [ERROR]  >>> Expected enum!
  Expected `AuthMode' to denote an enum; instead found
  a struct, union, or object.

Building with odpic-2.4.2 did work, but as the latest version of the python binding (cx_oracle) already doesn't work with 2.4.2 anymore, it would be nice if odpic-raw could support 3.1.x too.

@flokli
Copy link
Contributor Author

flokli commented Feb 2, 2019

odpic changed some typedefs from enum to uint32_t:

dpi.h at 2.4.2:

// subscription namespaces
typedef enum {
    DPI_SUBSCR_NAMESPACE_AQ = 1,              // OCI_SUBSCR_NAMESPACE_AQ
    DPI_SUBSCR_NAMESPACE_DBCHANGE = 2         // OCI_SUBSCR_NAMESPACE_DBCHANGE
} dpiSubscrNamespace;

dpi.h at 3.1.0:

// subscription namespaces
typedef uint32_t dpiSubscrNamespace;
#define DPI_SUBSCR_NAMESPACE_AQ                     1
#define DPI_SUBSCR_NAMESPACE_DBCHANGE               2

can we get this to build with both 2.x and 3.x?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants