]> git.pld-linux.org Git - packages/mysql.git/blame - mysql-sphinx.patch
Rediff patches / changes for newer rpms
[packages/mysql.git] / mysql-sphinx.patch
CommitLineData
4e026dff
AM
1diff -urNp -x '*.orig' mysql-5.0.96.org/config/ac-macros/ha_sphinx.m4 mysql-5.0.96/config/ac-macros/ha_sphinx.m4
2--- mysql-5.0.96.org/config/ac-macros/ha_sphinx.m4 1970-01-01 01:00:00.000000000 +0100
3+++ mysql-5.0.96/config/ac-macros/ha_sphinx.m4 2022-10-18 08:24:57.662731482 +0200
377a1ee5 4@@ -0,0 +1,30 @@
5+dnl ---------------------------------------------------------------------------
6+dnl Macro: MYSQL_CHECK_EXAMPLEDB
7+dnl Sets HAVE_SPHINX_DB if --with-sphinx-storage-engine is used
8+dnl ---------------------------------------------------------------------------
9+AC_DEFUN([MYSQL_CHECK_SPHINXDB], [
10+ AC_ARG_WITH([sphinx-storage-engine],
11+ [
12+ --with-sphinx-storage-engine
13+ Enable the Sphinx Storage Engine],
14+ [sphinxdb="$withval"],
15+ [sphinxdb=no])
16+ AC_MSG_CHECKING([for example storage engine])
17+
18+ case "$sphinxdb" in
19+ yes )
20+ AC_DEFINE([HAVE_SPHINX_DB], [1], [Builds Sphinx Engine])
21+ AC_MSG_RESULT([yes])
22+ [sphinxdb=yes]
23+ ;;
24+ * )
25+ AC_MSG_RESULT([no])
26+ [sphinxdb=no]
27+ ;;
28+ esac
29+
30+])
31+dnl ---------------------------------------------------------------------------
32+dnl END OF MYSQL_CHECK_EXAMPLE SECTION
33+dnl ---------------------------------------------------------------------------
34+
4e026dff
AM
35diff -urNp -x '*.orig' mysql-5.0.96.org/configure.in mysql-5.0.96/configure.in
36--- mysql-5.0.96.org/configure.in 2022-10-18 08:24:56.409398149 +0200
37+++ mysql-5.0.96/configure.in 2022-10-18 08:24:57.662731482 +0200
38@@ -60,6 +60,7 @@ sinclude(config/ac-macros/ha_archive.m4)
377a1ee5 39 sinclude(config/ac-macros/ha_berkeley.m4)
40 sinclude(config/ac-macros/ha_blackhole.m4)
41 sinclude(config/ac-macros/ha_example.m4)
42+sinclude(config/ac-macros/ha_sphinx.m4)
43 sinclude(config/ac-macros/ha_federated.m4)
44 sinclude(config/ac-macros/ha_innodb.m4)
45 sinclude(config/ac-macros/ha_ndbcluster.m4)
4e026dff 46@@ -2709,6 +2710,7 @@ MYSQL_CHECK_MAX_INDEXES
377a1ee5 47 MYSQL_CHECK_BDB
48 MYSQL_CHECK_INNODB
49 MYSQL_CHECK_EXAMPLEDB
50+MYSQL_CHECK_SPHINXDB
51 MYSQL_CHECK_ARCHIVEDB
52 MYSQL_CHECK_CSVDB
53 MYSQL_CHECK_BLACKHOLEDB
4e026dff
AM
54diff -urNp -x '*.orig' mysql-5.0.96.org/libmysqld/Makefile.am mysql-5.0.96/libmysqld/Makefile.am
55--- mysql-5.0.96.org/libmysqld/Makefile.am 2012-03-02 15:04:08.000000000 +0100
56+++ mysql-5.0.96/libmysqld/Makefile.am 2022-10-18 08:24:57.662731482 +0200
57@@ -30,6 +30,7 @@ INCLUDES= @bdb_includes@ @innodb_inclu
377a1ee5 58 -I$(top_builddir)/include -I$(top_srcdir)/include \
58fcc737
ER
59 -I$(top_builddir)/sql -I$(top_srcdir)/sql \
60 -I$(top_srcdir)/sql/examples \
61+ -I$(top_srcdir)/sql/sphinx \
377a1ee5 62 -I$(top_srcdir)/regex \
58fcc737 63 $(openssl_includes) @ZLIB_INCLUDES@
377a1ee5 64
4e026dff 65@@ -40,6 +41,7 @@ libmysqld_sources= libmysqld.c lib_sql.c
377a1ee5 66 libmysqlsources = errmsg.c get_password.c libmysql.c client.c pack.c \
67 my_time.c
68 sqlexamplessources = ha_example.cc ha_tina.cc
69+sqlsphinxsources = ha_sphinx.cc
70
71 noinst_HEADERS = embedded_priv.h emb_qcache.h
72
4e026dff 73@@ -68,7 +70,7 @@ sqlsources = derror.cc field.cc field_co
377a1ee5 74 parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \
75 ha_blackhole.cc ha_archive.cc my_user.c
76
77-libmysqld_int_a_SOURCES= $(libmysqld_sources) $(libmysqlsources) $(sqlsources) $(sqlexamplessources)
78+libmysqld_int_a_SOURCES= $(libmysqld_sources) $(libmysqlsources) $(sqlsources) $(sqlexamplessources) $(sqlsphinxsources)
79 libmysqld_a_SOURCES=
80
81 # automake misses these
4e026dff 82@@ -148,12 +150,16 @@ link_sources:
377a1ee5 83 rm -f $$f; \
84 @LN_CP_F@ $(top_srcdir)/sql/examples/$$f $$f; \
85 done; \
86+ for f in $(sqlsphinxsources); do \
87+ rm -f $$f; \
88+ @LN_CP_F@ $(top_srcdir)/sql/sphinx/$$f $$f; \
89+ done; \
90 rm -f client_settings.h; \
91 @LN_CP_F@ $(top_srcdir)/libmysql/client_settings.h client_settings.h
92
93
94 clean-local:
95- rm -f `echo $(sqlsources) $(libmysqlsources) $(sqlexamplessources) | sed "s;\.lo;.c;g"` \
96+ rm -f `echo $(sqlsources) $(libmysqlsources) $(sqlexamplessources) $(sqlsphinxsources) | sed "s;\.lo;.c;g"` \
97 $(top_srcdir)/linked_libmysqld_sources; \
98 rm -f client_settings.h
99
4e026dff
AM
100diff -urNp -x '*.orig' mysql-5.0.96.org/sql/Makefile.am mysql-5.0.96/sql/Makefile.am
101--- mysql-5.0.96.org/sql/Makefile.am 2022-10-18 08:24:56.412731482 +0200
102+++ mysql-5.0.96/sql/Makefile.am 2022-10-18 08:24:57.662731482 +0200
103@@ -69,6 +69,7 @@ noinst_HEADERS = item.h item_func.h item
104 sql_array.h sql_cursor.h \
105 examples/ha_example.h ha_archive.h \
106 examples/ha_tina.h ha_blackhole.h \
107+ sphinx/ha_sphinx.h \
108 ha_federated.h
109 mysqld_SOURCES = sql_lex.cc sql_handler.cc \
110 item.cc item_sum.cc item_buff.cc item_func.cc \
111@@ -106,6 +107,7 @@ mysqld_SOURCES = sql_lex.cc sql_handler.
112 sp_cache.cc parse_file.cc sql_trigger.cc \
113 examples/ha_example.cc ha_archive.cc \
114 examples/ha_tina.cc ha_blackhole.cc \
115+ sphinx/ha_sphinx.cc \
116 ha_federated.cc
117
118 gen_lex_hash_SOURCES = gen_lex_hash.cc
119@@ -176,6 +178,10 @@ noinst_LTLIBRARIES= udf_example.la
120 udf_example_la_SOURCES= udf_example.c
121 udf_example_la_LDFLAGS= -module -rpath $(pkglibdir)
122
123+pkglib_LTLIBRARIES = sphinx/sphinx.la
124+sphinx_sphinx_la_SOURCES = sphinx/snippets_udf.cc
125+sphinx_sphinx_la_LDFLAGS = -module
126+
127
128 # Don't update the files from bitkeeper
129 %::SCCS/s.%
130diff -urNp -x '*.orig' mysql-5.0.96.org/sql/handler.cc mysql-5.0.96/sql/handler.cc
131--- mysql-5.0.96.org/sql/handler.cc 2012-03-02 15:04:08.000000000 +0100
132+++ mysql-5.0.96/sql/handler.cc 2022-10-18 08:24:57.662731482 +0200
133@@ -78,6 +78,15 @@ handlerton tina_hton = { "CSV", SHOW_OPT
377a1ee5 134 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
135 HTON_NO_FLAGS };
136 #endif
137+#ifdef HAVE_SPHINX_DB
138+#include "sphinx/ha_sphinx.h"
139+extern handlerton sphinx_hton;
140+#else
ca87fbf9 141+handlerton sphinx_hton = { "SPHINX", SHOW_OPTION_NO, "SPHINX storage engine",
377a1ee5 142+ DB_TYPE_SPHINX_DB, NULL, 0, 0, NULL, NULL,
143+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
144+ HTON_NO_FLAGS };
145+#endif
146 #ifdef HAVE_INNOBASE_DB
147 #include "ha_innodb.h"
148 extern handlerton innobase_hton;
4e026dff 149@@ -142,6 +151,7 @@ handlerton *sys_table_types[]=
377a1ee5 150 &example_hton,
151 &archive_hton,
152 &tina_hton,
153+ &sphinx_hton,
154 &ndbcluster_hton,
155 &federated_hton,
156 &myisammrg_hton,
4e026dff 157@@ -343,6 +353,12 @@ handler *get_new_handler(TABLE *table, M
377a1ee5 158 return new (alloc) ha_tina(table);
159 return NULL;
160 #endif
161+#ifdef HAVE_SPHINX_DB
162+ case DB_TYPE_SPHINX_DB:
163+ if (have_sphinx_db == SHOW_OPTION_YES)
164+ return new (alloc) ha_sphinx(table);
165+ return NULL;
166+#endif
167 #ifdef HAVE_NDBCLUSTER_DB
168 case DB_TYPE_NDBCLUSTER:
169 if (have_ndbcluster == SHOW_OPTION_YES)
4e026dff
AM
170diff -urNp -x '*.orig' mysql-5.0.96.org/sql/handler.h mysql-5.0.96/sql/handler.h
171--- mysql-5.0.96.org/sql/handler.h 2012-03-02 15:04:08.000000000 +0100
172+++ mysql-5.0.96/sql/handler.h 2022-10-18 08:24:57.662731482 +0200
173@@ -187,8 +187,9 @@ enum db_type
377a1ee5 174 DB_TYPE_BERKELEY_DB, DB_TYPE_INNODB,
175 DB_TYPE_GEMINI, DB_TYPE_NDBCLUSTER,
176 DB_TYPE_EXAMPLE_DB, DB_TYPE_ARCHIVE_DB, DB_TYPE_CSV_DB,
177- DB_TYPE_FEDERATED_DB,
178+ DB_TYPE_FEDERATED_DB,
179 DB_TYPE_BLACKHOLE_DB,
180+ DB_TYPE_SPHINX_DB,
181 DB_TYPE_DEFAULT // Must be last
182 };
183
4e026dff
AM
184diff -urNp -x '*.orig' mysql-5.0.96.org/sql/mysql_priv.h mysql-5.0.96/sql/mysql_priv.h
185--- mysql-5.0.96.org/sql/mysql_priv.h 2012-03-02 15:04:08.000000000 +0100
186+++ mysql-5.0.96/sql/mysql_priv.h 2022-10-18 08:24:57.666064815 +0200
187@@ -1457,6 +1457,12 @@ extern handlerton tina_hton;
188 #else
189 extern SHOW_COMP_OPTION have_csv_db;
190 #endif
191+#ifdef HAVE_SPHINX_DB
192+extern handlerton sphinx_hton;
193+#define have_sphinx_db sphinx_hton.state
194+#else
195+extern SHOW_COMP_OPTION have_sphinx_db;
196+#endif
197 #ifdef HAVE_FEDERATED_DB
198 extern handlerton federated_hton;
199 #define have_federated_db federated_hton.state
200diff -urNp -x '*.orig' mysql-5.0.96.org/sql/mysqld.cc mysql-5.0.96/sql/mysqld.cc
201--- mysql-5.0.96.org/sql/mysqld.cc 2012-03-02 15:04:08.000000000 +0100
202+++ mysql-5.0.96/sql/mysqld.cc 2022-10-18 08:24:57.666064815 +0200
ca87fbf9
ER
203@@ -36,6 +36,10 @@
204 #include <sys/prctl.h>
205 #endif
206
207+#ifdef HAVE_SPHINX_DB
208+#include "sphinx/ha_sphinx.h"
209+#endif
210+
211 #ifdef HAVE_INNOBASE_DB
212 #define OPT_INNODB_DEFAULT 1
213 #else
4e026dff 214@@ -6731,6 +6735,13 @@ struct show_var_st status_vars[]= {
ae151c1a 215 #ifdef COMMUNITY_SERVER
ca87fbf9 216 {"Uptime_since_flush_status",(char*) 0, SHOW_FLUSHTIME},
ae151c1a 217 #endif
ca87fbf9
ER
218+#ifdef HAVE_SPHINX_DB
219+ {"sphinx_total", (char *)sphinx_showfunc_total, SHOW_SPHINX_FUNC},
220+ {"sphinx_total_found", (char *)sphinx_showfunc_total_found, SHOW_SPHINX_FUNC},
221+ {"sphinx_time", (char *)sphinx_showfunc_time, SHOW_SPHINX_FUNC},
222+ {"sphinx_word_count", (char *)sphinx_showfunc_word_count, SHOW_SPHINX_FUNC},
223+ {"sphinx_words", (char *)sphinx_showfunc_words, SHOW_SPHINX_FUNC},
224+#endif
225 {NullS, NullS, SHOW_LONG}
226 };
227
4e026dff 228@@ -6970,6 +6981,11 @@ static void mysql_init_variables(void)
377a1ee5 229 #else
230 have_csv_db= SHOW_OPTION_NO;
231 #endif
232+#ifdef HAVE_SPHINX_DB
233+ have_sphinx_db= SHOW_OPTION_YES;
234+#else
235+ have_sphinx_db= SHOW_OPTION_NO;
236+#endif
237 #ifdef HAVE_NDBCLUSTER_DB
238 have_ndbcluster=SHOW_OPTION_DISABLED;
239 #else
4e026dff 240@@ -8165,6 +8181,7 @@ void refresh_status(THD *thd)
377a1ee5 241 #undef have_example_db
242 #undef have_archive_db
243 #undef have_csv_db
244+#undef have_sphinx_db
245 #undef have_federated_db
246 #undef have_partition_db
247 #undef have_blackhole_db
4e026dff 248@@ -8175,6 +8192,7 @@ SHOW_COMP_OPTION have_ndbcluster= SHOW_O
377a1ee5 249 SHOW_COMP_OPTION have_example_db= SHOW_OPTION_NO;
250 SHOW_COMP_OPTION have_archive_db= SHOW_OPTION_NO;
251 SHOW_COMP_OPTION have_csv_db= SHOW_OPTION_NO;
252+SHOW_COMP_OPTION have_sphinx_db= SHOW_OPTION_NO;
253 SHOW_COMP_OPTION have_federated_db= SHOW_OPTION_NO;
254 SHOW_COMP_OPTION have_partition_db= SHOW_OPTION_NO;
255 SHOW_COMP_OPTION have_blackhole_db= SHOW_OPTION_NO;
4e026dff
AM
256diff -urNp -x '*.orig' mysql-5.0.96.org/sql/set_var.cc mysql-5.0.96/sql/set_var.cc
257--- mysql-5.0.96.org/sql/set_var.cc 2012-03-02 15:04:08.000000000 +0100
258+++ mysql-5.0.96/sql/set_var.cc 2022-10-18 08:24:57.669398149 +0200
259@@ -913,6 +913,7 @@ struct show_var_st init_vars[]= {
260 {"have_profiling", (char*) &have_profiling, SHOW_HAVE},
377a1ee5 261 {"have_crypt", (char*) &have_crypt, SHOW_HAVE},
262 {"have_csv", (char*) &have_csv_db, SHOW_HAVE},
263+ {"have_sphinx", (char*) &have_sphinx_db, SHOW_HAVE},
264 {"have_dynamic_loading", (char*) &have_dlopen, SHOW_HAVE},
265 {"have_example_engine", (char*) &have_example_db, SHOW_HAVE},
266 {"have_federated_engine", (char*) &have_federated_db, SHOW_HAVE},
4e026dff
AM
267diff -urNp -x '*.orig' mysql-5.0.96.org/sql/sql_lex.h mysql-5.0.96/sql/sql_lex.h
268--- mysql-5.0.96.org/sql/sql_lex.h 2012-03-02 15:04:08.000000000 +0100
269+++ mysql-5.0.96/sql/sql_lex.h 2022-10-18 08:24:57.669398149 +0200
270@@ -57,6 +57,7 @@ enum enum_sql_command {
377a1ee5 271 SQLCOM_SHOW_DATABASES, SQLCOM_SHOW_TABLES, SQLCOM_SHOW_FIELDS,
272 SQLCOM_SHOW_KEYS, SQLCOM_SHOW_VARIABLES, SQLCOM_SHOW_LOGS, SQLCOM_SHOW_STATUS,
273 SQLCOM_SHOW_INNODB_STATUS, SQLCOM_SHOW_NDBCLUSTER_STATUS, SQLCOM_SHOW_MUTEX_STATUS,
274+ SQLCOM_SHOW_SPHINX_STATUS,
275 SQLCOM_SHOW_PROCESSLIST, SQLCOM_SHOW_MASTER_STAT, SQLCOM_SHOW_SLAVE_STAT,
276 SQLCOM_SHOW_GRANTS, SQLCOM_SHOW_CREATE, SQLCOM_SHOW_CHARSETS,
277 SQLCOM_SHOW_COLLATIONS, SQLCOM_SHOW_CREATE_DB, SQLCOM_SHOW_TABLE_STATUS,
4e026dff
AM
278diff -urNp -x '*.orig' mysql-5.0.96.org/sql/sql_parse.cc mysql-5.0.96/sql/sql_parse.cc
279--- mysql-5.0.96.org/sql/sql_parse.cc 2012-03-02 15:04:08.000000000 +0100
280+++ mysql-5.0.96/sql/sql_parse.cc 2022-10-18 08:24:57.669398149 +0200
ca87fbf9 281@@ -24,6 +24,9 @@
377a1ee5 282 #ifdef HAVE_INNOBASE_DB
283 #include "ha_innodb.h"
284 #endif
285+#ifdef HAVE_SPHINX_DB
286+#include "sphinx/ha_sphinx.h"
287+#endif
288
289 #ifdef HAVE_NDBCLUSTER_DB
290 #include "ha_ndbcluster.h"
4e026dff 291@@ -3193,6 +3196,15 @@ mysql_execute_command(THD *thd)
377a1ee5 292 break;
293 }
294 #endif
295+#ifdef HAVE_SPHINX_DB
296+ case SQLCOM_SHOW_SPHINX_STATUS:
297+ {
298+ if (check_global_access(thd, SUPER_ACL))
299+ goto error;
300+ res = sphinx_show_status(thd);
301+ break;
302+ }
303+#endif
304 #ifdef HAVE_REPLICATION
305 case SQLCOM_LOAD_MASTER_TABLE:
306 {
4e026dff
AM
307diff -urNp -x '*.orig' mysql-5.0.96.org/sql/sql_show.cc mysql-5.0.96/sql/sql_show.cc
308--- mysql-5.0.96.org/sql/sql_show.cc 2012-03-02 15:04:08.000000000 +0100
309+++ mysql-5.0.96/sql/sql_show.cc 2022-10-18 08:24:57.679398148 +0200
310@@ -1500,6 +1500,16 @@ static bool show_status_array(THD *thd,
311 value= (char*) var->value_ptr(thd, value_type, &null_lex_str);
312 charset= var->charset(thd);
313 }
314+ #ifdef HAVE_SPHINX_DB
315+ else if (show_type == SHOW_SPHINX_FUNC)
316+ {
317+ SHOW_VAR var;
318+ ((int (*)(THD *, SHOW_VAR *, char *))value)(thd, &var, buff);
319+
320+ value = var.value;
321+ show_type = var.type;
322+ }
323+ #endif /* HAVE_SPHINX_DB */
324
325 pos= end= buff;
326 switch (show_type) {
327diff -urNp -x '*.orig' mysql-5.0.96.org/sql/sql_yacc.yy mysql-5.0.96/sql/sql_yacc.yy
328--- mysql-5.0.96.org/sql/sql_yacc.yy 2012-03-02 15:04:08.000000000 +0100
329+++ mysql-5.0.96/sql/sql_yacc.yy 2022-10-18 08:24:57.672731482 +0200
330@@ -8343,6 +8343,9 @@ show_engine_param:
377a1ee5 331 case DB_TYPE_INNODB:
332 Lex->sql_command = SQLCOM_SHOW_INNODB_STATUS;
333 break;
334+ case DB_TYPE_SPHINX_DB:
335+ Lex->sql_command = SQLCOM_SHOW_SPHINX_STATUS;
336+ break;
337 default:
338 my_error(ER_NOT_SUPPORTED_YET, MYF(0), "STATUS");
ded36a98 339 MYSQL_YYABORT;
4e026dff
AM
340diff -urNp -x '*.orig' mysql-5.0.96.org/sql/structs.h mysql-5.0.96/sql/structs.h
341--- mysql-5.0.96.org/sql/structs.h 2012-03-02 15:04:08.000000000 +0100
342+++ mysql-5.0.96/sql/structs.h 2022-10-18 08:24:57.672731482 +0200
343@@ -195,6 +195,9 @@ enum SHOW_TYPE
ca87fbf9
ER
344 SHOW_SSL_CTX_SESS_TIMEOUTS, SHOW_SSL_CTX_SESS_CACHE_FULL,
345 SHOW_SSL_GET_CIPHER_LIST,
346 #endif /* HAVE_OPENSSL */
347+#ifdef HAVE_SPHINX_DB
348+ SHOW_SPHINX_FUNC,
349+#endif
350 SHOW_NET_COMPRESSION,
351 SHOW_RPL_STATUS, SHOW_SLAVE_RUNNING, SHOW_SLAVE_RETRIED_TRANS,
352 SHOW_KEY_CACHE_LONG, SHOW_KEY_CACHE_CONST_LONG, SHOW_KEY_CACHE_LONGLONG,
This page took 0.087283 seconds and 4 git commands to generate.