https://bugs.documentfoundation.org/show_bug.cgi?id=149434

Julien Nabet <serval2...@yahoo.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|serval2...@yahoo.fr         |

--- Comment #15 from Julien Nabet <serval2...@yahoo.fr> ---
Here's a bt showing that at the beginning, schema name is ok:
#0 
dbtools::impl_doComposeTableName(com::sun::star::uno::Reference<com::sun::star::sdbc::XDatabaseMetaData>
const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, bool,
dbtools::EComposeRule) (_rxMetaData=uno::Reference to
(connectivity::mysqlc::ODatabaseMetaData *) 0x4c47498, _rCatalog="def",
_rSchema="test.00", _rName="test", _bQuote=false,
_eComposeRule=dbtools::EComposeRule::InDataManipulation)
    at connectivity/source/commontools/dbtools.cxx:833
#1  0x00007f8aa5795b19 in
dbtools::composeTableName(com::sun::star::uno::Reference<com::sun::star::sdbc::XDatabaseMetaData>
const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, bool,
dbtools::EComposeRule)
    (_rxMetaData=uno::Reference to (connectivity::mysqlc::ODatabaseMetaData *)
0x4c47498, _rCatalog="def", _rSchema="test.00", _rName="test", _bQuote=false,
_eComposeRule=dbtools::EComposeRule::InDataManipulation) at
connectivity/source/commontools/dbtools.cxx:1292
#2  0x00007f8aa585f752 in
connectivity::sdbcx::OCatalog::buildName(com::sun::star::uno::Reference<com::sun::star::sdbc::XRow>
const&)
    (this=0x4c36e70, _xRow=uno::Reference to (connectivity::mysqlc::OResultSet
*) 0x4c7c878) at connectivity/source/sdbcx/VCatalog.cxx:181
#3  0x00007f8aa585f87b in
connectivity::sdbcx::OCatalog::fillNames(com::sun::star::uno::Reference<com::sun::star::sdbc::XResultSet>&,
std::__debug::vector<rtl::OUString, std::allocator<rtl::OUString> >&)
    (this=0x4c36e70, _xResult=uno::Reference to
(connectivity::mysqlc::OResultSet *) 0x4c7c870, _rNames=std::__debug::vector of
length 28, capacity 40 = {...}) at connectivity/source/sdbcx/VCatalog.cxx:193
#4  0x00007f8a96bfa225 in connectivity::mysqlc::Catalog::refreshTables()
(this=0x4c36e70) at connectivity/source/drivers/mysqlc/mysqlc_catalog.cxx:32

Now the pb arises at this point connectivity/source/commontools/dbtools.cxx
    832     if ( !_rSchema.isEmpty() && aNameComps.bSchemas )
    833     {
    834         aComposedName.append( _bQuote ? quoteName( sQuoteString,
_rSchema ) : _rSchema );
    835         aComposedName.append( "." );
    836     }

_bQuote is false so a dot is added in aComposedName and for a schema call
"test.00" we get here:
"test.00."
obviously any caller which parses this can't know that the beginning of the
table name is after the second dot and not after first dot.

It just reminds me this patch https://gerrit.libreoffice.org/c/core/+/128579
with Lionel's comments.
I struggled some time to make maximum things on mysqlc to work but gave up and
try to provide some minimal so with schemas or tables which don't include a dot
since it's a kind of special character.

Now I'm far from being an expert or perhaps I missed something obvious, anyway
if someone knows how to fix this, you're welcome of course! :-)

Can't help here=>uncc myself.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to