gluke Wed Jan 31 06:04:30 2001 EDT
Modified files:
/php4/ext/mnogosearch README config.m4 php_mnogo.c php_mnogo.h
setup.stub test.php
Log:
Added search cache and track query features.
@-Added search cache and track query features.
# For example please refer at ext/mnogosearch/test.php
Index: php4/ext/mnogosearch/README
diff -u php4/ext/mnogosearch/README:1.1 php4/ext/mnogosearch/README:1.2
--- php4/ext/mnogosearch/README:1.1 Tue Jan 30 04:53:49 2001
+++ php4/ext/mnogosearch/README Wed Jan 31 06:04:29 2001
@@ -1,3 +1,6 @@
+$Source: /local/repository/php4/ext/mnogosearch/README,v $
+$Id: README,v 1.2 2001/01/31 14:04:29 gluke Exp $
+
mnoGoSearch extension module version 0.3 for PHP4.
Basic mnoGoSearch function implementation.
Index: php4/ext/mnogosearch/config.m4
diff -u php4/ext/mnogosearch/config.m4:1.1 php4/ext/mnogosearch/config.m4:1.2
--- php4/ext/mnogosearch/config.m4:1.1 Tue Jan 30 04:53:50 2001
+++ php4/ext/mnogosearch/config.m4 Wed Jan 31 06:04:29 2001
@@ -1,5 +1,5 @@
-dnl $Id: config.m4,v 1.1 2001/01/30 12:53:50 gluke Exp $
-
+dnl $Source: /local/repository/php4/ext/mnogosearch/config.m4,v $
+dnl $Id: config.m4,v 1.2 2001/01/31 14:04:29 gluke Exp $
PHP_ARG_WITH(mnogosearch,for mnoGoSearch support,
[ --with-mnogosearch[=DIR] Include mnoGoSearch support. DIR is the
mnoGoSearch base
Index: php4/ext/mnogosearch/php_mnogo.c
diff -u php4/ext/mnogosearch/php_mnogo.c:1.1 php4/ext/mnogosearch/php_mnogo.c:1.2
--- php4/ext/mnogosearch/php_mnogo.c:1.1 Tue Jan 30 04:53:50 2001
+++ php4/ext/mnogosearch/php_mnogo.c Wed Jan 31 06:04:29 2001
@@ -1,3 +1,6 @@
+/* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.c,v $ */
+/* $Id: php_mnogo.c,v 1.2 2001/01/31 14:04:29 gluke Exp $ */
+
/*
+----------------------------------------------------------------------+
| PHP version 4.0 |
@@ -18,8 +21,6 @@
| Further development by Sergey Kartashoff <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-
-/* $Id: php_mnogo.c,v 0.3 2001/01/27 15:30:00 */
#include "php.h"
#include "php_mnogo.h"
@@ -40,12 +41,19 @@
#define UDM_FIELD_SCORE 256
#define UDM_FIELD_MODIFIED 512
+/* udm_set_agent_param constants */
#define UDM_PARAM_PAGE_SIZE 1
#define UDM_PARAM_PAGE_NUM 2
-#define UDM_PARAM_SEARCH_MODE 4
-#define UDM_PARAM_CHARSET 8
-#define UDM_PARAM_NUM_ROWS 16
-#define UDM_PARAM_FOUND 32
+#define UDM_PARAM_SEARCH_MODE 3
+#define UDM_PARAM_CACHE_MODE 4
+#define UDM_PARAM_TRACK_MODE 5
+
+#define UDM_TRACK_ENABLED 1
+#define UDM_TRACK_DISABLED 0
+
+/* udm_get_res_param constants */
+#define UDM_PARAM_NUM_ROWS 256
+#define UDM_PARAM_FOUND 257
/* True globals, no need for thread safety */
static int le_link,le_res;
@@ -112,18 +120,30 @@
REGISTER_LONG_CONSTANT("UDM_FIELD_SCORE", UDM_FIELD_SCORE,CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_FIELD_MODIFIED",UDM_FIELD_MODIFIED,CONST_CS |
CONST_PERSISTENT);
+ /* udm_set_agent_param constants */
REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_SIZE",UDM_PARAM_PAGE_SIZE,CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_NUM",UDM_PARAM_PAGE_NUM,CONST_CS |
CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCH_MODE",UDM_PARAM_SEARCH_MODE,CONST_CS
| CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_PARAM_CHARSET",UDM_PARAM_CHARSET,CONST_CS |
CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCH_MODE",UDM_PARAM_SEARCH_MODE,CONST_CS
+| CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PARAM_CACHE_MODE",UDM_PARAM_CACHE_MODE,CONST_CS |
+CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PARAM_TRACK_MODE",UDM_PARAM_TRACK_MODE,CONST_CS |
+CONST_PERSISTENT);
+
+ /* udm_get_res_param constants */
REGISTER_LONG_CONSTANT("UDM_PARAM_FOUND",UDM_PARAM_FOUND,CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_NUM_ROWS",UDM_PARAM_NUM_ROWS,CONST_CS |
CONST_PERSISTENT);
-
+ /* search modes */
REGISTER_LONG_CONSTANT("UDM_MODE_ALL",UDM_MODE_ALL,CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_MODE_ANY",UDM_MODE_ANY,CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_MODE_BOOL",UDM_MODE_BOOL,CONST_CS |
CONST_PERSISTENT);
+ /* search cache params */
+ REGISTER_LONG_CONSTANT("UDM_CACHE_ENABLED",UDM_CACHE_ENABLED,CONST_CS |
+CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_CACHE_DISABLED",UDM_CACHE_DISABLED,CONST_CS |
+CONST_PERSISTENT);
+
+ /* track mode params */
+ REGISTER_LONG_CONSTANT("UDM_TRACK_ENABLED",UDM_TRACK_ENABLED,CONST_CS |
+CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_TRACK_DISABLED",UDM_TRACK_DISABLED,CONST_CS |
+CONST_PERSISTENT);
+
return SUCCESS;
}
@@ -246,8 +266,8 @@
if(Agent->page_number<0)Agent->page_number=0;
}
break;
- case UDM_PARAM_SEARCH_MODE: {
- switch (atoi(val)){
+ case UDM_PARAM_SEARCH_MODE:
+ switch (atoi(val)){
case UDM_MODE_ALL:
Agent->search_mode=UDM_MODE_ALL;
break;
@@ -260,7 +280,33 @@
default:
RETURN_STRING("<Udm_Set_Agent_Param:
Unknown search mode>",1);
break;
- }
+ }
+ break;
+ case UDM_PARAM_CACHE_MODE:
+ switch (atoi(val)){
+ case UDM_CACHE_ENABLED:
+ Agent->cache_mode=UDM_CACHE_ENABLED;
+ break;
+ case UDM_CACHE_DISABLED:
+ Agent->cache_mode=UDM_CACHE_DISABLED;
+ break;
+ default:
+ Agent->cache_mode=UDM_CACHE_DISABLED;
+ RETURN_STRING("<Udm_Set_Agent_Param: Unknown
+cache mode>",1);
+ break;
+ }
+ break;
+ case UDM_PARAM_TRACK_MODE:
+ switch (atoi(val)){
+ case UDM_TRACK_ENABLED:
+ Agent->track_mode|=UDM_TRACK_QUERIES;
+ break;
+ case UDM_TRACK_DISABLED:
+ Agent->track_mode &= ~(UDM_TRACK_QUERIES);
+ break;
+ default:
+ RETURN_STRING("<Udm_Set_Agent_Param: Unknown
+track_mode>",1);
+ break;
}
break;
default:
Index: php4/ext/mnogosearch/php_mnogo.h
diff -u php4/ext/mnogosearch/php_mnogo.h:1.1 php4/ext/mnogosearch/php_mnogo.h:1.2
--- php4/ext/mnogosearch/php_mnogo.h:1.1 Tue Jan 30 04:53:50 2001
+++ php4/ext/mnogosearch/php_mnogo.h Wed Jan 31 06:04:29 2001
@@ -1,3 +1,6 @@
+/* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.h,v $ */
+/* $Id: php_mnogo.h,v 1.2 2001/01/31 14:04:29 gluke Exp $ */
+
/*
+----------------------------------------------------------------------+
| PHP HTML Embedded Scripting Language Version 3.0 |
@@ -29,9 +32,6 @@
| Further development by Sergey Kartashoff <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-
-/* $Id: php_mnogo.h,v 0.3 2001/01/27 15:30:00 */
-
#ifndef _PHP_MNOGO_H
#define _PHP_MNOGO_H
Index: php4/ext/mnogosearch/setup.stub
diff -u php4/ext/mnogosearch/setup.stub:1.1 php4/ext/mnogosearch/setup.stub:1.2
--- php4/ext/mnogosearch/setup.stub:1.1 Tue Jan 30 04:53:50 2001
+++ php4/ext/mnogosearch/setup.stub Wed Jan 31 06:04:29 2001
@@ -1,5 +1,5 @@
# $Source: /local/repository/php4/ext/mnogosearch/setup.stub,v $
-# $Id: setup.stub,v 1.1 2001/01/30 12:53:50 gluke Exp $
+# $Id: setup.stub,v 1.2 2001/01/31 14:04:29 gluke Exp $
define_option with-mnogosearch 'mnoGoSearch support?' yesnodir \
'no /usr/local/udmsearch mnoGoSearch install' \
Index: php4/ext/mnogosearch/test.php
diff -u php4/ext/mnogosearch/test.php:1.1 php4/ext/mnogosearch/test.php:1.2
--- php4/ext/mnogosearch/test.php:1.1 Tue Jan 30 04:53:50 2001
+++ php4/ext/mnogosearch/test.php Wed Jan 31 06:04:29 2001
@@ -1,3 +1,8 @@
+<!--
+ $Source: /local/repository/php4/ext/mnogosearch/test.php,v $
+ $Id: test.php,v 1.2 2001/01/31 14:04:29 gluke Exp $
+-->
+
<html>
<body>
@@ -23,14 +28,13 @@
$page_size=10;
$page_number=0;
- $search_mode=UDM_MODE_BOOL;
- $first=$page_size*$page_number+1;
-
+
Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_SIZE,$page_size);
Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_NUM,$page_number);
- Udm_Set_Agent_Param($udm,UDM_PARAM_SEARCH_MODE,$search_mode);
+ Udm_Set_Agent_Param($udm,UDM_PARAM_SEARCH_MODE,UDM_MODE_BOOL);
+ Udm_Set_Agent_Param($udm,UDM_PARAM_CACHE_MODE,UDM_PARAM_CACHE_DISABLED);
+ Udm_Set_Agent_Param($udm,UDM_PARAM_TRACK_MODE,UDM_TRACK_DISABLED);
-
// Stage 3: perform search
$res=Udm_Find($udm,$q);
@@ -42,7 +46,8 @@
// Display error message
printf("Error #%d: '%s'\n",$errno,Udm_Error($udm));
}else{
-
+ $first=$page_size*$page_number+1;
+
// Get result parameters
$total=Udm_Get_Res_Param($res,UDM_PARAM_FOUND);
$rows=Udm_Get_Res_Param($res,UDM_PARAM_NUM_ROWS);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]