|
|
|
|
$PostgreSQL: pgsql/contrib/pgrowlocks/README.pgrowlocks.euc_jp,v 1.1 2006/04/23 01:12:58 ishii Exp $
|
|
|
|
|
|
|
|
|
|
pgrowlocks README <EFBFBD>а<EFBFBD>ã<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
1. pgrowlocks<EFBFBD>Ȥ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
pgrowlocks<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD>줿<EFBFBD>ơ<EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD>ιԥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>˴ؤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
pgrowlocks<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CREATE TYPE pgrowlocks_type AS (
|
|
|
|
|
locked_row TID, -- row TID
|
|
|
|
|
lock_type TEXT, -- lock type
|
|
|
|
|
locker XID, -- locking XID
|
|
|
|
|
multi bool, -- multi XID?
|
|
|
|
|
xids xid[], -- multi XIDs
|
|
|
|
|
pids INTEGER[] -- locker's process id
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
<EFBFBD>¹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
test=# SELECT * FROM pgrowlocks('t1');
|
|
|
|
|
locked_row | lock_type | locker | multi | xids | pids
|
|
|
|
|
------------+-----------+--------+-------+-----------+---------------
|
|
|
|
|
(0,1) | Shared | 19 | t | {804,805} | {29066,29068}
|
|
|
|
|
(0,2) | Shared | 19 | t | {804,805} | {29066,29068}
|
|
|
|
|
(0,3) | Exclusive | 804 | f | {804} | {29066}
|
|
|
|
|
(0,4) | Exclusive | 804 | f | {804} | {29066}
|
|
|
|
|
(4 rows)
|
|
|
|
|
|
|
|
|
|
<EFBFBD>ƹ<EFBFBD><EFBFBD>ܤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
locked_row -- <EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>ԤΥ<EFBFBD><EFBFBD>ץ<EFBFBD>ID(TID)
|
|
|
|
|
lock_type -- <EFBFBD><EFBFBD>ͭ<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ʤ<EFBFBD>"Shared"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ʤ<EFBFBD>"Exclusive"
|
|
|
|
|
locker -- <EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID[<EFBFBD><EFBFBD>1]
|
|
|
|
|
multi -- locker<EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f
|
|
|
|
|
xids -- <EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID[<EFBFBD><EFBFBD>2]
|
|
|
|
|
pids -- <EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID[<EFBFBD><EFBFBD>2]
|
|
|
|
|
|
|
|
|
|
[<EFBFBD><EFBFBD>1: locker<EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ顤<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD>ǤϤʤ<EFBFBD><EFBFBD>ƥޥ<EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD>ˤʤ<EFBFBD>
|
|
|
|
|
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
|
|
|
|
[<EFBFBD><EFBFBD>2: locker<EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><EFBFBD>硤ʣ<EFBFBD><EFBFBD><EFBFBD>Υǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
|
|
|
|
2. pgrowlocks<EFBFBD>Υ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
pgrowlocks<EFBFBD>Υ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>PostgreSQL<EFBFBD>ȡ<EFBFBD><EFBFBD>뤷<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ĥ<EFBFBD><EFBFBD>ɬ<EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PostgreSQL
|
|
|
|
|
8.0<EFBFBD>ʹߤǤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>PostgreSQL<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/usr/local/src/postgresql-8.1/<EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
1) pgrowlocks<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/tmp/pgrowlocks-1.0.tar.gz<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
$ cd /usr/local/src/postgresql-8.1/contrib
|
|
|
|
|
$ tar xfz pgrowlocks-1.0.tar.gz
|
|
|
|
|
|
|
|
|
|
2) PostgreSQL 8.0<EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
pgrowlocks.c<EFBFBD><EFBFBD>61<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#undef MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS
|
|
|
|
|
|
|
|
|
|
<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS
|
|
|
|
|
|
|
|
|
|
<EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>(undef->define<EFBFBD>ˤ<EFBFBD><EFBFBD>ޤ<EFBFBD>)<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
3) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>뤷<EFBFBD>ƴؿ<EFBFBD><EFBFBD>ζ<EFBFBD>ͭ<EFBFBD>饤<EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>뤷<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
$ make
|
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
|
|
4) <EFBFBD>桼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
$ psql -e -f /usr/local/pgsql/share/contrib/pgrowlocks.sql test
|
|
|
|
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>"test"<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>١<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⤷¾<EFBFBD>Υǡ<EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>١<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>ؤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
3. pgrowlocks<EFBFBD>λȤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
pgrowlocks<EFBFBD>θƤӽФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰʲ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION pgrowlocks(text) RETURNS pgrowlocks_type
|
|
|
|
|
AS 'MODULE_PATHNAME', 'pgrowlocks'
|
|
|
|
|
LANGUAGE 'c' WITH (isstrict);
|
|
|
|
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>ơ<EFBFBD><EFBFBD>֥<EFBFBD>̾
|
|
|
|
|
|
|
|
|
|
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pgrowlocks_type<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
pgrowlocks<EFBFBD>ϥơ<EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD>AccessShareLock<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ߽Ф<EFBFBD>
|
|
|
|
|
<EFBFBD>ƤϹԥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>뤫<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD>
|
|
|
|
|
<EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
1) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>pgrowlocks<EFBFBD>μ¹Ԥϥ֥<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
2) pgrowlocks<EFBFBD>μ¹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ꡤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>ԥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>˴ؤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pgrowlocks<EFBFBD>μ¹Է<EFBFBD><EFBFBD>̤<EFBFBD>ȿ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pgrowlocks<EFBFBD>ϥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD>ϡ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD>pgrowlocks<EFBFBD><EFBFBD>locked_rows<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>礷<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p WHERE p.locked_ row = a.ctid;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. pgrowlocks<EFBFBD>Υ饤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤĤ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
pgrowlocks.c<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>˽Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD>Ǥ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BSD<EFBFBD>饤<EFBFBD><EFBFBD><EFBFBD>˽स<EFBFBD>Ƥ<EFBFBD>
|
|
|
|
|
<EFBFBD>ޤ<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>pgrowlocks <EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>ݾڤǤ<EFBFBD><EFBFBD><EFBFBD>pgrowlocks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD>Ȥˤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤˴ؤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>餤<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
5. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
2006/03/21 pgrowlocks <EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(8.2 current<EFBFBD>ǥƥ<EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
2005/08/22 pgrowlocks <EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|