2011/6/17 Tatsuo Ishii <[email protected]> > You need to mention that users need to build pgpool with > --with-memcached=... if users want to use memcached based query > cache. >
I correct documents(pgpool-ja.html/pgpool-en.html) for memcached users. comment thanks. Masanori YAMAZAKI -- > Tatsuo Ishii > SRA OSS, Inc. Japan > English: http://www.sraoss.co.jp/index_en.php > Japanese: http://www.sraoss.co.jp > > > Hello > > > > I wrote documents about query cache (shmem or memcached). > > I'm sending the following patch file. > > Your comment would be appreciated. > > > > - pgpool-ja.html > > - pgpool-en.html > > > > Regards > > Masanori YAMAZAKI > > > > > > > > > > 2011/6/16 Masanori Yamazaki <[email protected]> > > > >> I fixed errors and these program can be compiled. > >> > >> Some functions is declared in header file. Take memqcache.h for example. > >> Other c files include memqcache.h in order to use functions in > memqcache.c. > >> (Refer to pool_process_context.c, pool_process_context.h) > >> > >> [memqcache.h] > >> extern POOL_STATUS memqcache_lookup(POOL_ > >> CONNECTION *frontend, POOL_CONNECTION_POOL *backend, Node *node); > >> extern int set_cache_on_memcached(POOL_CONNECTION *frontend, const char > >> *md5_query, const char *data); > >> extern int get_cache_on_memcached(POOL_CONNECTION *frontend, const char > >> *md5_query, char **buf, size_t *len); > >> extern int delete_cache_on_memcached(const char *key); > >> ...and so on. > >> > >> Pgpool.conf.sample is included. > >> > >> In pool_memqcache.c, I removed header file which is not being used. > >> > >> Static functions is declared before the function body is defined. > >> > >> > >> > memcached.h and related stuffs should not be included > >> > unconditionaly. I prefer to enable memcached in > >> > configure(i.e. configure --with-memcached=... style). Pgpool > >> > hackers, I would like to hear opinions for this though. > >> > >> Now memcached.h is included in pool.h. > >> > >> "#include <libmemcached/memcached.h>" > >> > >> I implemented it without minding problem. > >> If need to take a method of doing "configure", I do so. > >> > >> Now I am writing documents(doc/pgpool-en.html and doc/pgpool-ja.html). > >> It will take more time to complete it. > >> > >> > >> Thanks > >> Masanori YAMAZAKI > >> > >> > >> > >> > >> 2011/6/15 Masanori Yamazaki <[email protected]> > >> > >>> 2011/6/15 Tatsuo Ishii <[email protected]> > >>> > >>>> Some comments to this patch: > >>>> > >>>> - Static functions should be declared before the function body is > >>>> defined. > >>>> > >>> I correct it. > >>> > >>> > >>>> - What memcache library are you using? There are some and you do not > >>>> explain which one you are using. Maybe this? > >>>> > >>>> http://tangent.org/552/libmemcached.html > >>>> > >>>> > >>> Yes, memcached library I am using is "libmemcached".Sorry I forgot to > >>> explain it. > >>> http://libmemcached.org/libMemcached.html > >>> > >>> > >>> > >>>> - memcached.h and related stuffs should not be included > >>>> unconditionaly. I prefer to enable memcached in > >>>> configure(i.e. configure --with-memcached=... style). Pgpool > >>>> hackers, I would like to hear opinions for this though. > >>>> > >>>> > >>> - No pgpool.conf.sample* included > >>>> > >>> I correct it > >>> > >>> > >>>> - No documents(doc/pgpool-en.html and doc/pgpool-ja.html) > >>>> included. These should be provided in the first place. > >>>> > >>> > >>> I add what is implemented to these documents. > >>> > >>> > >>> > >>>> - Did not compile: > >>>> > >>>> gcc -DHAVE_CONFIG_H -DDEFAULT_CONFIGDIR=\"/usr/local/etc\" -I. > >>>> -D_GNU_SOURCE -I /usr/local/pgsql/include -g -O2 -Wall > >>>> -Wmissing-prototypes -Wmissing-declarations -MT child.o -MD -MP -MF > >>>> .deps/child.Tpo -c -o child.o child.c > >>>> child.c: In function 'do_child': > >>>> child.c:153: warning: implicit declaration of function > >>>> 'init_memcached_connection' > >>>> child.c: At top level: > >>>> child.c:1966: warning: conflicting types for > 'init_memcached_connection' > >>>> child.c:1966: error: static declaration of 'init_memcached_connection' > >>>> follows non-static declaration > >>>> child.c:153: error: previous implicit declaration of > >>>> 'init_memcached_connection' was here > >>>> child.c: In function 'init_memcached_connection': > >>>> child.c:1969: warning: implicit declaration of function > >>>> 'memcached_connect' > >>>> child.c:1970: error: 'memcached_con' undeclared (first use in this > >>>> function) > >>>> child.c:1970: error: (Each undeclared identifier is reported only once > >>>> child.c:1970: error: for each function it appears in.) > >>>> make[2]: *** [child.o] Error 1 > >>>> make[2]: Leaving directory > `/home/t-ishii/work/pgfoundry/GSoC/pgpool-II' > >>>> make[1]: *** [all-recursive] Error 1 > >>>> make[1]: Leaving directory > `/home/t-ishii/work/pgfoundry/GSoC/pgpool-II' > >>>> make: *** [all] Error 2 > >>>> > >>> > >>> I correct an error of program and send new patch file as soon as > possible. > >>> > >>> comment thanks > >>> > >>> > >>>> -- > >>>> Tatsuo Ishii > >>>> SRA OSS, Inc. Japan > >>>> English: http://www.sraoss.co.jp/index_en.php > >>>> Japanese: http://www.sraoss.co.jp > >>>> > >>>> > 2011/6/14 Tatsuo Ishii <[email protected]> > >>>> > > >>>> >> Please explain what is implemented and what is not implemented in > this > >>>> >> patch. > >>>> >> > >>>> > > >>>> > What is implemented in this patch are as below. > >>>> > - connect to memcached. > >>>> > - set RowDescription or DataRow on memcached. > >>>> > - get RowDescription or DataRow on memcached by using key of > md5(SELECT > >>>> > convert). > >>>> > - delete cache on memcached by using key of md5(SELECT convert). > only > >>>> > module. > >>>> > - fetch and parse the fellowing data in pgpool.conf. > >>>> > > >>>> > memory_cache_enabled > >>>> > memqcache_method > >>>> > memqcache_memcached_host > >>>> > memqcache_memcached_port > >>>> > memqcache_total_size > >>>> > memqcache_expire > >>>> > memqcache_maxcache > >>>> > memqcache_cache_block_size > >>>> > > >>>> > - add data to buffer before set data on memcached. > >>>> > - get buffer in order to set it on memcached > >>>> > - initialize buffer > >>>> > > >>>> > I am implemented only in Simple Query case. > >>>> > > >>>> > > >>>> > What is not implemented in this patch are as below. > >>>> > - shmem cache. > >>>> > structure of managing table oids. > >>>> > the space management map. > >>>> > on memory query cache structure. > >>>> > > >>>> > - implementation in Extended Query case. > >>>> > > >>>> > - cache validation. > >>>> > The result of SELECT using none IMMUTABLE functions is not cached. > >>>> > > >>>> > - remove cache > >>>> > If cache is full, the least recently used cache is removed. > >>>> > If a table is dropped or modified, related cache data is deleted. > >>>> > If a table definition is modified(ALTER TABLE), related cache data > is > >>>> > deleted. > >>>> > If a schema or database is dropped, related cache data is deleted. > >>>> > > >>>> > > >>>> > This week I am mainly implementing the shmem cache. > >>>> > > >>>> > Regards > >>>> > Masanori YAMAZAKI > >>>> > > >>>> > > >>>> > > >>>> > > >>>> >> -- > >>>> >> Tatsuo Ishii > >>>> >> SRA OSS, Inc. Japan > >>>> >> English: http://www.sraoss.co.jp/index_en.php > >>>> >> Japanese: http://www.sraoss.co.jp > >>>> >> > >>>> >> > Hello, hackers > >>>> >> > > >>>> >> > I have implemented a function caching query on memcached. > >>>> >> > I am sending the patch file and it's so nice to give me some > >>>> opinions. > >>>> >> > > >>>> >> > Main program which I implemented is as below. > >>>> >> > - Search for cache data on memcached by using md5 which converted > >>>> SELECT > >>>> >> > into. > >>>> >> > - Set data on memcached. The key is md5 which converted SELECT > >>>> into. > >>>> >> > The value is RowDescription, DataRow from Backend. > >>>> >> > > >>>> >> > [Modify files] > >>>> >> > - pool.h > >>>> >> > - child.c > >>>> >> > - pool_config.l > >>>> >> > - pool_config.h > >>>> >> > - pool_config.c > >>>> >> > - pool_system.c > >>>> >> > - pool_proto_modules.c > >>>> >> > - pool_process_query.c > >>>> >> > > >>>> >> > [New File] > >>>> >> > - pool_memqcache.c > >>>> >> > > >>>> >> > > >>>> >> > -- > >>>> >> > Regards > >>>> >> > Masanori YAMAZAKI > >>>> >> > >>>> > >>> > >>> > >> >
_______________________________________________ Pgpool-hackers mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-hackers
