| 41 | import io.crate.common.SuppressForbidden; |
| 42 | |
| 43 | @SuppressWarnings("deprecation") // old lucene versions |
| 44 | public class Version implements Comparable<Version> { |
| 45 | /* |
| 46 | * The logic for ID is: XXYYZZAA, where XX is major version, YY is minor version, ZZ is revision, and AA is alpha/beta/rc indicator AA |
| 47 | * values below 25 are for alpha builder (since 5.0), and above 25 and below 50 are beta builds, and below 99 are RC builds, with 99 |
| 48 | * indicating a release the (internal) format of the id is there so we can easily do after/before checks on the id |
| 49 | * |
| 50 | */ |
| 51 | private static final int V_EMPTY_ID = 0; |
| 52 | public static final Version V_EMPTY = new Version(V_EMPTY_ID, 0, false, org.apache.lucene.util.Version.LATEST); |
| 53 | public static final Version V_3_0_1 = new Version(6_01_04_99, 3_00_01_99, false, Lucene.luceneVersion(7, 1, 0)); |
| 54 | /** |
| 55 | * Before CrateDB 4.0 we've had ES versions (internalId) and CrateDB (externalId) versions. |
| 56 | * The internalId is stored in indices, so we keep using it for compatibility. |
| 57 | * |
| 58 | * Starting with CrateDB 4.0 we only have a single version, but keep maintaining an internalId for compatibility. |
| 59 | * This is a static-offset that maps CrateDB (externalId) to internalId. |
| 60 | * |
| 61 | * E.g. |
| 62 | * |
| 63 | * CrateDB 4.0.0 -> 7.0.0 |
| 64 | * 4.0.1 -> 7.0.1 |
| 65 | * 4.1.3 -> 7.1.3 |
| 66 | * 5.0.3 -> 8.0.3 |
| 67 | * ... |
| 68 | */ |
| 69 | private static final int INTERNAL_OFFSET = 3_00_00_00; |
| 70 | |
| 71 | public static final Version V_4_0_0 = new Version(7_00_00_99, false, Lucene.luceneVersion(8, 0, 0)); |
| 72 | public static final Version V_4_0_9 = new Version(7_00_09_99, false, Lucene.luceneVersion(8, 0, 0)); |
| 73 | |
| 74 | public static final Version V_4_1_0 = new Version(7_01_00_99, false, Lucene.luceneVersion(8, 4, 0)); |
| 75 | public static final Version V_4_1_8 = new Version(7_01_08_99, false, Lucene.luceneVersion(8, 4, 0)); |
| 76 | |
| 77 | public static final Version V_4_2_0 = new Version(7_02_00_99, false, Lucene.luceneVersion(8, 5, 1)); |
| 78 | public static final Version V_4_2_1 = new Version(7_02_01_99, false, Lucene.luceneVersion(8, 5, 1)); |
| 79 | public static final Version V_4_2_4 = new Version(7_02_04_99, false, Lucene.luceneVersion(8, 5, 1)); |
| 80 | |
| 81 | public static final Version V_4_3_0 = new Version(7_03_00_99, false, Lucene.luceneVersion(8, 6, 2)); |
| 82 | public static final Version V_4_3_4 = new Version(7_03_04_99, false, Lucene.luceneVersion(8, 6, 2)); |
| 83 | |
| 84 | public static final Version V_4_4_0 = new Version(7_04_00_99, false, Lucene.luceneVersion(8, 7, 0)); |
| 85 | public static final Version V_4_4_1 = new Version(7_04_01_99, false, Lucene.luceneVersion(8, 7, 0)); |
| 86 | public static final Version V_4_4_2 = new Version(7_04_02_99, false, Lucene.luceneVersion(8, 7, 0)); |
| 87 | |
| 88 | public static final Version V_4_5_0 = new Version(7_05_00_99, false, Lucene.luceneVersion(8, 7, 0)); |
| 89 | public static final Version V_4_5_1 = new Version(7_05_01_99, false, Lucene.luceneVersion(8, 7, 0)); |
| 90 | public static final Version V_4_5_3 = new Version(7_05_03_99, false, Lucene.luceneVersion(8, 7, 0)); |
| 91 | |
| 92 | public static final Version V_4_6_0 = new Version(7_06_00_99, false, Lucene.luceneVersion(8, 8, 2)); |
| 93 | |
| 94 | public static final Version V_4_7_0 = new Version(7_07_00_99, false, Lucene.luceneVersion(8, 11, 0)); |
| 95 | public static final Version V_4_7_1 = new Version(7_07_01_99, false, Lucene.luceneVersion(8, 11, 0)); |
| 96 | public static final Version V_4_7_2 = new Version(7_07_02_99, false, Lucene.luceneVersion(8, 11, 0)); |
| 97 | |
| 98 | public static final Version V_4_8_0 = new Version(7_08_00_99, false, Lucene.luceneVersion(8, 11, 0)); |
| 99 | public static final Version V_4_8_4 = new Version(7_08_04_99, false, Lucene.luceneVersion(8, 11, 0)); |
| 100 |
nothing calls this directly
no test coverage detected