[Maria-developers] Some clarifications requested for C client
![](https://secure.gravatar.com/avatar/6856a1f0f722fbef5eef6f496fc6fab3.jpg?s=120&d=mm&r=g)
This is probably for Georg Richter (and/or @Wlad). I have a few qeustion! 1) https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Fix for CONC-44: LOAD DATA INFILE can't open utf16le encoded filenames" But we we can stil not specify UTF16LE as the CHARSET, I think? Say I have a file *named* "ÄÜÑБГД.csv". (both Western special characters and cyrillic characters in the file name). This file I will be able to read now (using revision 80), right? But if file *content* is this single line (one row, two columns) ÄÜÑ,БГД and if it is encoded as 'Windows Unicode'/utf16le I still will need to recode the file to utf8 before executing it with LOAD DATA (as UTF16LE still cannot be specified for CHARSET in LOAD DATA), right? Please confirm that I understand this! 2) https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added support for embedded (sqlite)". This happened by beginning of this year but I just noticed now. Now what can we actually do with SQLite and the MariaDB C-API and what we the purpose of this revision? Is it to make it easier to write client applications using SQLite for internal storage? Or to make the C client code 'a generic API' for connecting to both MySQL (of all flavors) and SQLite? Is the the code/files that that were added different from offical SQLite downloads from http://www.sqlite.org/? I am not able to find any documentation anywhere. Also not a blog or whatever either. There must be some reason to add sqlite3 code?! 3) This seems to be the latest revision: https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added dyamic column api; Added character set conversion" ('dyamic' is misspelled BTW!) Won't we need some documentation here? The claim that MariaDB's connector "has exactly the same API as the MySQL Connector/C for MySQL 5.5" ( https://kb.askmonty.org/en/mariadb-client-library-for-c/) cannot be true now as it adds funtionalities for managing MariaDB ' dymamic column waht oracle's API has not? The API from Oracle's library is now a *subset* or MariaDB API (or MariaDB's is a *superset* or Oracle). So much I can figure out, but should I need to code with it I would need description of functions' syntax, expected results and error listings. Also I am not able to figure out what the "character set conversion" referred to is doing and why it was added. 4) Why does the changelog here https://kb.askmonty.org/en/mariadb-client-library-for-c-100-changelog/ stop at revision 77? -- Peter Laursen -- Webyog
![](https://secure.gravatar.com/avatar/6856a1f0f722fbef5eef6f496fc6fab3.jpg?s=120&d=mm&r=g)
And also .. the revisions listing at Launchpad (
http://bazaar.launchpad.net/~georghd/mariadb-native-client/1.3/changes/)
stops at revision 32, it seems. If it is not maintained I think it is
better to delete/truncate it. Besides I am also surprised to se the version
listed as "1.3". But maybe I don't understand how to navigate Launchpad!
-- Peter
On Sun, Aug 25, 2013 at 3:25 PM, Peter Laursen
This is probably for Georg Richter (and/or @Wlad). I have a few qeustion!
1)
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Fix for CONC-44: LOAD DATA INFILE can't open utf16le encoded filenames" But we we can stil not specify UTF16LE as the CHARSET, I think?
Say I have a file *named* "ÄÜÑБГД.csv". (both Western special characters and cyrillic characters in the file name). This file I will be able to read now (using revision 80), right?
But if file *content* is this single line (one row, two columns)
ÄÜÑ,БГД
and if it is encoded as 'Windows Unicode'/utf16le I still will need to recode the file to utf8 before executing it with LOAD DATA (as UTF16LE still cannot be specified for CHARSET in LOAD DATA), right?
Please confirm that I understand this!
2)
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added support for embedded (sqlite)". This happened by beginning of this year but I just noticed now.
Now what can we actually do with SQLite and the MariaDB C-API and what we the purpose of this revision? Is it to make it easier to write client applications using SQLite for internal storage? Or to make the C client code 'a generic API' for connecting to both MySQL (of all flavors) and SQLite? Is the the code/files that that were added different from offical SQLite downloads from http://www.sqlite.org/? I am not able to find any documentation anywhere. Also not a blog or whatever either. There must be some reason to add sqlite3 code?!
3) This seems to be the latest revision:
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added dyamic column api; Added character set conversion" ('dyamic' is misspelled BTW!)
Won't we need some documentation here? The claim that MariaDB's connector "has exactly the same API as the MySQL Connector/C for MySQL 5.5" ( https://kb.askmonty.org/en/mariadb-client-library-for-c/) cannot be true now as it adds funtionalities for managing MariaDB ' dymamic column waht oracle's API has not? The API from Oracle's library is now a *subset* or MariaDB API (or MariaDB's is a *superset* or Oracle). So much I can figure out, but should I need to code with it I would need description of functions' syntax, expected results and error listings.
Also I am not able to figure out what the "character set conversion" referred to is doing and why it was added.
4) Why does the changelog here https://kb.askmonty.org/en/mariadb-client-library-for-c-100-changelog/stop at revision 77?
-- Peter Laursen -- Webyog
![](https://secure.gravatar.com/avatar/6856a1f0f722fbef5eef6f496fc6fab3.jpg?s=120&d=mm&r=g)
Could I ask for a reply here - in particular to the 2nd point about SQLite?
What is the advantage of having the SQLite codebase as part of the MariaDB
C-API as compared to getting the SQLite library from the official SQLite
webiste and link in an application?
If there is more to it than just *including the SQLite codebase*
(functionalities of any kind added due to this), then some
explanation/documentation would be nice.
-- Peter Laursen (Webyog)
On Sun, Aug 25, 2013 at 3:25 PM, Peter Laursen
This is probably for Georg Richter (and/or @Wlad). I have a few qeustion!
1)
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Fix for CONC-44: LOAD DATA INFILE can't open utf16le encoded filenames" But we we can stil not specify UTF16LE as the CHARSET, I think?
Say I have a file *named* "ÄÜÑБГД.csv". (both Western special characters and cyrillic characters in the file name). This file I will be able to read now (using revision 80), right?
But if file *content* is this single line (one row, two columns)
ÄÜÑ,БГД
and if it is encoded as 'Windows Unicode'/utf16le I still will need to recode the file to utf8 before executing it with LOAD DATA (as UTF16LE still cannot be specified for CHARSET in LOAD DATA), right?
Please confirm that I understand this!
2)
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added support for embedded (sqlite)". This happened by beginning of this year but I just noticed now.
Now what can we actually do with SQLite and the MariaDB C-API and what we the purpose of this revision? Is it to make it easier to write client applications using SQLite for internal storage? Or to make the C client code 'a generic API' for connecting to both MySQL (of all flavors) and SQLite? Is the the code/files that that were added different from offical SQLite downloads from http://www.sqlite.org/? I am not able to find any documentation anywhere. Also not a blog or whatever either. There must be some reason to add sqlite3 code?!
3) This seems to be the latest revision:
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added dyamic column api; Added character set conversion" ('dyamic' is misspelled BTW!)
Won't we need some documentation here? The claim that MariaDB's connector "has exactly the same API as the MySQL Connector/C for MySQL 5.5" ( https://kb.askmonty.org/en/mariadb-client-library-for-c/) cannot be true now as it adds funtionalities for managing MariaDB ' dymamic column waht oracle's API has not? The API from Oracle's library is now a *subset* or MariaDB API (or MariaDB's is a *superset* or Oracle). So much I can figure out, but should I need to code with it I would need description of functions' syntax, expected results and error listings.
Also I am not able to figure out what the "character set conversion" referred to is doing and why it was added.
4) Why does the changelog here https://kb.askmonty.org/en/mariadb-client-library-for-c-100-changelog/stop at revision 77?
-- Peter Laursen -- Webyog
![](https://secure.gravatar.com/avatar/fb07215019ed6b599f8663bee80727eb.jpg?s=120&d=mm&r=g)
Hi Peter,
reg. 1)
rev. 80 will allow you to open a file with unicode filename.
Unless you specify your own infile handler (mysql_set_local_infile_handler)
the client expects that the character set of the file matches the client
character set of your connection. This is the same behaviour as in MySQL
client library.
reg. 2)
Sqlite support is experimental and not enabled by default. It uses a
database plugin api, which allows you to add support for other databases
but also client monitors. It's a proof of concept and not a replacement for
mysql embedded.
reg. 3+4
Documentation is in progress - I hope it will be ready and published within
next 2 weeks. The changelog is not updated anymore and will be part of the
documentation (via bzr xml plugin).
The final release will be ready in October and will include complete
documentation, asynchronous api, dynamic columns api, connection attribute
support and character set conversion.
/Georg
On Sun, Aug 25, 2013 at 3:25 PM, Peter Laursen
This is probably for Georg Richter (and/or @Wlad). I have a few qeustion!
1)
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Fix for CONC-44: LOAD DATA INFILE can't open utf16le encoded filenames" But we we can stil not specify UTF16LE as the CHARSET, I think?
Say I have a file *named* "ÄÜÑБГД.csv". (both Western special characters and cyrillic characters in the file name). This file I will be able to read now (using revision 80), right?
But if file *content* is this single line (one row, two columns)
ÄÜÑ,БГД
and if it is encoded as 'Windows Unicode'/utf16le I still will need to recode the file to utf8 before executing it with LOAD DATA (as UTF16LE still cannot be specified for CHARSET in LOAD DATA), right?
Please confirm that I understand this!
2)
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added support for embedded (sqlite)". This happened by beginning of this year but I just noticed now.
Now what can we actually do with SQLite and the MariaDB C-API and what we the purpose of this revision? Is it to make it easier to write client applications using SQLite for internal storage? Or to make the C client code 'a generic API' for connecting to both MySQL (of all flavors) and SQLite? Is the the code/files that that were added different from offical SQLite downloads from http://www.sqlite.org/? I am not able to find any documentation anywhere. Also not a blog or whatever either. There must be some reason to add sqlite3 code?!
3) This seems to be the latest revision:
https://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/rev... "Added dyamic column api; Added character set conversion" ('dyamic' is misspelled BTW!)
Won't we need some documentation here? The claim that MariaDB's connector "has exactly the same API as the MySQL Connector/C for MySQL 5.5" ( https://kb.askmonty.org/en/mariadb-client-library-for-c/) cannot be true now as it adds funtionalities for managing MariaDB ' dymamic column waht oracle's API has not? The API from Oracle's library is now a *subset* or MariaDB API (or MariaDB's is a *superset* or Oracle). So much I can figure out, but should I need to code with it I would need description of functions' syntax, expected results and error listings.
Also I am not able to figure out what the "character set conversion" referred to is doing and why it was added.
4) Why does the changelog here https://kb.askmonty.org/en/mariadb-client-library-for-c-100-changelog/stop at revision 77?
-- Peter Laursen -- Webyog
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
participants (2)
-
Georg Richter
-
Peter Laursen