"Gabor Szokoli" <[EMAIL PROTECTED]> writes:

> So here's some feedback on using it for the first time:

Thanks a lot for your feedback.


> - #defines on common words like "begin" or "close" pollute the global
> "namespace". Point being, #defines are not confined in C++
> namespaces, please consider using ENUMS or const statics instead in
> the future, which are.

You are right. Pre-processing is evil and not really needed anymore
with C++. Could you file a JIRA entry for this one? Even attach a
patch maybe? :-)


> - Proper carob operation requires a UTF-8 locale, as I am sure it is
> docuumented somewhere.

Check doc/locales. Here you'll find an alternative documented: using
iconv instead thanks to CPPFLAGS.

You can save this setting once for all into some custom
"make-includes/my.mk" like this:

  MK_CPPFLAGS += -DCAROB_USE_ICONV

"make-includes/libmysequoia.mk" is doing the same thing.


> Still, the failure mode for the lack of one
> could be a bit more graceful: we see empty strings sent over the
> network, but the login credentials are substituted back in the error
> messages, as if they have been transmitted.

I just quickly tested this again to be sure, and this is really not
the behaviour that I get. What I get is an exception when trying to
connect, see below. Aren't you swallowing exceptions somewhere?

Could you please increase the log level and post the best of it here?


> Other than these inconveniences, it looks like a great product, thanks
> for the effort!

Our pleasure.

Cheers,

Marc.



ERROR:  (Carob-0.7.4pre::AbstractControllerPool::newRegisteredSocket) no UTF8 
codec found; SQL state: 22018
./libcarob.so.0(CarobNS::BackTrace::BackTrace()+0x54) [0xb7f313ac]
./libcarob.so.0(CarobNS::CarobException::CarobException(std::basic_string<wchar_t,
 std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, s
td::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > 
const&, CarobNS::CarobException*, int)+0xe2) [0xb7f2eae4]
./libcarob.so.0(CarobNS::DriverException::DriverException(std::basic_string<wchar_t,
 std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
 std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> 
> const&, CarobNS::CarobException*, int)+0x39) [0xb7f2eb75]
./libcarob.so.0(CarobNS::CodecException::CodecException(std::basic_string<wchar_t,
 std::char_traits<wchar_t>, std::allocator<wchar_t> >)+0x63) [0xb7f7a363]
./libcarob.so.0(CarobNS::tryUTF8locale()+0x13d0) [0xb7f79736]
./libcarob.so.0(CarobNS::JavaSocket::JavaSocket()+0x45) [0xb7f79a33]
./libcarob.so.0(CarobNS::BufferedSocket::BufferedSocket()+0x1d) [0xb7f51c73]
./libcarob.so.0(CarobNS::DriverSocket::DriverSocket(CarobNS::ControllerInfo 
const&)+0x1f) [0xb7f51d2b]
./libcarob.so.0(CarobNS::AbstractControllerPool::newRegisteredSocket(CarobNS::ControllerInfo
 const&)+0x53) [0xb7f4f52d]
./libcarob.so.0(CarobNS::ControllerInfo::connect(CarobNS::AbstractControllerPool&)+0x4a)
 [0xb7f4a948]
./libcarob.so.0(CarobNS::Connection::connectToNextController()+0x272) 
[0xb7f389fc]
./libcarob.so.0(CarobNS::Connection::connectToNextController()+0x717) 
[0xb7f38ea1]
./libcarob.so.0(CarobNS::Connection::getConnectionToNewController()+0x35) 
[0xb7f3948f]
./libcarob.so.0(CarobNS::Connection::Connection(CarobNS::ConnectionParameters&)+0x158)
 [0xb7f39866]


_______________________________________________
Carob mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob

Reply via email to