head	1.6;
access;
symbols
	rpm-4_4_8-release:1.2.2.3
	rpm-4_4_7-release:1.2.2.3
	db-4_5_20:1.6
	rpm-4_4_6-release:1.2.2.2
	rpm-4_4_5-release:1.2.2.2
	db-4_4_20:1.5
	rpm-4_4_4-release:1.2.2.2
	db-4_4_16:1.5
	rpm-4_4_3-release:1.2.2.1
	db-4_4_11:1.4
	db-4_3_29:1.2
	jbj_before_tklcpatches:1.2
	rpm-4_4_2-release:1.2
	pjones-sparse-experiment:1.3.0.2
	db-4_4_4:1.3
	rpm-4_4_1-release:1.2
	db-4_3_27:1.2
	rpm-4_4-release:1.2
	rpm-4_4:1.2.0.2
	db-4_3_21:1.2
	db-4_3_14:1.2
	db-4_2_52:1.1
	rpm-4_3_1-start:1.1
	rpm-4_3:1.1.0.2;
locks; strict;
comment	@# @;
expand	@o@;


1.6
date	2006.10.01.20.18.54;	author jbj;	state Exp;
branches;
next	1.5;

1.5
date	2005.11.19.18.31.38;	author jbj;	state Exp;
branches;
next	1.4;

1.4
date	2005.10.28.17.13.18;	author jbj;	state Exp;
branches;
next	1.3;

1.3
date	2005.02.21.15.53.58;	author jbj;	state Exp;
branches;
next	1.2;

1.2
date	2004.10.16.01.31.55;	author jbj;	state Exp;
branches
	1.2.2.1;
next	1.1;

1.1
date	2003.12.15.21.42.41;	author jbj;	state Exp;
branches;
next	;

1.2.2.1
date	2005.10.28.18.44.32;	author jbj;	state Exp;
branches;
next	1.2.2.2;

1.2.2.2
date	2005.11.19.19.33.04;	author jbj;	state Exp;
branches;
next	1.2.2.3;

1.2.2.3
date	2006.10.01.22.29.21;	author jbj;	state Exp;
branches;
next	;


desc
@@


1.6
log
@Update to db-4.5.20.
@
text
@#!/bin/sh -
#	$Id: s_java_stat,v 12.14 2006/08/24 14:45:35 bostic Exp $
#
# Build the Java files.

msgjava="/*-
 * DO NOT EDIT: automatically built by dist/s_java_stat.
 *
 * See the file LICENSE for redistribution information.
 *
 * Copyright (c) 2002-2006
 *	Oracle Corporation.  All rights reserved.
 */"

s=/tmp/__java.sed
t=/tmp/__java
c=/tmp/__javajnic
u1=/tmp/__javautil1
u2=/tmp/__javautil2
trap 'rm -f $t $c $u1 $u2; exit 0' 0 1 2 3 13 15

# Script to convert DB C structure declarations into Java declarations.
jclass()
{
	cat > $s <<EOF
/struct __db_$1 {/,/^}/{
	/__db_$1/d
	/;/!d
	/^}/d
	/db_threadid_t/d
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/\\
$2    private String \1;\\
$2    public String get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/\\
$2    private long \1;\\
$2    public long get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/db_seq_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/\\
$2    private long \1;\\
$2    public long get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/DB_LSN[	 ]*/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/\\
$2    private LogSequenceNumber \1;\\
$2    public LogSequenceNumber get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/DB_TXN_ACTIVE[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/\\
$2    private Active[] \1;\\
$2    public Active[] get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/u_int8_t[	 ]*xid\[/{
		s/^[	 ]*[^	 ]*[	 ]*\([^[;]*\).*/\\
$2    private byte[] \1;\\
$2    public byte[] get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/\\
$2    private int \1;\\
$2    public int get_\1() {\\
$2        return \1;\\
$2    }/p
}
EOF
	sed -n -f $s < ../dbinc/db.in |
	perl -w -p -e 's/get_(st|bt|hash|qs|compact)_/get_/;' \
	           -e 'if (m/get.*\(/) {' \
	           -e     's/_n([b-df-hj-np-tv-z]|upgrade)/_num_$1/;' \
	           -e     's/_(min|max)([a-z])/_$1_$2/;' \
	           -e     's/_mvcc/_multiversion/;' \
	           -e     's/_cnt/_count_/;' \
	           -e     's/_pg/_pages_/;' \
	           -e     's/(count|flag|free|page|percent|size|timeout)/_$1/g;' \
	           -e     's/([^p])(id\()/$1_$2/g;' \
	           -e     's/__*/_/g;' \
	           -e     's/_(.)/\U$1/g' \
	           -e '};' \
	           -e '1'
}

# Script to convert DB C structure declarations into a JNI method to fill the
# corresponding Java class
jclass_jni()
{
	fill=__dbj_fill_$1
	j_class=$2
	jni_fieldid_decls $1 $2
	jni_fieldids $1 $2
	cat > $s <<EOF
/struct __db_$1 {/,/^}/{
	/__db_$1/d
	/;/!d
	/^}/d
	/db_threadid_t/d
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/	JAVADB_STAT_STRING(jnienv, jobj, $1_\1_fid, statp, \1);/p
		d
	}
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_LONG(jnienv, jobj, $1_\1_fid, statp, \1);/p
		d
	}
	/db_seq_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_LONG(jnienv, jobj, $1_\1_fid, statp, \1);/p
		d
	}
	/DB_LSN[	 ]*/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_LSN(jnienv, jobj, $1_\1_fid, statp, \1);/p
		d
	}
	/DB_TXN_ACTIVE[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	JAVADB_STAT_ACTIVE(jnienv, jobj, $1_\1_fid, statp, \1);/p
		d
	}
	/u_int8_t[	 ]*xid\[/{
		s/^[	 ]*[^	 ]*[	 ]*\([^[;]*\).*/	JAVADB_STAT_XID(jnienv, jobj, $1_\1_fid, statp, \1);/p
		d
	}
	s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_INT(jnienv, jobj, $1_\1_fid, statp, \1);/p
}
EOF
	echo "static int $fill(JNIEnv *jnienv," >> $c
	echo "    jobject jobj, struct __db_$1 *statp) {" >> $c
	sed -n -f $s < ../dbinc/db.in >> $c
        echo '	return (0);' >> $c
	echo '}' >> $c
}

jni_fieldid_decls()
{
	cat > $s <<EOF
/struct __db_$1 {/,/^}/{
	/__db_$1/d
	/;/!d
	/^}/d
	/db_threadid_t/d
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/static jfieldID $1_\1_fid;/p
		d
	}
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/static jfieldID $1_\1_fid;/p
		d
	}
	/db_seq_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/static jfieldID $1_\1_fid;/p
		d
	}
	/DB_LSN[	 ]*/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/static jfieldID $1_\1_fid;/p
		d
	}
	/DB_TXN_ACTIVE[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/static jfieldID $1_\1_fid;/p
		d
	}
	/u_int8_t[	 ]*xid\[/{
		s/^[	 ]*[^	 ]*[	 ]*\([^[;]*\).*/static jfieldID $1_\1_fid;/p
		d
	}
	s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/static jfieldID $1_\1_fid;/p
}
EOF
	sed -n -f $s < ../dbinc/db.in >> $u1
}

jni_fieldids()
{
	cat > $s <<EOF
/struct __db_$1 {/,/^}/{
	/__db_$1/d
	/;/!d
	/^}/d
	/db_threadid_t/d
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"Ljava\/lang\/String;\" },/p
		d
	}
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"J\" },/p
		d
	}
	/db_seq_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"J\" },/p
		d
	}
	/DB_LSN[	 ]*/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"L\" DB_PKG \"LogSequenceNumber;\" },/p
		d
	}
	/DB_TXN_ACTIVE[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"[L\" DB_PKG \"TransactionStats\$Active;\" },/p
		d
	}
	/u_int8_t[	 ]*xid\[/{
		s/^[	 ]*[^	 ]*[	 ]*\([^[;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"[B\" },/p
		d
	}
	s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"I\" },/p
}
EOF
	sed -n -f $s < ../dbinc/db.in >> $u2
}

# Script to convert DB C structure declarations into a toString method body
jclass_toString()
{
	cat > $s <<EOF
/struct __db_$1 {/,/^}/{
	/__db_$1/d
	/;/!d
	/^}/d
	/db_threadid_t/d
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/$3            + "\\\\n$3  \1=" + \1/p
		d
	}
	/DB_TXN_ACTIVE[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$3            + \"\\\\n$3  \1=\" + DbUtil.objectArrayToString(\1, \"\1\")/p
		d
	}
	/u_int8_t[	 ]*xid\[/{
		s/^[	 ]*[^	 ]*[	 ]*\([^[;]*\).*/$3            + \"\\\\n$3  \1=\" + DbUtil.byteArrayToString(\1)/p
		d
	}
	s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/$3            + \"\\\\n$3  \1=\" + \1/p
}
EOF
	echo
	echo "$3    public String toString() {"
	echo "$3        return \"$2:\""
	sed -n -f $s < ../dbinc/db.in
	echo "$3            ;"
	echo "$3    }"
}

stat_class()
{
	c_struct=__db_$1
	j_class=$2
	extends=$3

	(echo "$msgjava"
	 echo
	 echo 'package com.sleepycat.db;'
	 echo
	 echo "public class $j_class$extends {"
	 echo "    // no public constructor"
	 echo "    /* package */ $j_class() {}"
	 jclass $1
	 jclass_toString $1 $2
	 echo '}') > $t
	jclass_jni $1 $2
	f=../java/src/com/sleepycat/db/$j_class.java
	cmp $t $f > /dev/null 2>&1 ||
	    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
}

echo "$msgjava" > $c
> $u1
> $u2

stat_class bt_stat BtreeStats " extends DatabaseStats"

# Build CompactStats.java - not purely a statistics class, but close enough to
# share this code.
(echo "$msgjava"
 echo
 echo 'package com.sleepycat.db;'
 echo
 echo 'import com.sleepycat.db.internal.DbUtil;'
 echo
 echo "public class CompactStats"
 echo '{'
 echo "    // no public constructor"
 echo "    /* package */ CompactStats() {}"
 echo
 echo "    /* package */"
 echo "    CompactStats(int fillpercent, int timeout, int pages) {"
 echo "        this.compact_fillpercent = fillpercent;"
 echo "        this.compact_timeout = timeout;"
 echo "        this.compact_pages = pages;"
 echo "    }"
 jclass compact
 jclass_toString compact CompactStats
 echo '}'
 echo '// end of TransactionStats.java') |
   psed 's,public int get\(FillPercent\|Pages(\|Timeout\|Truncate\),/* package */ int get\1,g'> $t
jclass_jni compact __dbj_fill_compact
f=../java/src/com/sleepycat/db/CompactStats.java
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

stat_class h_stat HashStats " extends DatabaseStats"
stat_class lock_stat LockStats
stat_class log_stat LogStats
stat_class mpool_fstat CacheFileStats
stat_class mpool_stat CacheStats
stat_class mutex_stat MutexStats
stat_class qam_stat QueueStats " extends DatabaseStats"
stat_class rep_stat ReplicationStats
stat_class seq_stat SequenceStats

# Build TransactionStats.java - special because of embedded Active class
(echo "$msgjava"
 echo
 echo 'package com.sleepycat.db;'
 echo
 echo 'import com.sleepycat.db.internal.DbUtil;'
 echo
 echo "public class TransactionStats"
 echo '{'
 echo "    // no public constructor"
 echo "    /* package */ TransactionStats() {}"
 echo
 echo -n "    public static class Active {"
 echo    "        // no public constructor"
 echo    "        /* package */ Active() {}"
 jclass txn_active "    "
 jclass_toString txn_active Active "    "
 echo '    };'
 jclass txn_stat
 jclass_toString txn_stat TransactionStats
 echo '}'
 echo '// end of TransactionStats.java') > $t
jclass_jni txn_stat __dbj_fill_txn_stat
jclass_jni txn_active __dbj_fill_txn_active
f=../java/src/com/sleepycat/db/TransactionStats.java
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

mv $c $t
f=../libdb_java/java_stat_auto.c
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

f=../libdb_java/java_util.i
sed '/BEGIN-STAT-FIELD-DECLS/q' < $f > $t
cat $u1 >> $t
sed -n '/END-STAT-FIELD-DECLS/,/BEGIN-STAT-FIELDS/p' < $f >> $t
cat $u2 >> $t
sed -n '/END-STAT-FIELDS/,$p' < $f >> $t
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 644 $f)
@


1.5
log
@Upgrade to db-4.4.16.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 12.9 2005/11/04 00:09:21 mjc Exp $
d11 2
a12 2
 * Copyright (c) 2002-2005
 *	Sleepycat Software.  All rights reserved.
a14 1

d91 1
d143 1
a143 1
	echo "static int $fill(JNIEnv *jnienv, " >> $c
d270 1
a270 1
	 echo "    protected $j_class() {}"
d297 1
a297 1
 echo "    protected CompactStats() {}"
d308 2
a309 1
 echo '// end of TransactionStats.java') > $t
d335 1
a335 1
 echo "    protected TransactionStats() {}"
d339 1
a339 1
 echo    "        protected Active() {}"
@


1.4
log
@Update to db-4.4.11.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 12.5 2005/10/19 14:04:26 mjc Exp $
d31 1
d40 9
a48 1
	/time_t\|db_seq_t/{
d90 1
a90 1
	           -e     's/_n([b-df-hj-np-tv-z])/_num_$1/;' \
d92 4
a95 2
	           -e     's/pg(.)/_pages_$1/;' \
	           -e     's/(count|flag|free|id\(|page|size|timeout)/_$1/g;' \
d115 1
d157 1
d195 1
d200 5
a204 1
	/time_t\|db_seq_t/{
d234 1
@


1.3
log
@Upgrade to db-4.4.4.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 12.0 2004/11/17 03:43:35 bostic Exp $
d11 1
a11 1
 * Copyright (c) 2002-2004
d31 2
a32 2
	/char[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/\\
d39 1
a39 9
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/\\
$2    private long \1;\\
$2    public long get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/db_seq_t/{
d79 1
a79 1
	perl -w -p -e 's/get_(st|bt|hash|qs)_/get_/;' \
d104 2
a105 2
	/char[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	JAVADB_STAT_STRING(jnienv, jobj, $1_\1_fid, statp, \1);/p
d145 2
a146 2
	/char[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/static jfieldID $1_\1_fid;/p
d182 2
a183 2
	/char[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"Ljava\/lang\/String;\" },/p
d186 1
a186 5
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"J\" },/p
		d
	}
	/db_seq_t/{
d216 2
a217 2
	/char[	 ]*\*/{
		s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$3            + "\\\\n$3  \1=" + \1/p
d266 29
d300 1
@


1.2
log
@... and in with the New ...
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 1.33 2004/09/28 19:30:36 mjc Exp $
@


1.2.2.1
log
@Update to db-4.4.11.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 12.5 2005/10/19 14:04:26 mjc Exp $
d11 1
a11 1
 * Copyright (c) 2002-2005
d31 2
a32 2
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/\\
d39 9
a47 1
	/time_t\|db_seq_t/{
d87 1
a87 1
	perl -w -p -e 's/get_(st|bt|hash|qs|compact)_/get_/;' \
d112 2
a113 2
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/	JAVADB_STAT_STRING(jnienv, jobj, $1_\1_fid, statp, \1);/p
d153 2
a154 2
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/static jfieldID $1_\1_fid;/p
d190 2
a191 2
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"Ljava\/lang\/String;\" },/p
d194 5
a198 1
	/time_t\|db_seq_t/{
d228 2
a229 2
	/char[	 ]*/{
		s/^[	 ]*char[*	 ]*[	 ]*\([^[;]*\).*/$3            + "\\\\n$3  \1=" + \1/p
a277 29

# Build CompactStats.java - not purely a statistics class, but close enough to
# share this code.
(echo "$msgjava"
 echo
 echo 'package com.sleepycat.db;'
 echo
 echo 'import com.sleepycat.db.internal.DbUtil;'
 echo
 echo "public class CompactStats"
 echo '{'
 echo "    // no public constructor"
 echo "    protected CompactStats() {}"
 echo
 echo "    /* package */"
 echo "    CompactStats(int fillpercent, int timeout, int pages) {"
 echo "        this.compact_fillpercent = fillpercent;"
 echo "        this.compact_timeout = timeout;"
 echo "        this.compact_pages = pages;"
 echo "    }"
 jclass compact
 jclass_toString compact CompactStats
 echo '}'
 echo '// end of TransactionStats.java') > $t
jclass_jni compact __dbj_fill_compact
f=../java/src/com/sleepycat/db/CompactStats.java
cmp $t $f > /dev/null 2>&1 ||
    (echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)

a282 1
stat_class mutex_stat MutexStats
@


1.2.2.2
log
@- upgrade to db-4.4.16.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 12.9 2005/11/04 00:09:21 mjc Exp $
a30 1
	/db_threadid_t/d
d39 1
a39 9
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/\\
$2    private long \1;\\
$2    public long get_\1() {\\
$2        return \1;\\
$2    }/p
		d
	}
	/db_seq_t/{
d81 1
a81 1
	           -e     's/_n([b-df-hj-np-tv-z]|upgrade)/_num_$1/;' \
d83 2
a84 4
	           -e     's/_cnt/_count_/;' \
	           -e     's/_pg/_pages_/;' \
	           -e     's/(count|flag|free|page|percent|size|timeout)/_$1/g;' \
	           -e     's/([^p])(id\()/$1_$2/g;' \
a103 1
	/db_threadid_t/d
a144 1
	/db_threadid_t/d
a181 1
	/db_threadid_t/d
d186 1
a186 5
	/time_t/{
		s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	{ \&$1_\1_fid, \&$1_class, \"\1\", \"J\" },/p
		d
	}
	/db_seq_t/{
a215 1
	/db_threadid_t/d
@


1.2.2.3
log
@Merge db-4.5.20 onto rpm-4_4 branch.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 12.14 2006/08/24 14:45:35 bostic Exp $
d11 2
a12 2
 * Copyright (c) 2002-2006
 *	Oracle Corporation.  All rights reserved.
d15 1
a91 1
	           -e     's/_mvcc/_multiversion/;' \
d143 1
a143 1
	echo "static int $fill(JNIEnv *jnienv," >> $c
d270 1
a270 1
	 echo "    /* package */ $j_class() {}"
d297 1
a297 1
 echo "    /* package */ CompactStats() {}"
d308 1
a308 2
 echo '// end of TransactionStats.java') |
   psed 's,public int get\(FillPercent\|Pages(\|Timeout\|Truncate\),/* package */ int get\1,g'> $t
d334 1
a334 1
 echo "    /* package */ TransactionStats() {}"
d338 1
a338 1
 echo    "        /* package */ Active() {}"
@


1.1
log
@- upgrade to db-4.2.52.
@
text
@d2 1
a2 1
#	$Id: s_java_stat,v 1.26 2003/09/04 23:59:04 bostic Exp $
d6 8
a13 1
msgjava="/* DO NOT EDIT: automatically built by dist/s_java_stat. */"
d15 2
d19 3
a21 2
h=/tmp/__javajnih
trap 'rm -f $t $c $h; exit 0' 0 1 2 3 13 15
d26 71
a96 28
	cat ../dbinc/db.in |
	sed -n \
	-e "/struct $1 {/,/^}/{" \
	-e "/$1/d" \
	-e '/;/!d' \
	-e '/^}/d' \
	-e '/char[	 ]*\*/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$2    public String \1;/p"\
	-e 'd' \
	-e '}' \
	-e '/time_t/{' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/$2    public long \1;/p" \
	-e 'd' \
	-e '}' \
	-e '/DB_LSN[	 ]*/{' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/$2    public DbLsn \1;/p"\
	-e 'd' \
	-e '}' \
	-e '/DB_TXN_ACTIVE[	 ]*\*/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$2    public Active \1[];/p"\
	-e 'd' \
	-e '}' \
	-e '/u_int8_t[	 ]*xid\[/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$2    public byte[] xid;/p"\
	-e 'd' \
	-e '}' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/$2    public int \1;/p" \
	-e '}'
d99 2
a100 1
# Script to convert DB C structure declarations into Java declarations.
d103 39
a141 31
	c=$3
	echo "static int $2(JNIEnv *jnienv, jclass cl," >> $c
	echo "    jobject jobj, struct $1 *statp) {" >> $c
	cat ../dbinc/db.in |
	sed -n \
	-e "/struct $1 {/,/^}/{" \
	-e "/$1/d" \
	-e '/;/!d' \
	-e '/^}/d' \
	-e '/char[	 ]*\*/{' \
            -e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	JAVADB_STAT_STRING(jnienv, cl, jobj, statp, \1);/p"\
	-e 'd' \
	-e '}' \
	-e '/time_t/{' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_LONG(jnienv, cl, jobj, statp, \1);/p" \
	-e 'd' \
	-e '}' \
	-e '/DB_LSN[	 ]*/{' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_LSN(jnienv, cl, jobj, statp, \1);/p"\
	-e 'd' \
	-e '}' \
	-e '/DB_TXN_ACTIVE[	 ]*\*/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	JAVADB_STAT_ACTIVE(jnienv, cl, jobj, statp, \1);/p"\
	-e 'd' \
	-e '}' \
	-e '/u_int8_t[	 ]*xid\[/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/	JAVADB_STAT_XID(jnienv, cl, jobj, statp, xid);/p"\
	-e 'd' \
	-e '}' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/	JAVADB_STAT_INT(jnienv, cl, jobj, statp, \1);/p" \
	-e '}' >> $c
d146 74
d223 21
a243 6
	echo "/**"
	echo " * Provide a string representation of all the fields contained"
	echo " * within this class."
	echo " *"
	echo " * @@return The string representation."
	echo " */"
d246 1
a246 20
	cat ../dbinc/db.in |
	sed -n \
	-e "/struct $1 {/,/^}/{" \
	-e "/$1/d" \
	-e '/;/!d' \
	-e '/^}/d' \
	-e '/char[	 ]*\*/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$3            + \"\\\\n$3  \1=\" + \1/p"\
	-e 'd' \
	-e '}' \
	-e '/DB_TXN_ACTIVE[	 ]*\*/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$3            + \"\\\\n$3  \1=\" + DbUtil.objectArrayToString(\1, \"\1\")/p"\
	-e 'd' \
	-e '}' \
	-e '/u_int8_t[	 ]*xid\[/{' \
	-e "s/^[	 ]*[^\*]*\*[	 ]*\([^;]*\).*/$3            + \"\\\\n$3  xid=\" + DbUtil.byteArrayToString(xid)/p"\
	-e 'd' \
	-e '}' \
	-e "s/^[	 ]*[^	 ]*[	 ]*\([^;]*\).*/$3            + \"\\\\n$3  \1=\" + \1/p"\
	-e '}'
a250 2
echo "$msgjava" >> $c

d253 1
a253 1
	c_struct=$1
d255 1
a255 1
	fill=$3
d261 7
a267 14
	 echo "/**"
	 echo " * Statistics associated with $j_class generated by"
	 echo " * DbEnv on request.<p>"
	 echo " * The information contained within instances of this"
	 echo " * class is a snapshot in time, it is not continually updated."
	 echo " */"
	 echo "public class $j_class"
	 echo '{'
	 jclass $c_struct
	 echo
	 jclass_toString $c_struct $j_class
	 echo '}'
	 echo "// end of $j_class.java") > $t
	jclass_jni $c_struct $fill $c
d273 22
a294 21
stat_class __db_bt_stat DbBtreeStat __dbj_fill_bt_stat
stat_class __db_h_stat DbHashStat __dbj_fill_h_stat
stat_class __db_lock_stat DbLockStat __dbj_fill_lock_stat
stat_class __db_log_stat DbLogStat __dbj_fill_log_stat
stat_class __db_mpool_fstat DbMpoolFStat __dbj_fill_mpool_fstat
stat_class __db_mpool_stat DbMpoolStat __dbj_fill_mpool_stat
stat_class __db_qam_stat DbQueueStat __dbj_fill_qam_stat
stat_class __db_rep_stat DbRepStat __dbj_fill_rep_stat

# Build DbTxnStat.java - special because of embedded Active class
(echo "$msgjava" &&
 echo &&
 echo 'package com.sleepycat.db;' &&
 echo &&
 echo "/**"
 echo " * Statistics associated with DbTxnStat generated by"
 echo " * DbEnv on request."
 echo " * The information contained within instances of this"
 echo " * class is a snapshot in time, it is not continually updated."
 echo " */"
 echo "public class DbTxnStat"
d296 8
a303 4
 echo "    public static class Active {"
 jclass __db_txn_active "    "
 jclass_toString __db_txn_active Active "    "

d305 2
a306 2
 jclass __db_txn_stat
 jclass_toString __db_txn_stat DbTxnStat
d308 4
a311 4
 echo '// end of DbTxnStat.java') > $t
jclass_jni __db_txn_stat __dbj_fill_txn_stat $c $h
jclass_jni __db_txn_active __dbj_fill_txn_active $c $h
f=../java/src/com/sleepycat/db/DbTxnStat.java
d319 9
@

