155 case sizeof(int8_t) : {
156 __data.i32 = (int32_t) * (int8_t*)_pv;
157 __bind->buffer_type = MYSQL_TYPE_LONG;
158 __bind->buffer_length =
sizeof(int32_t);
159 __bind->buffer = &__data;
162 case sizeof(int16_t) : {
163 __data.i32 = (int32_t) * (int16_t*)_pv;
164 __bind->buffer_type = MYSQL_TYPE_LONG;
165 __bind->buffer_length =
sizeof(int32_t);
166 __bind->buffer = &__data;
169 case sizeof(int32_t) : {
170 __data.i32 = (int32_t) * (int32_t*)_pv;
171 __bind->buffer_type = MYSQL_TYPE_LONG;
172 __bind->buffer_length =
sizeof(int32_t);
173 __bind->buffer = &__data;
176 case sizeof(int64_t) : {
177 __data.i64 = (int64_t) * (int64_t*)_pv;
178 __bind->buffer_type = MYSQL_TYPE_LONGLONG;
179 __bind->buffer_length =
sizeof(int64_t);
180 __bind->buffer = &__data;
188 __bind->is_unsigned = 0;
193 case sizeof(uint8_t) : {
194 __data.u32 = (uint32_t) * (uint8_t*)_pv;
195 __bind->buffer_type = MYSQL_TYPE_LONG;
196 __bind->buffer_length =
sizeof(uint32_t);
197 __bind->buffer = &__data;
200 case sizeof(uint16_t) : {
201 __data.u32 = (uint32_t) * (uint16_t*)_pv;
202 __bind->buffer_type = MYSQL_TYPE_LONG;
203 __bind->buffer_length =
sizeof(uint32_t);
204 __bind->buffer = &__data;
207 case sizeof(uint32_t) : {
208 __data.u32 = (uint32_t) * (uint32_t*)_pv;
209 __bind->buffer_type = MYSQL_TYPE_LONG;
210 __bind->buffer_length =
sizeof(uint32_t);
211 __bind->buffer = &__data;
214 case sizeof(uint64_t) : {
215 __data.u64 = (uint64_t) * (uint64_t*)_pv;
216 __bind->buffer_type = MYSQL_TYPE_LONGLONG;
217 __bind->buffer_length =
sizeof(uint64_t);
218 __bind->buffer = &__data;
226 __bind->is_unsigned = 1;
231 case sizeof(float) : {
232 __data.f32 = *(
float*)_pv;
233 __bind->buffer_type = MYSQL_TYPE_FLOAT;
234 __bind->buffer_length =
sizeof(float);
235 __bind->buffer = &__data;
238 case sizeof(double) : {
239 __data.f64 = *(
double*)_pv;
240 __bind->buffer_type = MYSQL_TYPE_DOUBLE;
241 __bind->buffer_length =
sizeof(double);
242 __bind->buffer = &__data;
255 memset(&__data.time, 0,
sizeof(MYSQL_TIME));
257 __data.time.month = p->
nMonth;
258 __data.time.day = p->
nDay;
259 __data.time.neg = p->
nYear < 0 ? 1 : 0;
260 __data.time.time_type = MYSQL_TIMESTAMP_DATE;
261 __bind->buffer_type = MYSQL_TYPE_DATE;
262 __bind->buffer_length =
sizeof(MYSQL_TIME);
263 __bind->buffer = &__data;
274 memset(&__data.time, 0,
sizeof(MYSQL_TIME));
275 __data.time.hour = p->
nHour;
276 __data.time.minute = p->
nMin;
277 __data.time.second = p->
nSec;
278 __data.time.second_part = p->
nFrac / 1000;
280 __data.time.time_type = MYSQL_TIMESTAMP_TIME;
281 __bind->buffer_type = MYSQL_TYPE_TIME;
282 __bind->buffer_length =
sizeof(MYSQL_TIME);
283 __bind->buffer = &__data;
299 __data.time.month = p->
nMonth;
300 __data.time.day = p->
nDay;
301 __data.time.hour = p->
nHour;
302 __data.time.minute = p->
nMin;
303 __data.time.second = p->
nSec;
304 __data.time.second_part = p->
nFrac / 1000;
305 __data.time.neg = p->
nYear < 0 ? 1 : 0;
306 __data.time.time_type = MYSQL_TIMESTAMP_DATETIME;
307 __bind->buffer_type = MYSQL_TYPE_DATETIME;
308 __bind->buffer_length =
sizeof(MYSQL_TIME);
309 __bind->buffer = &__data;
322 __data.time.year = 0;
323 __data.time.month = 0;
331 __data.time.time_type = MYSQL_TIMESTAMP_TIME;
332 __bind->buffer_type = MYSQL_TYPE_TIME;
333 __bind->buffer_length =
sizeof(MYSQL_TIME);
334 __bind->buffer = &__data;
348 __bind->buffer_type = MYSQL_TYPE_STRING;
349 __bind->buffer_length = (
unsigned int) _size;
350 __bind->buffer = _pv;
354 if (_size != (
size_t)-1 && _size >
UINT32_MAX) {
358 __bind->buffer_type = MYSQL_TYPE_STRING;
359 __bind->buffer_length = 0;
360 __bind->buffer =
NULL;
372 __bind->is_null_value = 0;
373 Param::__dataType = _assignType;