Discussion:
[soci-users] Acceptance as an official Boost library
Rodrigo Madera
2013-09-24 13:36:30 UTC
Permalink
I'm wondering if there is any roadmap leading to acceptance as a Boost
library.

Is this planned?

Thanks,
Rodrigo
Mateusz Loskot
2013-09-24 13:55:56 UTC
Permalink
Post by Rodrigo Madera
I'm wondering if there is any roadmap leading to acceptance as a Boost
library.
Is this planned?
As far as I'm aware of, there is no roadmap.

However, since early days, there have been numerous discussions
related to SOCI inclusion in Boost.
You may take a look into Boost lists archives, threads like

"SOCI 2.2.0 - The C++ Database Access Library"
http://lists.boost.org/Archives/boost/2006/12/index.php

"SOCI 3.0.0 - The Database Access Library "
http://lists.boost.org/Archives/boost/2008/07/index.php

as well as a few individual SOCI-related posts:

http://lists.boost.org/Archives/boost/2012/01/189545.php
http://lists.boost.org/Archives/boost/2012/01/189562.php

My personal opinion about proposing SOCI to Boost is neutral
and realistic too :-)

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
Rodrigo Madera
2013-09-24 15:50:32 UTC
Permalink
Mateusz,

Seeking further comment on this, can you list some things that would make
SOCI a good candidate?

What are the drawbacks?

Of course some things can be made better, but as everything else.

I see some (pardon me) dumb libraries being considered. Imagine one that
simplifies SQL development in C++.

Regards,
Rodrigo
Post by Mateusz Loskot
Post by Rodrigo Madera
I'm wondering if there is any roadmap leading to acceptance as a Boost
library.
Is this planned?
As far as I'm aware of, there is no roadmap.
However, since early days, there have been numerous discussions
related to SOCI inclusion in Boost.
You may take a look into Boost lists archives, threads like
"SOCI 2.2.0 - The C++ Database Access Library"
http://lists.boost.org/Archives/boost/2006/12/index.php
"SOCI 3.0.0 - The Database Access Library "
http://lists.boost.org/Archives/boost/2008/07/index.php
http://lists.boost.org/Archives/boost/2012/01/189545.php
http://lists.boost.org/Archives/boost/2012/01/189562.php
My personal opinion about proposing SOCI to Boost is neutral
and realistic too :-)
Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
soci-users mailing list
https://lists.sourceforge.net/lists/listinfo/soci-users
Gábor, Wacha
2013-09-24 15:54:12 UTC
Permalink
Well, I would vote for the inclusion of SOCI in Boost.

Regards,
Gabor Wacha
Post by Rodrigo Madera
Mateusz,
Seeking further comment on this, can you list some things that would
make SOCI a good candidate?
What are the drawbacks?
Of course some things can be made better, but as everything else.
I see some (pardon me) dumb libraries being considered. Imagine one
that simplifies SQL development in C++.
Regards,
Rodrigo
On 24 September 2013 14:36, Rodrigo Madera
Post by Rodrigo Madera
I'm wondering if there is any roadmap leading to acceptance as a
Boost
Post by Rodrigo Madera
library.
Is this planned?
As far as I'm aware of, there is no roadmap.
However, since early days, there have been numerous discussions
related to SOCI inclusion in Boost.
You may take a look into Boost lists archives, threads like
"SOCI 2.2.0 - The C++ Database Access Library"
http://lists.boost.org/Archives/boost/2006/12/index.php
"SOCI 3.0.0 - The Database Access Library "
http://lists.boost.org/Archives/boost/2008/07/index.php
http://lists.boost.org/Archives/boost/2012/01/189545.php
http://lists.boost.org/Archives/boost/2012/01/189562.php
My personal opinion about proposing SOCI to Boost is neutral
and realistic too :-)
Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get
the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
soci-users mailing list
https://lists.sourceforge.net/lists/listinfo/soci-users
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
soci-users mailing list
https://lists.sourceforge.net/lists/listinfo/soci-users
Mateusz Loskot
2013-09-24 19:50:16 UTC
Permalink
Post by Rodrigo Madera
Mateusz,
Rodrigo,

First of all, this topic is potentially a large one and I haven't
thought it through myself,
so most of my comments below are ad-hoc. Also, bear in mind, SOCI was
designed and created by Maciej Sobczak, so I may not be aware of some of
design decisions.
Post by Rodrigo Madera
Seeking further comment on this, can you list some things that would make
SOCI a good candidate?
I'd say, if there are users who find SOCI useful, then the project is valuable.
Every valuable C++ library project has potential to become part of the Boost
C++ collection. Does SOCI fit all Boost requirements and expectations?
That is a tricky question, difficult to answer in comprehensive manner,
unless SOCI undergoes the Boost review process.

However, there are some indicators that may suggest SOCI wouldn't be
accepted straight away:
1. SOCI is 10 years old
2. SOCI followed syntax-first develpment approach
3. SOCI design priority was to provide a very simple, usable and
extensible database
access abstraction (roughly, SOCI tries to act as a common denominator)
4. High performance doesn't seem to be highest priority.
5. There are known issues which still need to be addressed (i.e. more complete
SQL<->C++ numeric types mapping and conversions)

As you can read in some of the threads I linked, point 4 is usually extremely
important for Boost.
Post by Rodrigo Madera
What are the drawbacks?
More work for SOCI developers :)

I have been a Boost review manager (Boost.GIL I/O) and
participated in library submission to Boost (Boost.Geometry),
and the whole process huge effort, and may take long months to complete.
Post by Rodrigo Madera
Of course some things can be made better, but as everything else.
Indeed.

There is new aspect which is related to release of C++11.
The new standard has triggered some interesting discussions
about a database library for C++, and even some N papers
in 2012 [1] and 2013 [2] have been proposed: N3415 [3],
N3458 [4] followed with N3459 [5] and later with N3612 [6]
which BTW mentions SOCI.
The last paper was later discussed [7] on ISO C++ group.

Recently, ISO C++ established a SG11 - Databases group [8]
devoted to discussions about C++/database access,
but no threads have arrived there yet.

Long story short, it looks that arrival of C++11 opened new
hopes regarding C++ database interface.

Meanwhile, SOCI remains C++03 compatible, but C++11
related enhancements are strongly welcome, if conditionally compiled.

[1] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/
[2] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/
[3] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3415.html
[4] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3458.pdf
[5] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3459.html
[6] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3612.pdf
[7] https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/iqOtgxP_IRA
[8] https://groups.google.com/a/isocpp.org/forum/#!forum/databases


I hope it's helpful.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
Deane Yang
2013-09-24 21:10:16 UTC
Permalink
My recollection is that Maciej Sobczak *did* submit SOCI to Boost and met
some resistance. I don't remember exactly why. But I think it is worth
trying again, if enough people are willing to put in the effort to make it
suitable for submission.
Mateusz Loskot
2013-09-24 21:27:44 UTC
Permalink
Post by Deane Yang
My recollection is that Maciej Sobczak *did* submit SOCI to Boost and met
some resistance. I don't remember exactly why. But I think it is worth
trying again, if enough people are willing to put in the effort to make it
suitable for submission.
It was encouraged by some of Boost developers [1],
but eventually Maciej decided [2] against submission.

[1] http://lists.boost.org/Archives/boost/2008/07/139682.php
[2] http://sourceforge.net/mailarchive/message.php?msg_id=21426499

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
Rodrigo Madera
2013-09-25 14:05:13 UTC
Permalink
Mateusz,

Is it your interest to keep SOCI separated, as it's creator intended?

If so, that's decided. Otherwise, I guess you could get some volunteers to
help you out Boostifying the library, breaking up the effort.

Either way, SOCI is a great library that I've used it for all my Database
needs. Even without the (much desired) binary transfer modes.

Being solo or a Boost library, I'll continue to use it (and love it).

Regards,
Rodrigo
Post by Mateusz Loskot
Post by Deane Yang
My recollection is that Maciej Sobczak *did* submit SOCI to Boost and met
some resistance. I don't remember exactly why. But I think it is worth
trying again, if enough people are willing to put in the effort to make
it
Post by Deane Yang
suitable for submission.
It was encouraged by some of Boost developers [1],
but eventually Maciej decided [2] against submission.
[1] http://lists.boost.org/Archives/boost/2008/07/139682.php
[2] http://sourceforge.net/mailarchive/message.php?msg_id=21426499
Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
soci-users mailing list
https://lists.sourceforge.net/lists/listinfo/soci-users
Mateusz Loskot
2013-09-25 14:29:11 UTC
Permalink
Post by Rodrigo Madera
Mateusz,
Is it your interest to keep SOCI separated, as it's creator intended?
Rodrigo,

As I mentioned, I'm neutral.
I just wanted to provide you with some background that may help you to
understand why SOCI has not been submitted to Boost,
and that background explains Maciej's decisions (all Boost-related activities
had happened when Maciej was the active maintainer of SOCI).
Post by Rodrigo Madera
If so, that's decided. Otherwise, I guess you could get some volunteers to
help you out Boostifying the library, breaking up the effort.
That's what I mean saying I'm neutral.
If someone thinks that SOCI should become part of Boost and is ready to
lead the necessary actions, I will not object such motion at all.
I could even try to contribute to it myself.

SOCI is an open source project; anyone who wants to contribute is more
than welcome to participate (submit patches or ask for commit access);
anyone who wants to lead any action within SOCI is welcome to do it.
So, if the current team of active developers will agree, everyone
is free to can take action for SOCI's good,
including taking over the maintenance.
I just hold the broom here, but doesn't mean I'm glued to it permanently :)
Post by Rodrigo Madera
Either way, SOCI is a great library that I've used it for all my Database
needs. Even without the (much desired) binary transfer modes.
I'm in favour of binary transfer, but it is tricky.
If you search through soci-users/devel or Boost lists, you can find
some discussions.
Here is one of the more important ones where Maciej explains some quirks:

http://lists.boost.org/Archives/boost/2008/07/139689.php

I have played with binary transfer for PostgreSQL and one of obstacles
we would have to overcome: NUMERIC data type:

https://github.com/mloskot/workshop/blob/master/postgresql/numeric/postgresql_binary_numeric.cpp

Tricky :)
Post by Rodrigo Madera
Being solo or a Boost library, I'll continue to use it (and love it).
Cheers!

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
"Participation in this whole process is a form of torture" ~~ Szalony
Loading...