Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2012, 19:04
LucasBols
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Pregunta Problema con UDFs long long

Hola,

Estoy creando esta udf con VS2008, MySQL 5.5.27, cuando la ejecuto me muestra una serie de caracteres sin sentido, y el return de levenshtein es fijo

¿qué estoy haciendo mal?

Gracias

Código C:
Ver original
  1. DLLEXP
  2.     my_bool levenshtein_init(
  3.                 UDF_INIT *initid,
  4.                 UDF_ARGS *args,
  5.                 char *message
  6.                 );
  7.  
  8. DLLEXP
  9.     double levenshtein(
  10.             UDF_INIT *initid,
  11.             UDF_ARGS *args,
  12.             char *is_null,
  13.             char *error
  14.             );
  15.  
  16. DLLEXP
  17.     void levenshtein_deinit(
  18.             UDF_INIT *initid
  19.             );
  20.  
  21. my_bool levenshtein_init(
  22.             UDF_INIT *initid,
  23.             UDF_ARGS *args,
  24.             char *message
  25.             )
  26. {
  27.     if ( args->arg_count != 2 || args->arg_type[0] != STRING_RESULT || args->arg_type[1] != STRING_RESULT )
  28.     {
  29.         strcpy(message,"Argumentos equivocados;  levenshtein( VARCHAR(64) palabra1, VARCHAR(64) palabra2 )");
  30.         return 1;
  31.     }
  32.     initid->maybe_null=1;
  33.     initid->decimals=0;
  34.     initid->max_length=MAX_LONG_RES_LEVENSHTEIN;
  35.     return 0;
  36. }
  37.  
  38. double levenshtein(
  39.         UDF_INIT *initid,
  40.         UDF_ARGS *args,
  41.         char *is_null,
  42.         char *error
  43.         )
  44. {
  45.     *is_null = 0;
  46.     *error   = 0;
  47.     return 10;
  48. }
  49.  
  50. void levenshtein_deinit(
  51.             UDF_INIT *initid
  52.             )
  53. {
  54. }

Última edición por gnzsoloyo; 08/10/2012 a las 19:59 Razón: Sobremarcado