On 10/27/06, Lars Heill <Lar...@su...> wrote:
>
> Have a nice weekend - and thanks for chasing this!
>
Lars,
I'm downloading HADB for linux now. However, I found the real problem. It
has to do with the fact that everything that comes back from HADB is
right-padded
to be 32-chars. So, when we ask DatabaseMetaData for table in the schema
using DatabaseMetaData.getTables, it tells us that the type of the table is
"TABLE "
And when we look for whether or not we cache these objects in
SchemaInfoCache.containsType(String[] types, String type) we
do the following:
if(type.equals(types[i])) // line: 211
And types[] contains "TABLE" so we never find it, and skip over
it in SchemaInfoCache.getITableInfos at line 921:
if(false == SchemaInfoCache.containsType(types, iTableInfo.getType()))
{
continue;
}
Not sure what that code is trying to do - but I didn't write it so that's not
really saying much. In any case, it seems to me that your database (HADB)
is playing tricks on us with all that right-padding. I changed line 211 above
to look like:
if(type.trim().equalsIgnoreCase(types[i]))
and I see tables now. So I'll check that into CVS and you can check out the
next snapshot when you have time and let me know if that solves the problem.
There was one other user (Bernard) who noted this same symptom with
MS-SQLServer, so CC'ing the list and I'm hopeful that this addresses the
problem there as well.
Rob
|