@ -7,7 +7,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / backend / tsearch / to_tsany . c , v 1.9 2008 / 03 / 05 15 : 50 : 37 momjian Exp $
* $ PostgreSQL : pgsql / src / backend / tsearch / to_tsany . c , v 1.10 2008 / 03 / 07 14 : 30 : 20 teodor Exp $
*
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
*/
@ -350,6 +350,18 @@ to_tsquery_byid(PG_FUNCTION_ARGS)
PG_RETURN_POINTER ( query ) ;
PG_RETURN_POINTER ( query ) ;
}
}
memcpy ( ( void * ) GETQUERY ( query ) , ( void * ) res , len * sizeof ( QueryItem ) ) ;
memcpy ( ( void * ) GETQUERY ( query ) , ( void * ) res , len * sizeof ( QueryItem ) ) ;
if ( len ! = query - > size ) {
char * oldoperand = GETOPERAND ( query ) ;
int4 lenoperand = VARSIZE ( query ) - ( oldoperand - ( char * ) query ) ;
Assert ( len < query - > size ) ;
query - > size = len ;
memcpy ( ( void * ) GETOPERAND ( query ) , oldoperand , VARSIZE ( query ) - ( oldoperand - ( char * ) query ) ) ;
SET_VARSIZE ( query , COMPUTESIZE ( len , lenoperand ) ) ;
}
pfree ( res ) ;
pfree ( res ) ;
PG_RETURN_TSQUERY ( query ) ;
PG_RETURN_TSQUERY ( query ) ;
}
}
@ -388,6 +400,18 @@ plainto_tsquery_byid(PG_FUNCTION_ARGS)
PG_RETURN_POINTER ( query ) ;
PG_RETURN_POINTER ( query ) ;
}
}
memcpy ( ( void * ) GETQUERY ( query ) , ( void * ) res , len * sizeof ( QueryItem ) ) ;
memcpy ( ( void * ) GETQUERY ( query ) , ( void * ) res , len * sizeof ( QueryItem ) ) ;
if ( len ! = query - > size ) {
char * oldoperand = GETOPERAND ( query ) ;
int4 lenoperand = VARSIZE ( query ) - ( oldoperand - ( char * ) query ) ;
Assert ( len < query - > size ) ;
query - > size = len ;
memcpy ( ( void * ) GETOPERAND ( query ) , oldoperand , lenoperand ) ;
SET_VARSIZE ( query , COMPUTESIZE ( len , lenoperand ) ) ;
}
pfree ( res ) ;
pfree ( res ) ;
PG_RETURN_POINTER ( query ) ;
PG_RETURN_POINTER ( query ) ;
}
}