99
99
case INTERVAL_YEAR_MONTH: // Allow YEAR-MONTH YYYYYMM
100
if (getIntervalInfo(str,length,cs,2,array,0))
100
if (getIntervalFromString(str,length,cs,NUM_YEAR_MONTH_STRING_ELEMENTS,array,false))
102
102
year= (ulong) array[0];
103
103
month= (ulong) array[1];
105
105
case INTERVAL_DAY_HOUR:
106
if (getIntervalInfo(str,length,cs,2,array,0))
106
if (getIntervalFromString(str,length,cs,NUM_DAY_HOUR_STRING_ELEMENTS,array,false))
108
108
day= (ulong) array[0];
109
109
hour= (ulong) array[1];
111
111
case INTERVAL_DAY_MICROSECOND:
112
if (getIntervalInfo(str,length,cs,5,array,1))
112
if (getIntervalFromString(str,length,cs,NUM_DAY_MICROSECOND_STRING_ELEMENTS,array,true))
114
114
day= (ulong) array[0];
115
115
hour= (ulong) array[1];
118
118
second_part= array[4];
120
120
case INTERVAL_DAY_MINUTE:
121
if (getIntervalInfo(str,length,cs,3,array,0))
121
if (getIntervalFromString(str,length,cs,NUM_DAY_MINUTE_STRING_ELEMENTS,array,false))
123
123
day= (ulong) array[0];
124
124
hour= (ulong) array[1];
125
125
minute= array[2];
127
127
case INTERVAL_DAY_SECOND:
128
if (getIntervalInfo(str,length,cs,4,array,0))
128
if (getIntervalFromString(str,length,cs,NUM_DAY_SECOND_STRING_ELEMENTS,array,false))
130
130
day= (ulong) array[0];
131
131
hour= (ulong) array[1];
133
133
second= array[3];
135
135
case INTERVAL_HOUR_MICROSECOND:
136
if (getIntervalInfo(str,length,cs,4,array,1))
136
if (getIntervalFromString(str,length,cs,NUM_HOUR_MICROSECOND_STRING_ELEMENTS,array,true))
138
138
hour= (ulong) array[0];
139
139
minute= array[1];
141
141
second_part= array[3];
143
143
case INTERVAL_HOUR_MINUTE:
144
if (getIntervalInfo(str,length,cs,2,array,0))
144
if (getIntervalFromString(str,length,cs,NUM_HOUR_MINUTE_STRING_ELEMENTS,array,false))
146
146
hour= (ulong) array[0];
147
147
minute= array[1];
149
149
case INTERVAL_HOUR_SECOND:
150
if (getIntervalInfo(str,length,cs,3,array,0))
150
if (getIntervalFromString(str,length,cs,NUM_HOUR_SECOND_STRING_ELEMENTS,array,false))
152
152
hour= (ulong) array[0];
153
153
minute= array[1];
154
154
second= array[2];
156
156
case INTERVAL_MINUTE_MICROSECOND:
157
if (getIntervalInfo(str,length,cs,3,array,1))
157
if (getIntervalFromString(str,length,cs,NUM_MINUTE_MICROSECOND_STRING_ELEMENTS,array,true))
159
159
minute= array[0];
160
160
second= array[1];
161
161
second_part= array[2];
163
163
case INTERVAL_MINUTE_SECOND:
164
if (getIntervalInfo(str,length,cs,2,array,0))
164
if (getIntervalFromString(str,length,cs,NUM_MINUTE_SECOND_STRING_ELEMENTS,array,false))
166
166
minute= array[0];
167
167
second= array[1];
169
169
case INTERVAL_SECOND_MICROSECOND:
170
if (getIntervalInfo(str,length,cs,2,array,1))
170
if (getIntervalFromString(str,length,cs,NUM_SECOND_MICROSECOND_STRING_ELEMENTS,array,true))
172
172
second= array[0];
173
173
second_part= array[1];
289
bool drizzled::TemporalInterval::getIntervalInfo(const char *str,uint32_t length, const CHARSET_INFO * const cs,
289
bool drizzled::TemporalInterval::getIntervalFromString(const char *str,uint32_t length, const CHARSET_INFO * const cs,
290
290
uint32_t count, uint64_t *values,
291
291
bool transform_msec)