Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 309411a

Browse files
author
Michael Meskes
committed
Applied Zoltan's patch to correctly align interval and timestamp data in ecpg's sqlda.
1 parent 4509033 commit 309411a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/interfaces/ecpg/ecpglib/sqlda.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ sqlda_common_total_size(const PGresult *res, int row, enum COMPAT_MODE compat, l
127127
ecpg_sqlda_align_add_size(offset, sizeof(date), sizeof(date), &offset, &next_offset);
128128
break;
129129
case ECPGt_timestamp:
130-
ecpg_sqlda_align_add_size(offset, sizeof(int), sizeof(timestamp), &offset, &next_offset);
130+
ecpg_sqlda_align_add_size(offset, sizeof(int64), sizeof(timestamp), &offset, &next_offset);
131131
break;
132132
case ECPGt_interval:
133-
ecpg_sqlda_align_add_size(offset, sizeof(int), sizeof(interval), &offset, &next_offset);
133+
ecpg_sqlda_align_add_size(offset, sizeof(int64), sizeof(interval), &offset, &next_offset);
134134
break;
135135
case ECPGt_char:
136136
case ECPGt_unsigned_char:
@@ -359,7 +359,7 @@ ecpg_set_compat_sqlda(int lineno, struct sqlda_compat ** _sqlda, const PGresult
359359
sqlda->sqlvar[i].sqllen = sizeof(date);
360360
break;
361361
case ECPGt_timestamp:
362-
ecpg_sqlda_align_add_size(offset, sizeof(timestamp), sizeof(timestamp), &offset, &next_offset);
362+
ecpg_sqlda_align_add_size(offset, sizeof(int64), sizeof(timestamp), &offset, &next_offset);
363363
sqlda->sqlvar[i].sqldata = (char *) sqlda + offset;
364364
sqlda->sqlvar[i].sqllen = sizeof(timestamp);
365365
break;
@@ -545,7 +545,7 @@ ecpg_set_native_sqlda(int lineno, struct sqlda_struct ** _sqlda, const PGresult
545545
sqlda->sqlvar[i].sqllen = sizeof(date);
546546
break;
547547
case ECPGt_timestamp:
548-
ecpg_sqlda_align_add_size(offset, sizeof(timestamp), sizeof(timestamp), &offset, &next_offset);
548+
ecpg_sqlda_align_add_size(offset, sizeof(int64), sizeof(timestamp), &offset, &next_offset);
549549
sqlda->sqlvar[i].sqldata = (char *) sqlda + offset;
550550
sqlda->sqlvar[i].sqllen = sizeof(timestamp);
551551
break;

0 commit comments

Comments
 (0)