MCPcopy Create free account
hub / github.com/MariaDB/server / append_interval

Function append_interval

sql/sql_time.cc:65–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63};
64
65int append_interval(String *str, interval_type int_type, const INTERVAL &interval)
66{
67 char buf[64];
68 size_t len;
69 switch (int_type) {
70 case INTERVAL_YEAR:
71 len= my_snprintf(buf,sizeof(buf),"%lu", interval.year);
72 break;
73 case INTERVAL_QUARTER:
74 case INTERVAL_MONTH:
75 len= my_snprintf(buf,sizeof(buf),"%lu", interval.month);
76 int_type=INTERVAL_MONTH;
77 break;
78 case INTERVAL_WEEK:
79 case INTERVAL_DAY:
80 len= my_snprintf(buf,sizeof(buf),"%lu", interval.day);
81 int_type=INTERVAL_DAY;
82 break;
83 case INTERVAL_HOUR:
84 len= my_snprintf(buf,sizeof(buf),"%lu", interval.hour);
85 break;
86 case INTERVAL_MINUTE:
87 len= my_snprintf(buf,sizeof(buf),"%llu", interval.minute);
88 break;
89 case INTERVAL_SECOND:
90 len= my_snprintf(buf,sizeof(buf),"%llu", interval.second);
91 break;
92 case INTERVAL_MICROSECOND:
93 len= my_snprintf(buf,sizeof(buf),"%llu", interval.second_part);
94 break;
95 case INTERVAL_YEAR_MONTH:
96 len= my_snprintf(buf,sizeof(buf),"'%lu-%02lu'",
97 interval.year, interval.month);
98 break;
99 case INTERVAL_DAY_HOUR:
100 len= my_snprintf(buf,sizeof(buf),"'%lu %lu'", interval.day, interval.hour);
101 break;
102 case INTERVAL_DAY_MINUTE:
103 len= my_snprintf(buf,sizeof(buf),"'%lu %lu:%02llu'",
104 interval.day, interval.hour, interval.minute);
105 break;
106 case INTERVAL_DAY_SECOND:
107 len= my_snprintf(buf,sizeof(buf),"'%lu %lu:%02llu:%02llu'",
108 interval.day, interval.hour, interval.minute, interval.second);
109 break;
110 case INTERVAL_HOUR_MINUTE:
111 len= my_snprintf(buf,sizeof(buf),"'%lu:%02llu'", interval.hour, interval.minute);
112 break;
113 case INTERVAL_HOUR_SECOND:
114 len= my_snprintf(buf,sizeof(buf),"'%lu:%02llu:%02llu'",
115 interval.hour, interval.minute, interval.second);
116 break;
117 case INTERVAL_MINUTE_SECOND:
118 len= my_snprintf(buf,sizeof(buf),"'%llu:%02llu'", interval.minute, interval.second);
119 break;
120 case INTERVAL_DAY_MICROSECOND:
121 len= my_snprintf(buf,sizeof(buf),"'%lu %lu:%02llu:%02llu.%06llu'",
122 interval.day, interval.hour, interval.minute,

Callers 1

Calls 2

my_snprintfFunction · 0.85
appendMethod · 0.45

Tested by

no test coverage detected