287{
288 switch (_field.dataType()) {
290 if (_field.dataSizeMax() <= sizeof(int32_t)) {
291 int32_t value = 0;
292 _field.getValue(value);
293 _param.setValue(value);
294 }
295 else {
296 int64_t value = 0;
297 _field.getValue(value);
298 _param.setValue(value);
299 }
300 break;
301 }
303 if (_field.dataSizeMax() <= sizeof(uint32_t)) {
304 uint32_t value = 0;
305 _field.getValue(value);
306 _param.setValue(value);
307 }
308 else {
309 uint64_t value = 0;
310 _field.getValue(value);
311 _param.setValue(value);
312 }
313 break;
314 }
316 if (_field.dataSizeMax() == sizeof(float)) {
317 float value = 0.;
318 _field.getValue(value);
319 _param.setValue(value);
320 }
321 else {
322 double value = 0.;
323 _field.getValue(value);
324 _param.setValue(value);
325 }
326 break;
327 }
329 if (_field.precision() > 0 && _field.scale() == 0) {
330
331
332
333 if (_field.precision() <=
__args.i4precision()) {
334 int32_t value = 0;
335 _field.getValue(value);
336 _param.setValue(value);
337 break;
338 }
339 else if (_field.precision() <=
__args.i8precision()) {
340 int64_t value = 0;
341 _field.getValue(value);
342 _param.setValue(value);
343 break;
344 }
345 else {
346
347 }
348 }
349 ByteString value;
352 break;
353 }
355 SQL::Date value;
356 _field.getValue(value);
357 _param.setData(&value, sizeof(value),
359 break;
360 }
362 SQL::Time value;
363 _field.getValue(value);
364 _param.setData(&value, sizeof(value),
366 break;
367 }
370 SQL::TimeStamp value;
371 _field.getValue(value);
372 _param.setData(&value, sizeof(value),
374 break;
375 }
379 SQL::Interval value;
380 _field.getValue(value);
381 _param.setData(&value, sizeof(value),
383 break;
384 }
388 ByteString value;
391 break;
392 }
396 ByteString value;
399 break;
400 }
401 }
402}