Registry / database / odata-v4-mysql

odata-v4-mysql

JSON →
library0.1.1jsnpmunverified

OData V4 MySQL Connector (v0.1.1) converts OData V4 query segments like $filter, $select, $skip, $top, $orderby, and $expand into MySQL SQL statements. Provides functions createFilter, createQuery, and createDelete. Supports TypeScript types, can be used with any MySQL driver. No major updates since 2016; considered stable but low activity. Differentiator: direct mapping of OData to MySQL SQL, lightweight, no ORM needed.

npm install odata-v4-mysql
INSTALL
IMPORT
SIG · ODATA-V4-MYSQL
O
odata-v4-mysql
databasejavascriptv0.1.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

createFilter
import { createFilter } from 'odata-v4-mysql'
const createFilter = require('odata-v4-mysql')
Correct for ESM. CJS users must use require with .createFilter
createQuery
import { createQuery } from 'odata-v4-mysql'
import createQuery from 'odata-v4-mysql'
Named export, not default.
createDelete
import { createDelete } from 'odata-v4-mysql'
const { createDelete } = require('odata-v4-mysql')
Both named import and require destructuring work. No wrong pattern for CJS.

Create a MySQL connection, build an OData $filter, and execute the query with parameters.

import { createFilter } from 'odata-v4-mysql'; import * as mysql from 'mysql'; const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: process.env.DB_PASSWORD ?? '', database: 'test' }); // Example OData filter: $filter=Id eq 42 const filter = createFilter('Id eq 42'); connection.query(`SELECT * FROM Users WHERE ${filter.where}`, filter.parameters, (err, rows) => { if (err) throw err; console.log(rows); }); connection.end();
Debug
Known issues
gotchacreateFilter returns an object with 'where' and 'parameters', not a complete SQL string.
fix
Use filter.where and filter.parameters separately in your query.
affects: >=0.0.1
gotchaThe package does not support authentication or any middleware; it only compiles OData segments to SQL.
fix
You must provide your own HTTP server and OData parser (e.g., odata-v4-server).
affects: >=0.0.1
gotchaThe 'createQuery' function is not shown in the README; it exists and can be used for more complex queries.
fix
Use createQuery to generate full SELECT statements including $select, $skip, $top, $orderby.
affects: >=0.0.1
Errors
Common errors & fixes
Cannot find module 'odata-v4-mysql'
Package not installed or typo in import path.
fix
Run 'npm install odata-v4-mysql' and verify import path is correct.
Property 'where' does not exist on type '{}'
Using createFilter without type assertions in TypeScript.
fix
Add type import: import { createFilter, Filter } from 'odata-v4-mysql'; then const filter: Filter = createFilter(...);
mysql connection.query is not a function
Using wrong MySQL driver or not creating connection properly.
fix
Install 'mysql' package and create connection with mysql.createConnection().
Upgrade
Version history
0.1.1latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
odata-v4-mysql — npm install odata-v4-mysql · libregistry