Kouhei Sutou
null+****@clear*****
Wed Oct 28 22:12:53 JST 2015
Kouhei Sutou 2015-10-28 22:12:53 +0900 (Wed, 28 Oct 2015) New Revision: cea7a23b2224589206812b1ce80f172adad92bd3 https://github.com/pgroonga/pgroonga/commit/cea7a23b2224589206812b1ce80f172adad92bd3 Message: Fix function name It (also) breaks backward compatibility. Sorry. Modified files: pgroonga.c pgroonga.h pgroonga.sql Modified: pgroonga.c (+74 -74) =================================================================== --- pgroonga.c 2015-10-28 21:58:39 +0900 (752619f) +++ pgroonga.c 2015-10-28 22:12:53 +0900 (4eefe5b) @@ -178,13 +178,13 @@ PG_FUNCTION_INFO_V1(pgroonga_table_name); PG_FUNCTION_INFO_V1(pgroonga_command); PG_FUNCTION_INFO_V1(pgroonga_snippet_html); -PG_FUNCTION_INFO_V1(pgroonga_contain_text); -PG_FUNCTION_INFO_V1(pgroonga_contain_text_array); -PG_FUNCTION_INFO_V1(pgroonga_contain_varchar); -PG_FUNCTION_INFO_V1(pgroonga_contain_varchar_array); -PG_FUNCTION_INFO_V1(pgroonga_match_text); -PG_FUNCTION_INFO_V1(pgroonga_match_text_array); -PG_FUNCTION_INFO_V1(pgroonga_match_varchar); +PG_FUNCTION_INFO_V1(pgroonga_match_term_text); +PG_FUNCTION_INFO_V1(pgroonga_match_term_text_array); +PG_FUNCTION_INFO_V1(pgroonga_match_term_varchar); +PG_FUNCTION_INFO_V1(pgroonga_match_term_varchar_array); +PG_FUNCTION_INFO_V1(pgroonga_match_query_text); +PG_FUNCTION_INFO_V1(pgroonga_match_query_text_array); +PG_FUNCTION_INFO_V1(pgroonga_match_query_varchar); PG_FUNCTION_INFO_V1(pgroonga_match_regexp_text); PG_FUNCTION_INFO_V1(pgroonga_match_regexp_varchar); @@ -2165,58 +2165,58 @@ pgroonga_snippet_html(PG_FUNCTION_ARGS) } static grn_bool -pgroonga_contain_raw(const char *text, unsigned int textSize, - const char *subText, unsigned int subTextSize) +pgroonga_match_term_raw(const char *text, unsigned int textSize, + const char *term, unsigned int termSize) { - grn_bool contained; + grn_bool matched; grn_obj targetBuffer; - grn_obj subTextBuffer; + grn_obj termBuffer; GRN_TEXT_INIT(&targetBuffer, GRN_OBJ_DO_SHALLOW_COPY); GRN_TEXT_SET(ctx, &targetBuffer, text, textSize); - GRN_TEXT_INIT(&subTextBuffer, GRN_OBJ_DO_SHALLOW_COPY); - GRN_TEXT_SET(ctx, &subTextBuffer, subText, subTextSize); + GRN_TEXT_INIT(&termBuffer, GRN_OBJ_DO_SHALLOW_COPY); + GRN_TEXT_SET(ctx, &termBuffer, term, termSize); - contained = grn_operator_exec_match(ctx, &targetBuffer, &subTextBuffer); + matched = grn_operator_exec_match(ctx, &targetBuffer, &termBuffer); GRN_OBJ_FIN(ctx, &targetBuffer); - GRN_OBJ_FIN(ctx, &subTextBuffer); + GRN_OBJ_FIN(ctx, &termBuffer); - return contained; + return matched; } /** - * pgroonga.contain(target text, query text) : bool + * pgroonga.match_term(target text, term text) : bool */ Datum -pgroonga_contain_text(PG_FUNCTION_ARGS) +pgroonga_match_term_text(PG_FUNCTION_ARGS) { text *target = PG_GETARG_TEXT_PP(0); - text *query = PG_GETARG_TEXT_PP(1); - grn_bool contained; + text *term = PG_GETARG_TEXT_PP(1); + grn_bool matched; - contained = pgroonga_contain_raw(VARDATA_ANY(target), - VARSIZE_ANY_EXHDR(target), - VARDATA_ANY(query), - VARSIZE_ANY_EXHDR(query)); - PG_RETURN_BOOL(contained); + matched = pgroonga_match_term_raw(VARDATA_ANY(target), + VARSIZE_ANY_EXHDR(target), + VARDATA_ANY(term), + VARSIZE_ANY_EXHDR(term)); + PG_RETURN_BOOL(matched); } /** - * pgroonga.contain(target text[], query text) : bool + * pgroonga.match_term(target text[], term text) : bool */ Datum -pgroonga_contain_text_array(PG_FUNCTION_ARGS) +pgroonga_match_term_text_array(PG_FUNCTION_ARGS) { ArrayType *target = PG_GETARG_ARRAYTYPE_P(0); - text *query = PG_GETARG_TEXT_PP(1); - bool contained = false; + text *term = PG_GETARG_TEXT_PP(1); + bool matched = false; grn_obj elementBuffer; int i, n; grn_obj_reinit(ctx, &buffer, GRN_DB_TEXT, 0); - GRN_TEXT_SET(ctx, &buffer, VARDATA_ANY(query), VARSIZE_ANY_EXHDR(query)); + GRN_TEXT_SET(ctx, &buffer, VARDATA_ANY(term), VARSIZE_ANY_EXHDR(term)); GRN_TEXT_INIT(&elementBuffer, GRN_OBJ_DO_SHALLOW_COPY); @@ -2234,51 +2234,51 @@ pgroonga_contain_text_array(PG_FUNCTION_ARGS) element = DatumGetTextPP(elementDatum); GRN_TEXT_SET(ctx, &elementBuffer, VARDATA_ANY(element), VARSIZE_ANY_EXHDR(element)); - if (pgroonga_contain_raw(GRN_TEXT_VALUE(&elementBuffer), - GRN_TEXT_LEN(&elementBuffer), - GRN_TEXT_VALUE(&buffer), - GRN_TEXT_LEN(&buffer))) + if (pgroonga_match_term_raw(GRN_TEXT_VALUE(&elementBuffer), + GRN_TEXT_LEN(&elementBuffer), + GRN_TEXT_VALUE(&buffer), + GRN_TEXT_LEN(&buffer))) { - contained = true; + matched = true; break; } } GRN_OBJ_FIN(ctx, &elementBuffer); - PG_RETURN_BOOL(contained); + PG_RETURN_BOOL(matched); } /** - * pgroonga.contain(target varchar, query varchar) : bool + * pgroonga.match_term(target varchar, term varchar) : bool */ Datum -pgroonga_contain_varchar(PG_FUNCTION_ARGS) +pgroonga_match_term_varchar(PG_FUNCTION_ARGS) { VarChar *target = PG_GETARG_VARCHAR_PP(0); - VarChar *query = PG_GETARG_VARCHAR_PP(1); - grn_bool contained; + VarChar *term = PG_GETARG_VARCHAR_PP(1); + grn_bool matched; - contained = - pgroonga_contain_raw(VARDATA_ANY(target), VARSIZE_ANY_EXHDR(target), - VARDATA_ANY(query), VARSIZE_ANY_EXHDR(query)); - PG_RETURN_BOOL(contained); + matched = + pgroonga_match_term_raw(VARDATA_ANY(target), VARSIZE_ANY_EXHDR(target), + VARDATA_ANY(term), VARSIZE_ANY_EXHDR(term)); + PG_RETURN_BOOL(matched); } /** - * pgroonga.contain(target varchar[], query varchar) : bool + * pgroonga.match_term(target varchar[], term varchar) : bool */ Datum -pgroonga_contain_varchar_array(PG_FUNCTION_ARGS) +pgroonga_match_term_varchar_array(PG_FUNCTION_ARGS) { ArrayType *target = PG_GETARG_ARRAYTYPE_P(0); - VarChar *query = PG_GETARG_VARCHAR_PP(1); - bool contained = false; + VarChar *term = PG_GETARG_VARCHAR_PP(1); + bool matched = false; grn_obj elementBuffer; int i, n; grn_obj_reinit(ctx, &buffer, GRN_DB_TEXT, 0); - GRN_TEXT_SET(ctx, &buffer, VARDATA_ANY(query), VARSIZE_ANY_EXHDR(query)); + GRN_TEXT_SET(ctx, &buffer, VARDATA_ANY(term), VARSIZE_ANY_EXHDR(term)); GRN_TEXT_INIT(&elementBuffer, GRN_OBJ_DO_SHALLOW_COPY); @@ -2298,19 +2298,19 @@ pgroonga_contain_varchar_array(PG_FUNCTION_ARGS) VARDATA_ANY(element), VARSIZE_ANY_EXHDR(element)); if (grn_operator_exec_equal(ctx, &buffer, &elementBuffer)) { - contained = true; + matched = true; break; } } GRN_OBJ_FIN(ctx, &elementBuffer); - PG_RETURN_BOOL(contained); + PG_RETURN_BOOL(matched); } static grn_bool -pgroonga_match_text_raw(const char *target, unsigned int targetSize, - const char *query, unsigned int querySize) +pgroonga_match_query_raw(const char *target, unsigned int targetSize, + const char *query, unsigned int querySize) { grn_obj *expression; grn_obj *variable; @@ -2369,28 +2369,28 @@ pgroonga_match_text_raw(const char *target, unsigned int targetSize, } /** - * pgroonga.match_text(target text, query text) : bool + * pgroonga.match_query(target text, query text) : bool */ Datum -pgroonga_match_text(PG_FUNCTION_ARGS) +pgroonga_match_query_text(PG_FUNCTION_ARGS) { text *target = PG_GETARG_TEXT_PP(0); text *query = PG_GETARG_TEXT_PP(1); bool matched = false; - matched = pgroonga_match_text_raw(VARDATA_ANY(target), - VARSIZE_ANY_EXHDR(target), - VARDATA_ANY(query), - VARSIZE_ANY_EXHDR(query)); + matched = pgroonga_match_query_raw(VARDATA_ANY(target), + VARSIZE_ANY_EXHDR(target), + VARDATA_ANY(query), + VARSIZE_ANY_EXHDR(query)); PG_RETURN_BOOL(matched); } /** - * pgroonga.match_text(targets text[], query text) : bool + * pgroonga.match_query(targets text[], query text) : bool */ Datum -pgroonga_match_text_array(PG_FUNCTION_ARGS) +pgroonga_match_query_text_array(PG_FUNCTION_ARGS) { ArrayType *targets = PG_GETARG_ARRAYTYPE_P(0); text *query = PG_GETARG_TEXT_PP(1); @@ -2409,10 +2409,10 @@ pgroonga_match_text_array(PG_FUNCTION_ARGS) continue; target = DatumGetTextPP(targetDatum); - matched = pgroonga_match_text_raw(VARDATA_ANY(target), - VARSIZE_ANY_EXHDR(target), - VARDATA_ANY(query), - VARSIZE_ANY_EXHDR(query)); + matched = pgroonga_match_query_raw(VARDATA_ANY(target), + VARSIZE_ANY_EXHDR(target), + VARDATA_ANY(query), + VARSIZE_ANY_EXHDR(query)); if (matched) { break; @@ -2423,19 +2423,19 @@ pgroonga_match_text_array(PG_FUNCTION_ARGS) } /** - * pgroonga.match_varchar(target varchar, query varchar) : bool + * pgroonga.match_query(target varchar, query varchar) : bool */ Datum -pgroonga_match_varchar(PG_FUNCTION_ARGS) +pgroonga_match_query_varchar(PG_FUNCTION_ARGS) { VarChar *target = PG_GETARG_VARCHAR_PP(0); VarChar *query = PG_GETARG_VARCHAR_PP(1); bool matched = false; - matched = pgroonga_match_text_raw(VARDATA_ANY(target), - VARSIZE_ANY_EXHDR(target), - VARDATA_ANY(query), - VARSIZE_ANY_EXHDR(query)); + matched = pgroonga_match_query_raw(VARDATA_ANY(target), + VARSIZE_ANY_EXHDR(target), + VARDATA_ANY(query), + VARSIZE_ANY_EXHDR(query)); PG_RETURN_BOOL(matched); } @@ -2481,7 +2481,7 @@ pgroonga_match_regexp_raw(const char *text, unsigned int textSize, } /** - * pgroonga.match_regexp_text(target, pattern) : bool + * pgroonga.match_regexp(target text, pattern text) : bool */ Datum pgroonga_match_regexp_text(PG_FUNCTION_ARGS) @@ -2498,7 +2498,7 @@ pgroonga_match_regexp_text(PG_FUNCTION_ARGS) } /** - * pgroonga.match_regexp_varchar(target, pattern) : bool + * pgroonga.match_regexp_varchar(target varchar, pattern varchar) : bool */ Datum pgroonga_match_regexp_varchar(PG_FUNCTION_ARGS) @@ -3663,7 +3663,7 @@ PGrnSearchBuildCondition(IndexScanDesc scan, break; case PGrnLikeStrategyNumber: break; - case PGrnContainStrategyNumber: + case PGrnMatchStrategyNumber: operator = GRN_OP_MATCH; break; case PGrnQueryStrategyNumber: Modified: pgroonga.h (+10 -8) =================================================================== --- pgroonga.h 2015-10-28 21:58:39 +0900 (ca694b7) +++ pgroonga.h 2015-10-28 22:12:53 +0900 (7a321e0) @@ -19,7 +19,7 @@ #define PGrnGreaterEqualStrategyNumber 4 /* operator >= */ #define PGrnGreaterStrategyNumber 5 /* operator > */ #define PGrnLikeStrategyNumber 6 /* operator ~~ (LIKE) */ -#define PGrnContainStrategyNumber 7 /* operator %% (@ in Groonga) */ +#define PGrnMatchStrategyNumber 7 /* operator %% (@ in Groonga) */ #define PGrnQueryStrategyNumber 8 /* operator @@ (Groonga query) */ #define PGrnJSONContainStrategyNumber 9 /* operator @> */ #define PGrnRegexpStrategyNumber 10 /* operator @~ (@~ in Groonga) */ @@ -48,13 +48,15 @@ extern Datum PGDLLEXPORT pgroonga_table_name(PG_FUNCTION_ARGS); extern Datum PGDLLEXPORT pgroonga_command(PG_FUNCTION_ARGS); extern Datum PGDLLEXPORT pgroonga_snippet_html(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_contain_text(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_contain_text_array(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_contain_varchar(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_contain_varchar_array(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_match_text(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_match_text_array(PG_FUNCTION_ARGS); -extern Datum PGDLLEXPORT pgroonga_match_varchar(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_term_text(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_term_text_array(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_term_varchar(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_term_varchar_array(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_query_text(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_query_text_array(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_query_varchar(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_regexp_text(PG_FUNCTION_ARGS); +extern Datum PGDLLEXPORT pgroonga_match_regexp_varchar(PG_FUNCTION_ARGS); extern Datum PGDLLEXPORT pgroonga_match_jsonb(PG_FUNCTION_ARGS); extern Datum PGDLLEXPORT pgroonga_insert(PG_FUNCTION_ARGS); Modified: pgroonga.sql (+23 -23) =================================================================== --- pgroonga.sql 2015-10-28 21:58:39 +0900 (6b47394) +++ pgroonga.sql 2015-10-28 22:12:53 +0900 (c1f075a) @@ -30,94 +30,94 @@ CREATE FUNCTION pgroonga.snippet_html(target text, keywords text[]) VOLATILE STRICT; -CREATE FUNCTION pgroonga.contain(target text, query text) +CREATE FUNCTION pgroonga.match_term(target text, term text) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_contain_text' + AS 'MODULE_PATHNAME', 'pgroonga_match_term_text' LANGUAGE C IMMUTABLE STRICT; -CREATE FUNCTION pgroonga.contain(target text[], query text) +CREATE FUNCTION pgroonga.match_term(target text[], term text) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_contain_text_array' + AS 'MODULE_PATHNAME', 'pgroonga_match_term_text_array' LANGUAGE C IMMUTABLE STRICT; -CREATE FUNCTION pgroonga.contain(target varchar, query varchar) +CREATE FUNCTION pgroonga.match_term(target varchar, term varchar) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_contain_varchar' + AS 'MODULE_PATHNAME', 'pgroonga_match_term_varchar' LANGUAGE C IMMUTABLE STRICT; -CREATE FUNCTION pgroonga.contain(target varchar[], query varchar) +CREATE FUNCTION pgroonga.match_term(target varchar[], term varchar) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_contain_varchar_array' + AS 'MODULE_PATHNAME', 'pgroonga_match_term_varchar_array' LANGUAGE C IMMUTABLE STRICT; CREATE OPERATOR %% ( - PROCEDURE = pgroonga.contain, + PROCEDURE = pgroonga.match_term, LEFTARG = text, RIGHTARG = text ); CREATE OPERATOR %% ( - PROCEDURE = pgroonga.contain, + PROCEDURE = pgroonga.match_term, LEFTARG = text[], RIGHTARG = text ); CREATE OPERATOR %% ( - PROCEDURE = pgroonga.contain, + PROCEDURE = pgroonga.match_term, LEFTARG = varchar, RIGHTARG = varchar ); CREATE OPERATOR %% ( - PROCEDURE = pgroonga.contain, + PROCEDURE = pgroonga.match_term, LEFTARG = varchar[], RIGHTARG = varchar ); -CREATE FUNCTION pgroonga.match(text, text) +CREATE FUNCTION pgroonga.match_query(text, text) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_match_text' + AS 'MODULE_PATHNAME', 'pgroonga_match_query_text' LANGUAGE C IMMUTABLE STRICT; -CREATE FUNCTION pgroonga.match(text[], text) +CREATE FUNCTION pgroonga.match_query(text[], text) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_match_text_array' + AS 'MODULE_PATHNAME', 'pgroonga_match_query_text_array' LANGUAGE C IMMUTABLE STRICT; -CREATE FUNCTION pgroonga.match(varchar, varchar) +CREATE FUNCTION pgroonga.match_query(varchar, varchar) RETURNS bool - AS 'MODULE_PATHNAME', 'pgroonga_match_varchar' + AS 'MODULE_PATHNAME', 'pgroonga_match_query_varchar' LANGUAGE C IMMUTABLE STRICT; CREATE OPERATOR @@ ( - PROCEDURE = pgroonga.match, + PROCEDURE = pgroonga.match_query, LEFTARG = text, RIGHTARG = text ); CREATE OPERATOR @@ ( - PROCEDURE = pgroonga.match, + PROCEDURE = pgroonga.match_query, LEFTARG = text[], RIGHTARG = text ); CREATE OPERATOR @@ ( - PROCEDURE = pgroonga.match, + PROCEDURE = pgroonga.match_query, LEFTARG = varchar, RIGHTARG = varchar ); @@ -341,7 +341,7 @@ BEGIN IF FOUND THEN - CREATE FUNCTION pgroonga.match(jsonb, text) + CREATE FUNCTION pgroonga.match_query(jsonb, text) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_match_jsonb' LANGUAGE C @@ -349,7 +349,7 @@ BEGIN STRICT; CREATE OPERATOR @@ ( - PROCEDURE = pgroonga.match, + PROCEDURE = pgroonga.match_query, LEFTARG = jsonb, RIGHTARG = text ); -------------- next part -------------- HTML����������������������������... Download