mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 12:56:14 +01:00 
			
		
		
		
	modified: storage/connect/noconst.c Fix a few bugs in json udf's. modified: storage/connect/jsonudf.cpp
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/***********************************************************************/
 | 
						|
/*  (C) Copyright to the author Olivier BERTRAND          2015         */
 | 
						|
/***********************************************************************/
 | 
						|
#include <my_global.h>
 | 
						|
#include <mysqld.h>
 | 
						|
#include <string.h>
 | 
						|
 | 
						|
#if defined(__WIN__)
 | 
						|
#define DllExport  __declspec( dllexport )
 | 
						|
#else   // !__WIN__
 | 
						|
#define DllExport
 | 
						|
#endif  // !__WIN__
 | 
						|
 | 
						|
extern "C" {
 | 
						|
	DllExport my_bool noconst_init(UDF_INIT*, UDF_ARGS*, char*);
 | 
						|
	DllExport char *noconst(UDF_INIT*, UDF_ARGS*, char*, unsigned long*, char*, char*);
 | 
						|
} // extern "C"
 | 
						|
 | 
						|
/***********************************************************************/
 | 
						|
/*  Returns its argument saying it is not a constant.                  */
 | 
						|
/***********************************************************************/
 | 
						|
my_bool noconst_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
 | 
						|
{
 | 
						|
  if (args->arg_count != 1 || args->arg_type[0] != STRING_RESULT) {
 | 
						|
    strcpy(message, "noconst unique argument must be a string");
 | 
						|
    return true;
 | 
						|
  } // endif arg
 | 
						|
 | 
						|
  initid->const_item = false;   // The trick!
 | 
						|
  return false;
 | 
						|
} // end of noconst_init
 | 
						|
 | 
						|
char *noconst(UDF_INIT *initid, UDF_ARGS *args, char *result,
 | 
						|
  unsigned long *res_length, char *, char *)
 | 
						|
{
 | 
						|
  return args->args[0];
 | 
						|
} // end of noconst
 | 
						|
 |