init
This commit is contained in:
67
db_include/snowball/header.h
Executable file
67
db_include/snowball/header.h
Executable file
@@ -0,0 +1,67 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* header.h
|
||||
* Replacement header file for Snowball stemmer modules
|
||||
*
|
||||
* The Snowball stemmer modules do #include "header.h", and think they
|
||||
* are including snowball/libstemmer/header.h. We adjust the CPPFLAGS
|
||||
* so that this file is found instead, and thereby we can modify the
|
||||
* headers they see. The main point here is to ensure that pg_config.h
|
||||
* is included before any system headers such as <stdio.h>; without that,
|
||||
* we have portability issues on some platforms due to variation in
|
||||
* largefile options across different modules in the backend.
|
||||
*
|
||||
* NOTE: this file should not be included into any non-snowball sources!
|
||||
*
|
||||
* Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
|
||||
*
|
||||
* src/include/snowball/header.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef SNOWBALL_HEADR_H
|
||||
#define SNOWBALL_HEADR_H
|
||||
|
||||
/*
|
||||
* It's against Postgres coding conventions to include postgres.h in a
|
||||
* header file, but we allow the violation here because the alternative is
|
||||
* to modify the machine-generated .c files provided by the Snowball project.
|
||||
*/
|
||||
#include "postgres.h"
|
||||
|
||||
/* Some platforms define MAXINT and/or MININT, causing conflicts */
|
||||
#ifdef MAXINT
|
||||
#undef MAXINT
|
||||
#endif
|
||||
#ifdef MININT
|
||||
#undef MININT
|
||||
#endif
|
||||
|
||||
/* Now we can include the original Snowball header.h */
|
||||
#include "snowball/libstemmer/header.h" /* pgrminclude ignore */
|
||||
|
||||
/*
|
||||
* Redefine standard memory allocation interface to pgsql's one.
|
||||
* This allows us to control where the Snowball code allocates stuff.
|
||||
*/
|
||||
#ifdef malloc
|
||||
#undef malloc
|
||||
#endif
|
||||
#define malloc(a) palloc(a)
|
||||
|
||||
#ifdef calloc
|
||||
#undef calloc
|
||||
#endif
|
||||
#define calloc(a,b) palloc0((a) * (b))
|
||||
|
||||
#ifdef realloc
|
||||
#undef realloc
|
||||
#endif
|
||||
#define realloc(a,b) repalloc(a,b)
|
||||
|
||||
#ifdef free
|
||||
#undef free
|
||||
#endif
|
||||
#define free(a) pfree(a)
|
||||
|
||||
#endif /* SNOWBALL_HEADR_H */
|
||||
Reference in New Issue
Block a user