[ODBC-118] compile error: STMT_INDICATOR_IGNORE_ROW undefined Created: 2017-10-16 Updated: 2018-01-28 Resolved: 2018-01-28 |
|
| Status: | Closed |
| Project: | MariaDB Connector/ODBC |
| Component/s: | General |
| Affects Version/s: | 3.0.2 |
| Fix Version/s: | 3.0.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | Michal Schorm | Assignee: | Lawrin Novitsky |
| Resolution: | Won't Fix | Votes: | 1 |
| Labels: | None | ||
| Environment: |
Fedora - all |
||
| Description |
|
This is self-explaining. |
| Comments |
| Comment by Lawrin Novitsky [ 2017-10-18 ] | ||||||||||
|
Well, this is our bad, sorry for that. This relies on the Connector/C code that hasn't been released yet, and to workaround the problem and to be able to build from source you need to checkout Connector/C from git repository(https://github.com/MariaDB/mariadb-connector-c/), and build it from source as well. So, the issue will be solved as soon as next C/C release is out. I will close the issue then | ||||||||||
| Comment by Lawrin Novitsky [ 2017-10-18 ] | ||||||||||
|
We actually plan to make C/C as a subproject, and in this way C/C git checkout and build from source will be done automatically. | ||||||||||
| Comment by Michal Schorm [ 2017-10-18 ] | ||||||||||
|
You do plan to make C/C as a subproject? You distribute your software as parts (server, C/C, C/ODBC and their versions). If you build some part and distribute it, everything's okay. Until some maintainer comes to you and wants to add you software to his OS. At that point, you have pretty nicely versioned pieces of software, but every and each one of them was build with different versions of other software, even unreleased. Your C/C won't match your server developement any more. You have C/C, but it does not make sense, since you never use any released version of it. At the same time you have server with different library than C/C, you fix something in server, but C/C will wait months to get that fix released. Ideally, I look forward an exact opposite: Your binaries - each of them - contains bundled libraries, which makes them 10x-100x bigger (PostgreSQL is a nice example, where client binaries has only few kilobytes and link dynamically.) Than right question emerge - is there any point in dynamic linking, if you won't have any stable releases and parts depending on each other as standalone projects (instead of enormous chunk called 'server', that actually does everything). – Don't get this anyhow offensive. I'd totally like to open another ticket for this topic and discuss this with other OSs maintainers. In short: What are your opinions about MariaDB evolution, that could be brought by separating or bundling C/C to / from everything? | ||||||||||
| Comment by Arnold Hendriks [ 2017-10-23 ] | ||||||||||
|
I'm wondering how this git-approach will work in practice. Are you going to tag a specific mariadb-connect-c commit for each odbc release/commit or going to rely on a branch? (which would make builds unreproducable?) | ||||||||||
| Comment by Lawrin Novitsky [ 2017-10-23 ] | ||||||||||
|
Sorry, short answer so far. | ||||||||||
| Comment by Arnold Hendriks [ 2017-10-24 ] | ||||||||||
|
Could you link to specific commit hashes? Tags can be moved, which could be an issue for people who want to ensure reproducable builds. Commits can still be deleted, but then at least you know what happened. A git submodule would probably be an ideal match for this use case. | ||||||||||
| Comment by Michal Schorm [ 2017-10-24 ] | ||||||||||
|
Novitsky said: "want to link releases only against C/C releases"
And you will only link releases against released C/C, which means only against commit C or G. Do I get it right? | ||||||||||
| Comment by Lawrin Novitsky [ 2017-10-24 ] | ||||||||||
|
unilynx : Yes, it's possible to link against specific commit. mschorm You get it right. That is the plan. It's time to do things right. I actually have the branch with C/C as subproject for quite a while. And I did not merge it, since I expected this your reaction | ||||||||||
| Comment by Michal Schorm [ 2017-11-01 ] | ||||||||||
|
Hey, Lawrin, you just did it again? In Fedora, I no longer pack client library from the "mariadb" package, but from CONC/C instead. (Same for other files from C/C, like 'mariadb_config' to which a fix was made recently ...) — That's why I'm so sceptic about using C/C as Git submodule. I belive in your intensions, but not the tool you picked for it. — In previous replies, what I wanted to say, is: EDIT: | ||||||||||
| Comment by Lawrin Novitsky [ 2017-11-01 ] | ||||||||||
|
I will discuss this incident with interested parties, was it intended or not. But I guess most of people are off today. There was agreement that c/odbc and c/c releases should be aligned (just in the way you described it). And I still think, that submodule can work for that. Not sure if the same thing was discussed/decided about server releases. It may be actually different with the server, relationships between server and client lib are a bit different, as between c/odbc and c/c. For example server source package includes c/c sources. But that is only my speculations. | ||||||||||
| Comment by Michal Schorm [ 2017-11-01 ] | ||||||||||
|
At the end, a table of backwards and forwards compatibility would be handy, because the latest mariadb 10.2.10, may include updated C/C, but it may not affect compatibility. | ||||||||||
| Comment by Sergei Golubchik [ 2017-11-02 ] | ||||||||||
|
mschorm, while I generally agree with that, and I agree that this commit is impossible to check, I think it does not matter in your particular case. Unlike many other distributions, you don't use C/C from MariaDB 10.2, you build C/C separately from C/C sources. So that commit (which only updates what C/C version will be used when compiling MariaDB server) should not affect you. It does affect others, and we'll need to solve this issue (impossible to check) somehow. | ||||||||||
| Comment by Chandranana [ 2017-12-27 ] | ||||||||||
|
I obtain the same error as below. ome/mariadb-connector-odbc/ma_bulk.c: In function 'MADB_MapIndicatorValue': | ||||||||||
| Comment by Lawrin Novitsky [ 2018-01-04 ] | ||||||||||
|
chandranana_naik, alas you need to build Connector/C from sources. Latest checkout will work. You need to do something like: git clone -b master --depth 1 "https://github.com/MariaDB/mariadb-connector-c.git" build With next Connector/C 3.0 release with problem will be eliminated. Sorry for inconveniences. | ||||||||||
| Comment by Lawrin Novitsky [ 2018-01-28 ] | ||||||||||
|
Since C/C 3.0.4 has been already released, I am closing this one |