324{
325 switch (_field.dataType()) {
327 if (_field.dataSizeMax() <= sizeof(int32_t)) {
328 int32_t value = 0;
329 _field.getValue(value);
330 _param.setValue(value);
331 }
332 else {
333 int64_t value = 0;
334 _field.getValue(value);
335 _param.setValue(value);
336 }
337 break;
338 }
340 if (_field.dataSizeMax() <= sizeof(uint32_t)) {
341 uint32_t value = 0;
342 _field.getValue(value);
343 _param.setValue(value);
344 }
345 else {
346 uint64_t value = 0;
347 _field.getValue(value);
348 _param.setValue(value);
349 }
350 break;
351 }
353 if (_field.dataSizeMax() == sizeof(float)) {
354 float value = 0.;
355 _field.getValue(value);
356 _param.setValue(value);
357 }
358 else {
359 double value = 0.;
360 _field.getValue(value);
361 _param.setValue(value);
362 }
363 break;
364 }
366 if (_field.precision() > 0 && _field.scale() == 0) {
367
368
369
370 if (_field.precision() <=
__args.i4precision()) {
371 int32_t value = 0;
372 _field.getValue(value);
373 _param.setValue(value);
374 break;
375 }
376 else if (_field.precision() <=
__args.i8precision()) {
377 int64_t value = 0;
378 _field.getValue(value);
379 _param.setValue(value);
380 break;
381 }
382 else {
383
384 }
385 }
386 ByteString value;
389 break;
390 }
392 SQL::Date value;
393 _field.getValue(value);
394 _param.setData(&value, sizeof(value),
396 break;
397 }
400 SQL::Time value;
401 _field.getValue(value);
402 _param.setData(&value, sizeof(value),
404 break;
405 }
408 SQL::TimeStamp value;
409 _field.getValue(value);
410 _param.setData(&value, sizeof(value),
412 break;
413 }
417 SQL::Interval value;
418 _field.getValue(value);
419 _param.setData(&value, sizeof(value),
421 break;
422 }
426 ByteString value;
429 break;
430 }
434 ByteString value;
437 break;
438 }
439 default: {
441 }
442 }
443}