@@ -2592,7 +2592,7 @@ compareDatetime(Datum val1, Oid typid1, Datum val2, Oid typid2,
25922592break ;
25932593
25942594case TIMESTAMPOID :
2595- val1 = date2timestamp_opt_error (val1 ,have_error );
2595+ val1 = TimestampGetDatum ( date2timestamp_opt_error (DatumGetDateADT ( val1 ) ,have_error ) );
25962596if (have_error && * have_error )
25972597return 0 ;
25982598cmpfunc = timestamp_cmp ;
@@ -2606,7 +2606,7 @@ compareDatetime(Datum val1, Oid typid1, Datum val2, Oid typid2,
26062606errmsg ("cannot convert value from %s to %s without timezone usage" ,
26072607"date" ,"timestamptz" ),
26082608errhint ("use *_tz() function for timezone support" )));
2609- val1 = date2timestamptz_opt_error (val1 ,have_error );
2609+ val1 = TimestampTzGetDatum ( date2timestamptz_opt_error (DatumGetDateADT ( val1 ) ,have_error ) );
26102610if (have_error && * have_error )
26112611return 0 ;
26122612cmpfunc = timestamp_cmp ;
@@ -2680,7 +2680,7 @@ compareDatetime(Datum val1, Oid typid1, Datum val2, Oid typid2,
26802680switch (typid2 )
26812681{
26822682case DATEOID :
2683- val2 = date2timestamp_opt_error (val2 ,have_error );
2683+ val2 = TimestampGetDatum ( date2timestamp_opt_error (DatumGetDateADT ( val2 ) ,have_error ) );
26842684if (have_error && * have_error )
26852685return 0 ;
26862686cmpfunc = timestamp_cmp ;
@@ -2699,7 +2699,7 @@ compareDatetime(Datum val1, Oid typid1, Datum val2, Oid typid2,
26992699errmsg ("cannot convert value from %s to %s without timezone usage" ,
27002700"timestamp" ,"timestamptz" ),
27012701errhint ("use *_tz() function for timezone support" )));
2702- val1 = timestamp2timestamptz_opt_error (val1 ,have_error );
2702+ val1 = TimestampTzGetDatum ( timestamp2timestamptz_opt_error (DatumGetTimestamp ( val1 ) ,have_error ) );
27032703if (have_error && * have_error )
27042704return 0 ;
27052705cmpfunc = timestamp_cmp ;
@@ -2723,7 +2723,7 @@ compareDatetime(Datum val1, Oid typid1, Datum val2, Oid typid2,
27232723errmsg ("cannot convert value from %s to %s without timezone usage" ,
27242724"date" ,"timestamptz" ),
27252725errhint ("use *_tz() function for timezone support" )));
2726- val2 = date2timestamptz_opt_error (val2 ,have_error );
2726+ val2 = TimestampTzGetDatum ( date2timestamptz_opt_error (DatumGetDateADT ( val2 ) ,have_error ) );
27272727if (have_error && * have_error )
27282728return 0 ;
27292729cmpfunc = timestamp_cmp ;
@@ -2737,7 +2737,7 @@ compareDatetime(Datum val1, Oid typid1, Datum val2, Oid typid2,
27372737errmsg ("cannot convert value from %s to %s without timezone usage" ,
27382738"timestamp" ,"timestamptz" ),
27392739errhint ("use *_tz() function for timezone support" )));
2740- val2 = timestamp2timestamptz_opt_error (val2 ,have_error );
2740+ val2 = TimestampTzGetDatum ( timestamp2timestamptz_opt_error (DatumGetTimestamp ( val2 ) ,have_error ) );
27412741if (have_error && * have_error )
27422742return 0 ;
27432743cmpfunc = timestamp_cmp ;