Install
Oninit® MySQL-2-Informix — Install
Requirements
| Component | Notes |
|---|---|
| Linux x86-64 | Any modern distribution. Other architectures on request. |
| GCC with C99 support | Build target: -std=c99 -pthread -Wall -Wextra -Wpedantic. |
| POSIX threads | Linked into the binary; one pthread per accepted client connection. |
| IBM Informix CSDK | Required only for m2ie (the ESQL/C backend). The CSDK preprocessor is also used as the link driver so it pulls in the right Informix runtime libraries. m2is does not need the CSDK. |
| INFORMIXDIR | Required at build and run time for m2ie. LD_LIBRARY_PATH must include $INFORMIXDIR/lib and $INFORMIXDIR/lib/esql. |
| Informix server reachability | The proxy host must reach the IDS instance on its TCP port (whatever cfg/ifx.conf points at). |
| mysql(1) client | Optional. Required only to run the integration suite. |
Build
make in the source tree produces both backend binaries:
make # → ./m2ie (ESQL/C, needs INFORMIXDIR + the CSDK preprocessor) # → ./m2is (SQLI wire protocol, pure C)
The build target also accepts single-backend invocations (build only the ESQL or only the SQLI binary), a debug variant that emits every SQL statement to standard error for tracing, and a clean target that removes the produced artefacts. The shipped README in the source tree lists the exact target names.
Both binaries implement the same internal abstraction and accept the same cfg/ifx.conf. They produce the same MySQL-wire responses for the same SQL except on a documented set of behaviours where the SQLI-protocol backend is strictly more correct than the ESQL/CSDK reference (see the Backends page for the list).
Where to run it
| Deployment | Use case |
|---|---|
| Same host as IDS | Lowest latency. The proxy listens on the address the MySQL clients are configured to reach; Informix lives on its own loopback or interface alias. |
| Dedicated proxy host | Separate machine in front of IDS. Useful when the application tier and database tier are already isolated, or when the proxy host should carry no IBM dependency at all (run m2is; no CSDK install). |
| Co-located with the application | Application connects to 127.0.0.1:3307 and the proxy reaches the real IDS. Common pattern when individual app nodes have their own MySQL connector configuration. |
Picking a backend
The two backends are interchangeable on the wire. The decision is operational:
| Choose | If |
|---|---|
| m2ie | The proxy host already has a CSDK install, the standard ESQL/C connection model is acceptable, and no new IBM-dependency footprint is being added. |
| m2is | The proxy host should carry no IBM client at all — container images, locked-down hosts, fleets of small proxy nodes, environments where licensing or installing the CSDK on every proxy is undesirable. Also the right choice when the application INSERTs into BYTE / TEXT columns with inline literals (the routing layer handles the wire-form rewrite that the CSDK rejects). |
See the Backends page for the full comparison.