| 63 | }; |
| 64 | |
| 65 | int 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, |
no test coverage detected