/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to you under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.eigenbase.util; /** * Holder for a list of constants describing which bugs which have not been * fixed. * * <p>You can use these constants to control the flow of your code. For example, * suppose that bug OPTIQ-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: * * <blockquote> * <pre>Statement stmt = connection.createStatement(); * int rowCount = stmt.execute( * "INSERT INTO FemaleEmps SELECT * FROM Emps WHERE gender = 'F'"); * if (Bug.OPTIQ123_FIXED) { * assertEquals(rowCount, 5); * }</pre> * </blockquote> * * <p>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.</p> * * <p><b>To do</b></p> * * <p>The following is a list of tasks to be completed before committing to * master branch.</p> * * <ul> * </ul> */ public abstract class Bug { //~ Static fields/initializers --------------------------------------------- // ----------------------------------------------------------------------- // Developers should create new fields here, in their own section. This // will make merge conflicts much less likely than if everyone is // appending. public static final boolean DT239_FIXED = false; public static final boolean DT785_FIXED = false; // jhyde /** * Whether <a href="http://issues.eigenbase.org/browse/FNL-3">issue * Fnl-3</a> is fixed. */ public static final boolean FNL3_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-327">issue * FRG-327: AssertionError while translating IN list that contains null</a> * is fixed. */ public static final boolean FRG327_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-377">issue * FRG-377: Regular character set identifiers defined in SQL:2008 spec like * :ALPHA:, * :UPPER:, :LOWER:, ... etc. are not yet implemented in * SIMILAR TO expressions.</a> is fixed. */ public static final boolean FRG377_FIXED = false; /** * Whether dtbug1684 "CURRENT_DATE not implemented in fennel calc" is fixed. */ public static final boolean DT1684_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FNL-25">issue * FNL-25</a> is fixed. (also filed as dtbug 153) */ public static final boolean FNL25_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-73">issue FRG-73: * miscellaneous bugs with nested comments</a> is fixed. */ public static final boolean FRG73_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-78">issue FRG-78: * collation clause should be on expression instead of identifier</a> is * fixed. */ public static final boolean FRG78_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-140">issue * FRG-140: validator does not accept column qualified by schema name</a> is * fixed. */ public static final boolean FRG140_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-187">issue * FRG-187: FarragoAutoVmOperatorTest.testOverlapsOperator fails</a> is * fixed. */ public static final boolean FRG187_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-189">issue * FRG-189: FarragoAutoVmOperatorTest.testSelect fails</a> is fixed. */ public static final boolean FRG189_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-254">issue * FRG-254: environment-dependent failure for * SqlOperatorTest.testPrefixPlusOperator</a> is fixed. */ public static final boolean FRG254_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-282">issue * FRG-282: Support precision in TIME and TIMESTAMP data types</a> is fixed. */ public static final boolean FRG282_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-296">issue * FRG-296: SUBSTRING(string FROM regexp FOR regexp)</a> is fixed. */ public static final boolean FRG296_FIXED = false; /** * Whether <a href="http://issues.eigenbase.org/browse/FRG-375">issue * FRG-375: The expression VALUES ('cd' SIMILAR TO '[a-e^c]d') returns TRUE. * It should return FALSE.</a> is fixed. */ public static final boolean FRG375_FIXED = false; /** * Whether * <a href="https://issues.apache.org/jira/browse/OPTIQ-194">OPTIQ-194</a>, * "Array items in MongoDB adapter" is fixed. */ public static final boolean OPTIQ_194_FIXED = false; /** * Whether * <a href="https://issues.apache.org/jira/browse/OPTIQ-319">OPTIQ-319</a>, * "Array items in MongoDB adapter" is fixed. */ public static final boolean OPTIQ_319_FIXED = false; /** * Use this to flag temporary code. */ public static final boolean TODO_FIXED = false; /** * Use this method to flag temporary code. */ public static boolean remark(String remark) { Util.discard(remark); return false; } /** * Use this method to flag code that should be re-visited after upgrading * a component. */ public static boolean upgrade(String remark) { Util.discard(remark); return false; } } // End Bug.java