Class Bug
You can use these constants to control the flow of your code. For example, suppose that bug CALCITE-123 causes the "INSERT" statement to return an incorrect row-count, and you want to disable unit tests. You might use the constant in your code as follows:
Statement stmt = connection.createStatement(); int rowCount = stmt.execute("INSERT INTO FemaleEmps\n" + "SELECT * FROM Emps WHERE gender = 'F'"); if (Bug.CALCITE_123_FIXED) { assertEquals(rowCount, 5); }
The usage of the constant is a convenient way to identify the impact of the bug. When someone fixes the bug, they will remove the constant and all usages of it. Also, the constant helps track the propagation of the fix: as the fix is integrated into other branches, the constant will be removed from those branches.
This class depends on no other classes.
(In the past, a dependency on Util
caused class-loading cycles.)
-
Field Summary
Modifier and TypeFieldDescriptionstatic final boolean
Whether [CALCITE-1045] Decorrelate sub-queries in Project and Join is fixed.static final boolean
Whether [CALCITE-1048] Make metadata more robust is fixed.static final boolean
Whether [CALCITE-194] Array items in MongoDB adapter is fixed.static final boolean
static final boolean
Whether [CALCITE-2401] Improve RelMdPredicates performance is fixed.static final boolean
Whether [CALCITE-2869] JSON data type support is fixed.static final boolean
Whether [CALCITE-3243] Incomplete validation of operands in JSON functions is fixed.static final boolean
static final boolean
static final boolean
static final boolean
static final boolean
Whether [CALCITE-5422] MILLISECOND and MICROSECOND units in INTERVAL literal is fixed.static final boolean
Whether [CALCITE-6092] Invalid test cases in CAST String to Time is fixed.static final boolean
static final boolean
Whether [CALCITE-6293] Support OR condition in Arrow adapter is fixed.static final boolean
Whether [CALCITE-6294] Support IN filter in Arrow adapter is fixed.static final boolean
static final boolean
static final boolean
static final boolean
Whether [CALCITE-673] Timeout executing joins against MySQL is fixed.static final boolean
Whether dtbug1684 "CURRENT_DATE not implemented in fennel calc" is fixed.static final boolean
static final boolean
static final boolean
Whether issue FNL-25 is fixed.static final boolean
Whether issue FRG-189: FarragoAutoVmOperatorTest.testSelect fails is fixed.static final boolean
static final boolean
Whether issue FRG-296: SUBSTRING(string FROM regexp FOR regexp) is fixed.static final boolean
static final boolean
static final boolean
Whether issue FRG-73: miscellaneous bugs with nested comments is fixed.static final boolean
static final boolean
Use this to flag temporary code. -
Constructor Summary
-
Method Summary
-
Field Details
-
DT239_FIXED
public static final boolean DT239_FIXED- See Also:
-
DT785_FIXED
public static final boolean DT785_FIXED- See Also:
-
FRG377_FIXED
public static final boolean FRG377_FIXED- See Also:
-
DT1684_FIXED
public static final boolean DT1684_FIXEDWhether dtbug1684 "CURRENT_DATE not implemented in fennel calc" is fixed.- See Also:
-
FNL25_FIXED
public static final boolean FNL25_FIXEDWhether issue FNL-25 is fixed. (also filed as dtbug 153)- See Also:
-
FRG73_FIXED
public static final boolean FRG73_FIXEDWhether issue FRG-73: miscellaneous bugs with nested comments is fixed.- See Also:
-
FRG78_FIXED
public static final boolean FRG78_FIXED- See Also:
-
FRG189_FIXED
public static final boolean FRG189_FIXEDWhether issue FRG-189: FarragoAutoVmOperatorTest.testSelect fails is fixed.- See Also:
-
FRG254_FIXED
public static final boolean FRG254_FIXEDWhether issue FRG-254: environment-dependent failure for SqlOperatorTest.testPrefixPlusOperator is fixed.- See Also:
-
FRG296_FIXED
public static final boolean FRG296_FIXEDWhether issue FRG-296: SUBSTRING(string FROM regexp FOR regexp) is fixed.- See Also:
-
FRG375_FIXED
public static final boolean FRG375_FIXEDWhether issue FRG-375: The expression VALUES ('cd' SIMILAR TO '[a-e^c]d') returns TRUE. It should return FALSE. is fixed.- See Also:
-
CALCITE_194_FIXED
public static final boolean CALCITE_194_FIXEDWhether [CALCITE-194] Array items in MongoDB adapter is fixed.- See Also:
-
CALCITE_673_FIXED
public static final boolean CALCITE_673_FIXEDWhether [CALCITE-673] Timeout executing joins against MySQL is fixed.- See Also:
-
CALCITE_1048_FIXED
public static final boolean CALCITE_1048_FIXEDWhether [CALCITE-1048] Make metadata more robust is fixed.- See Also:
-
CALCITE_1045_FIXED
public static final boolean CALCITE_1045_FIXEDWhether [CALCITE-1045] Decorrelate sub-queries in Project and Join is fixed.- See Also:
-
CALCITE_2400_FIXED
public static final boolean CALCITE_2400_FIXEDWhether [CALCITE-2400] Allow standards-compliant column ordering for NATURAL JOIN and JOIN USING when dynamic tables are used is fixed.- See Also:
-
CALCITE_2401_FIXED
public static final boolean CALCITE_2401_FIXEDWhether [CALCITE-2401] Improve RelMdPredicates performance is fixed.- See Also:
-
CALCITE_2869_FIXED
public static final boolean CALCITE_2869_FIXEDWhether [CALCITE-2869] JSON data type support is fixed.- See Also:
-
CALCITE_3243_FIXED
public static final boolean CALCITE_3243_FIXEDWhether [CALCITE-3243] Incomplete validation of operands in JSON functions is fixed.- See Also:
-
CALCITE_4204_FIXED
public static final boolean CALCITE_4204_FIXEDWhether [CALCITE-4204] Intermittent precision in Druid results when using aggregation functions over columns of type DOUBLE is fixed.- See Also:
-
CALCITE_4205_FIXED
public static final boolean CALCITE_4205_FIXED- See Also:
-
CALCITE_4213_FIXED
public static final boolean CALCITE_4213_FIXEDWhether [CALCITE-4213] Druid plans with small intervals should be chosen over full interval scan plus filter is fixed.- See Also:
-
CALCITE_4645_FIXED
public static final boolean CALCITE_4645_FIXEDWhether [CALCITE-4645] In Elasticsearch adapter, a range predicate should be translated to a range query is fixed.- See Also:
-
CALCITE_5422_FIXED
public static final boolean CALCITE_5422_FIXEDWhether [CALCITE-5422] MILLISECOND and MICROSECOND units in INTERVAL literal is fixed.- See Also:
-
CALCITE_6092_FIXED
public static final boolean CALCITE_6092_FIXEDWhether [CALCITE-6092] Invalid test cases in CAST String to Time is fixed. Fix to be available with Avatica 1.24.0 [CALCITE-6053]- See Also:
-
CALCITE_6270_FIXED
public static final boolean CALCITE_6270_FIXEDWhether [CALCITE-6270] Support FORMAT in CAST from Numeric and BYTES to String (Enabled in BigQuery) is fixed.- See Also:
-
CALCITE_6367_FIXED
public static final boolean CALCITE_6367_FIXEDWhether [CALCITE-6367] Add timezone support for FORMAT clause in CAST (enabled in BigQuery) is fixed.- See Also:
-
CALCITE_6391_FIXED
public static final boolean CALCITE_6391_FIXEDWhether [CALCITE-6391] Apply mapping to RelCompositeTrait does not apply it to wrapped traits is fixed.- See Also:
-
CALCITE_6293_FIXED
public static final boolean CALCITE_6293_FIXEDWhether [CALCITE-6293] Support OR condition in Arrow adapter is fixed.- See Also:
-
CALCITE_6294_FIXED
public static final boolean CALCITE_6294_FIXEDWhether [CALCITE-6294] Support IN filter in Arrow adapter is fixed.- See Also:
-
CALCITE_6328_FIXED
public static final boolean CALCITE_6328_FIXEDWhether [CALCITE-6328] The BigQuery functions SAFE_* do not match the BigQuery specification is fixed.- See Also:
-
TODO_FIXED
public static final boolean TODO_FIXEDUse this to flag temporary code.- See Also:
-
-
Constructor Details
-
Bug
public Bug()
-
-
Method Details
-
remark
public static <T> T remark(T remark) Use this method to flag temporary code.Example #1:
if (Bug.remark("baz fixed") == null) { baz(); }
Example #2:
/** @see Bug#remark Remove before checking in */ void uselessMethod() {}
-
upgrade
Use this method to flag code that should be re-visited after upgrading a component.If the intended change is that a class or member be removed, flag instead using a
Deprecated
annotation followed by a comment such as "to be removed before 2.0".
-