Class Bug
- java.lang.Object
-
- org.apache.calcite.util.Bug
-
public abstract class Bug extends java.lang.Object
Holder for a list of constants describing which bugs which have not been fixed.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 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.
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Bug()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> T
remark(T remark)
Use this method to flag temporary code.static boolean
upgrade(java.lang.String remark)
Use this method to flag code that should be re-visited after upgrading a component.
-
-
-
Field Detail
-
DT239_FIXED
public static final boolean DT239_FIXED
- See Also:
- Constant Field Values
-
DT785_FIXED
public static final boolean DT785_FIXED
- See Also:
- Constant Field Values
-
FNL3_FIXED
public static final boolean FNL3_FIXED
Whether issue Fnl-3 is fixed.- See Also:
- Constant Field Values
-
FRG327_FIXED
public static final boolean FRG327_FIXED
- See Also:
- Constant Field Values
-
FRG377_FIXED
public static final boolean FRG377_FIXED
- See Also:
- Constant Field Values
-
DT1684_FIXED
public static final boolean DT1684_FIXED
Whether dtbug1684 "CURRENT_DATE not implemented in fennel calc" is fixed.- See Also:
- Constant Field Values
-
FNL25_FIXED
public static final boolean FNL25_FIXED
Whether issue FNL-25 is fixed. (also filed as dtbug 153)- See Also:
- Constant Field Values
-
FRG73_FIXED
public static final boolean FRG73_FIXED
Whether issue FRG-73: miscellaneous bugs with nested comments is fixed.- See Also:
- Constant Field Values
-
FRG78_FIXED
public static final boolean FRG78_FIXED
- See Also:
- Constant Field Values
-
FRG189_FIXED
public static final boolean FRG189_FIXED
Whether issue FRG-189: FarragoAutoVmOperatorTest.testSelect fails is fixed.- See Also:
- Constant Field Values
-
FRG254_FIXED
public static final boolean FRG254_FIXED
Whether issue FRG-254: environment-dependent failure for SqlOperatorTest.testPrefixPlusOperator is fixed.- See Also:
- Constant Field Values
-
FRG282_FIXED
public static final boolean FRG282_FIXED
Whether issue FRG-282: Support precision in TIME and TIMESTAMP data types is fixed.- See Also:
- Constant Field Values
-
FRG296_FIXED
public static final boolean FRG296_FIXED
Whether issue FRG-296: SUBSTRING(string FROM regexp FOR regexp) is fixed.- See Also:
- Constant Field Values
-
FRG375_FIXED
public static final boolean FRG375_FIXED
Whether issue FRG-375: The expression VALUES ('cd' SIMILAR TO '[a-e^c]d') returns TRUE. It should return FALSE. is fixed.- See Also:
- Constant Field Values
-
CALCITE_194_FIXED
public static final boolean CALCITE_194_FIXED
Whether [CALCITE-194] Array items in MongoDB adapter is fixed.- See Also:
- Constant Field Values
-
CALCITE_461_FIXED
public static final boolean CALCITE_461_FIXED
Whether the remaining issues raised in [CALCITE-461] Convert more planner rules to handle grouping sets are fixed.Now that [CALCITE-461] is fixed, the tracking bug is [CALCITE-574] Remove org.apache.calcite.util.Bug.CALCITE_461_FIXED.
- See Also:
- Constant Field Values
-
CALCITE_673_FIXED
public static final boolean CALCITE_673_FIXED
Whether [CALCITE-673] Timeout executing joins against MySQL is fixed.- See Also:
- Constant Field Values
-
CALCITE_1048_FIXED
public static final boolean CALCITE_1048_FIXED
Whether [CALCITE-1048] Make metadata more robust is fixed.- See Also:
- Constant Field Values
-
CALCITE_1045_FIXED
public static final boolean CALCITE_1045_FIXED
Whether [CALCITE-1045] Decorrelate sub-queries in Project and Join is fixed.- See Also:
- Constant Field Values
-
CALCITE_2400_FIXED
public static final boolean CALCITE_2400_FIXED
Whether [CALCITE-2400] Allow standards-compliant column ordering for NATURAL JOIN and JOIN USING when dynamic tables are used is fixed.- See Also:
- Constant Field Values
-
CALCITE_2401_FIXED
public static final boolean CALCITE_2401_FIXED
- See Also:
- Constant Field Values
-
CALCITE_2539_FIXED
public static final boolean CALCITE_2539_FIXED
- See Also:
- Constant Field Values
-
TODO_FIXED
public static final boolean TODO_FIXED
Use this to flag temporary code.- See Also:
- Constant Field Values
-
-
Method Detail
-
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
public static boolean upgrade(java.lang.String remark)
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".
-
-