Hi Sandra,
Am 25.08.2010 14:27, schrieb Sandra Maria Silcot:
21:24:01.510 [127.0.0.1:35052] XQUERY //b4a[shipNameNorm/text() contains text 'mount .+' using wildcards]/shipNameNorm Error: Out of Main Memory. The following hints might help you: - increase Java's heap size with the flag -Xmx<size> - choose the internal XML parser in the GUI or via 'set intparse on' - deactivate the text and attribute indexes 18607.03 ms
this sounds like a bug in the wildcards-supporting trie-based index...
To double check, I have recreated the db and reindexed (as it had been created under an earlier version). This time I don't get an out of memory error, but this:
XQUERY //b4a[shipNameNorm/text() contains text 'mount .+' using
wildcards]/shipNameNorm [XQST0054] Circular variable definition?
This only means that now the stack's full, not the heap. can you reproduce the error? If so, could you provide us with the stack trace? As you seem to use the client/server architecture you probably have to use the local API to get it:
import org.basex.core.Context; import org.basex.core.cmd.Close; import org.basex.core.cmd.Open; import org.basex.core.cmd.XQuery;
public class WildcardsBug {
static final String DB_NAME = ...;
public static void main(final String[] args) throws Exception { final Context ctx = new Context(); new Open(DB_NAME).execute(ctx); System.out.println(new XQuery("//b4a[shipNameNorm/text() " + "contains text 'mount .+' using wildcards]/shipNameNorm" ).execute(ctx)); new Close().execute(ctx); }
}
A small, executable example would be even better, but as the DB size suggests, it's probably not trivial to create one.
Thank you for reporting this bug and in advance for helping us fix it, Cheers Leo