[
https://issues.apache.org/jira/browse/LUCENE-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577637#action_12577637
]
Michael McCandless commented on LUCENE-1217:
--------------------------------------------
OK the new patch passes all tests -- thanks!
One unrelated thing I noticed: it looks like you can get a binary LazyField and
then ask for its stringValue(), and vice-versa. Ie we are failing to check in
binaryValue() that the field is in fact binary even though when we create the
LazyField we know whether it is. I'll open a separate issue for this.
> use isBinary cached variable instead of instanceof in Filed
> -----------------------------------------------------------
>
> Key: LUCENE-1217
> URL: https://issues.apache.org/jira/browse/LUCENE-1217
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Other
> Reporter: Eks Dev
> Assignee: Michael McCandless
> Priority: Trivial
> Attachments: Lucene-1217-take1.patch, LUCENE-1217.patch
>
>
> Filed class can hold three types of values,
> See: AbstractField.java protected Object fieldsData = null;
> currently, mainly RTTI (instanceof) is used to determine the type of the
> value stored in particular instance of the Field, but for binary value we
> have mixed RTTI and cached variable "boolean isBinary"
> This patch makes consistent use of cached variable isBinary.
> Benefit: consistent usage of method to determine run-time type for binary
> case (reduces chance to get out of sync on cached variable). It should be
> slightly faster as well.
> Thinking aloud:
> Would it not make sense to maintain type with some integer/byte"poor man's
> enum" (Interface with a couple of constants)
> code:java{
> public static final interface Type{
> public static final byte BOOLEAN = 0;
> public static final byte STRING = 1;
> public static final byte READER = 2;
> ....
> }
> }
> and use that instead of isBinary + instanceof?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]