pingcap/tidb
Voir sur GitHubRefactor currentTimeFunctionClass and utcTimeFunctionClass
Open
#27 760 ouverte le 2 sept. 2021
help wantedtype/enhancement
Métriques du dépôt
- Stars
- (40 090 stars)
- Métriques de merge PR
- (Merge moyen 14j 4h) (346 PRs mergées en 30 j)
Description
Enhancement
currentTimeFunctionClass is very simlier to currentTimeFunctionClass. We can see from the MySQL's code:
class Item_func_curtime_local final : public Item_func_curtime {
protected:
Time_zone *time_zone() override;
public:
Item_func_curtime_local(const POS &pos, uint8 dec_arg)
: Item_func_curtime(pos, dec_arg) {}
const char *func_name() const override { return "curtime"; }
};
class Item_func_curtime_utc final : public Item_func_curtime {
protected:
Time_zone *time_zone() override;
public:
Item_func_curtime_utc(const POS &pos, uint8 dec_arg)
: Item_func_curtime(pos, dec_arg) {}
const char *func_name() const override { return "utc_time"; }
};
This means that we can reuse some codes.
After investigation, I found that utcTimeFunctionClass's flen is more accurate than currentTimeFunctionClass. We can fix it by using utcTimeFunctionClass's logic.