Hi I noticed in the source of DBDictionary that the indexOf function will have what I would consider to be unexpected behaviour when a start index is specified.
When a start index is specified (say "N"), the search target string has the first N characters removed, the search performed (by INSTR in the default case), this is reduced by 1 to make it 0-indexed and then crucially the start index in added to the result. In Oracle, if the search term is not found, INSTR returns 0. If a start index is supplied, this is then added and 1 is taken away, so the "result of indexOf" will be "start index - 1" if the search string is not found. I would expect the case where the string is not found to return 0 or -1, depending on the index base. I think it is misleading for this to return a positive integer if the string is not found. Would you agree? I was going to raise a bug in JIRA for this, but I didn't know whether it *is* expected behaviour. The indexOf method is the same in OpenJPA 1.2.0 and 2.0 Alan Raison
