values used in queries were added to the keys.csv
Due to a mistake in Tag which added all strings used by Tag into the String dictionary, the dictionary did contain all values that were used in queries.
This commit is contained in:
@@ -11,8 +11,8 @@ public class Tag implements Comparable<Tag> {
|
||||
}
|
||||
|
||||
public Tag(final String key, final String value) {
|
||||
this.key = key != null ? Tags.STRING_COMPRESSOR.put(key) : -1;
|
||||
this.value = value != null ? Tags.STRING_COMPRESSOR.put(value) : -1;
|
||||
this.key = key != null ? Tags.STRING_COMPRESSOR.getIfPresent(key) : -1;
|
||||
this.value = value != null ? Tags.STRING_COMPRESSOR.getIfPresent(value) : -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,7 +7,6 @@ import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.lucares.collections.IntList;
|
||||
import org.lucares.collections.LongList;
|
||||
@@ -56,30 +55,33 @@ public class Tags implements Comparable<Tags> {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Tags create(final String key, final String value) {
|
||||
public static Tags createAndAddToDictionary(final String key, final String value) {
|
||||
|
||||
return TagsBuilder.create().add(key, value).build();
|
||||
return TagsBuilder.create().addAndAddToDictionary(key, value).build();
|
||||
}
|
||||
|
||||
public static Tags create(final String key1, final String value1, final String key2, final String value2) {
|
||||
public static Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
|
||||
final String value2) {
|
||||
|
||||
final Tags result = TagsBuilder.create().add(key1, value1).add(key2, value2).build();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Tags create(final String key1, final String value1, final String key2, final String value2,
|
||||
final String key3, final String value3) {
|
||||
final Tags result = TagsBuilder.create().add(key1, value1).add(key2, value2).add(key3, value3).build();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Tags create(final String key1, final String value1, final String key2, final String value2,
|
||||
final String key3, final String value3, final String key4, final String value4) {
|
||||
final Tags result = TagsBuilder.create().add(key1, value1).add(key2, value2).add(key3, value3).add(key4, value4)
|
||||
final Tags result = TagsBuilder.create().addAndAddToDictionary(key1, value1).addAndAddToDictionary(key2, value2)
|
||||
.build();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
|
||||
final String value2, final String key3, final String value3) {
|
||||
final Tags result = TagsBuilder.create().addAndAddToDictionary(key1, value1).addAndAddToDictionary(key2, value2)
|
||||
.addAndAddToDictionary(key3, value3).build();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
|
||||
final String value2, final String key3, final String value3, final String key4, final String value4) {
|
||||
final Tags result = TagsBuilder.create().addAndAddToDictionary(key1, value1).addAndAddToDictionary(key2, value2)
|
||||
.addAndAddToDictionary(key3, value3).addAndAddToDictionary(key4, value4).build();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Tags fromBytes(final byte[] bytes) {
|
||||
final List<Tag> result = new ArrayList<>();
|
||||
|
||||
@@ -208,19 +210,6 @@ public class Tags implements Comparable<Tags> {
|
||||
return String.join(",", tagsAsStrings);
|
||||
}
|
||||
|
||||
public static Tags fromCsv(final String line) {
|
||||
|
||||
final TagsBuilder tagsBuilder = new TagsBuilder();
|
||||
final String[] tagsAsString = line.split(Pattern.quote(","));
|
||||
|
||||
for (final String tagAsString : tagsAsString) {
|
||||
final String[] keyValue = tagAsString.split(Pattern.quote("="));
|
||||
tagsBuilder.add(keyValue[0], keyValue[1]);
|
||||
}
|
||||
|
||||
return tagsBuilder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
@@ -285,5 +274,4 @@ public class Tags implements Comparable<Tags> {
|
||||
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,12 @@ public class TagsBuilder {
|
||||
}
|
||||
|
||||
public TagsBuilder add(final String key, final String value) {
|
||||
final int keyAsInt = Tags.STRING_COMPRESSOR.getIfPresent(key);
|
||||
final int valueAsInt = Tags.STRING_COMPRESSOR.getIfPresent(value);
|
||||
return add(keyAsInt, valueAsInt);
|
||||
}
|
||||
|
||||
public TagsBuilder addAndAddToDictionary(final String key, final String value) {
|
||||
final int keyAsInt = Tags.STRING_COMPRESSOR.put(key);
|
||||
final int valueAsInt = Tags.STRING_COMPRESSOR.put(value);
|
||||
return add(keyAsInt, valueAsInt);
|
||||
|
||||
Reference in New Issue
Block a user