ENH: MSSQL Compatibility
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 389
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
My company uses MSSQL, so that's the box I need to work with.
I'm interested in making blaze work on it for a project/idea of mine. But it seems some functionality is missing/broken.
First, to get MSSQL to work, I noticed that some datatypes have to be mapped. I _think_ the correct place to do this is in `odo`. I've filed a PR [here](https://github.com/blaze/odo/pull/430).
So now I'm trying to understand the mechanics of blaze. I noticed that most things work, (sums, avg, split-apply-combine sum/avg). But I ran into an issue getting power (i.e., x *\* 2) to work. It seems blaze is trying to use the function `pow`, but on MSSQL, the function is actually `Power` (case insensitive).
Anyone have suggestions on how to fix? I'm not sure if this is a SQL Alchemy thing or something else.
On another note, I don't have any idea how I can write a unit test that would work for this. I presume we'd have to use Appveyor or something else that supports MSSQL as travis-ci doesn't (AFAIK). Setting up that might be a little hard... But I'm willing to try...
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how Blaze compiles power expressions such as `x ** 2` through SQLAlchemy and compare that with the MSSQL behavior described here; review odo PR #430 for datatype mappings. Check the existing unit-test setup and whether AppVeyor or another MSSQL-capable runner is available. Done means MSSQL compatibility and power expressions work with regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, sql, sqlalchemy
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100