summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDon Anderson <dda@ddanderson.com>2016-02-28 17:26:53 -0500
committerDon Anderson <dda@ddanderson.com>2016-02-28 17:26:53 -0500
commit5083d97a09a9e7dc525db7a4ed322983810fe522 (patch)
treed17e84d0d048923cde97d5de020d3c33c728b94f /examples
parent5f131eaeb256d6f132ee25f86ad249d3d81d3826 (diff)
downloadmongo-5083d97a09a9e7dc525db7a4ed322983810fe522.tar.gz
WT-2431 Add examples for join cursor statistics.
Diffstat (limited to 'examples')
-rw-r--r--examples/c/ex_schema.c10
-rw-r--r--examples/c/ex_stat.c37
-rw-r--r--examples/java/com/wiredtiger/examples/ex_schema.java9
-rw-r--r--examples/java/com/wiredtiger/examples/ex_stat.java32
4 files changed, 84 insertions, 4 deletions
diff --git a/examples/c/ex_schema.c b/examples/c/ex_schema.c
index fdf02d12302..e7ceb6014d6 100644
--- a/examples/c/ex_schema.c
+++ b/examples/c/ex_schema.c
@@ -69,7 +69,7 @@ main(void)
{
POP_RECORD *p;
WT_CONNECTION *conn;
- WT_CURSOR *cursor, *cursor2, *join_cursor;
+ WT_CURSOR *cursor, *cursor2, *join_cursor, *stat_cursor;
WT_SESSION *session;
const char *country;
uint64_t recno, population;
@@ -354,6 +354,14 @@ main(void)
country, year, population);
}
/*! [Join cursors] */
+
+ /*! [Statistics cursor join cursor] */
+ ret = session->open_cursor(session,
+ "statistics:join",
+ join_cursor, NULL, &stat_cursor);
+ /*! [Statistics cursor join cursor] */
+
+ ret = stat_cursor->close(stat_cursor);
ret = join_cursor->close(join_cursor);
ret = cursor2->close(cursor2);
ret = cursor->close(cursor);
diff --git a/examples/c/ex_stat.c b/examples/c/ex_stat.c
index 65402230eb8..6c5c15aacc6 100644
--- a/examples/c/ex_stat.c
+++ b/examples/c/ex_stat.c
@@ -39,6 +39,7 @@
int print_cursor(WT_CURSOR *);
int print_database_stats(WT_SESSION *);
int print_file_stats(WT_SESSION *);
+int print_join_cursor_stats(WT_SESSION *);
int print_overflow_pages(WT_SESSION *);
int get_stat(WT_CURSOR *cursor, int stat_field, uint64_t *valuep);
int print_derived_stats(WT_SESSION *);
@@ -99,6 +100,37 @@ print_file_stats(WT_SESSION *session)
}
int
+print_join_cursor_stats(WT_SESSION *session)
+{
+ WT_CURSOR *idx_cursor, *join_cursor, *stat_cursor;
+ int ret;
+
+ ret = session->create(
+ session, "index:access:idx", "columns=(v)");
+ ret = session->open_cursor(
+ session, "index:access:idx", NULL, NULL, &idx_cursor);
+ ret = idx_cursor->next(idx_cursor);
+ ret = session->open_cursor(
+ session, "join:table:access", NULL, NULL, &join_cursor);
+ ret = session->join(session, join_cursor, idx_cursor, "compare=gt");
+ ret = join_cursor->next(join_cursor);
+
+ /*! [statistics join cursor function] */
+ if ((ret = session->open_cursor(session,
+ "statistics:join", join_cursor, NULL, &stat_cursor)) != 0)
+ return (ret);
+
+ ret = print_cursor(stat_cursor);
+ ret = stat_cursor->close(stat_cursor);
+ /*! [statistics join cursor function] */
+
+ ret = join_cursor->close(join_cursor);
+ ret = idx_cursor->close(idx_cursor);
+
+ return (ret);
+}
+
+int
print_overflow_pages(WT_SESSION *session)
{
/*! [statistics retrieve by key] */
@@ -204,7 +236,8 @@ main(void)
ret = wiredtiger_open(home, NULL, "create,statistics=(all)", &conn);
ret = conn->open_session(conn, NULL, NULL, &session);
ret = session->create(
- session, "table:access", "key_format=S,value_format=S");
+ session, "table:access",
+ "key_format=S,value_format=S,columns=(k,v)");
ret = session->open_cursor(
session, "table:access", NULL, NULL, &cursor);
@@ -219,6 +252,8 @@ main(void)
ret = print_file_stats(session);
+ ret = print_join_cursor_stats(session);
+
ret = print_overflow_pages(session);
ret = print_derived_stats(session);
diff --git a/examples/java/com/wiredtiger/examples/ex_schema.java b/examples/java/com/wiredtiger/examples/ex_schema.java
index be1077ee2df..a4b46d6dfe8 100644
--- a/examples/java/com/wiredtiger/examples/ex_schema.java
+++ b/examples/java/com/wiredtiger/examples/ex_schema.java
@@ -76,7 +76,7 @@ public class ex_schema {
throws WiredTigerException
{
Connection conn;
- Cursor cursor, cursor2, join_cursor;
+ Cursor cursor, cursor2, join_cursor, stat_cursor;
Session session;
String country;
long recno, population;
@@ -368,6 +368,13 @@ public class ex_schema {
", population " + population);
}
/*! [Join cursors] */
+
+ /*! [Statistics cursor join cursor] */
+ stat_cursor = session.open_cursor(
+ "statistics:join", join_cursor, null);
+ /*! [Statistics cursor join cursor] */
+
+ ret = stat_cursor.close();
ret = join_cursor.close();
ret = cursor2.close();
ret = cursor.close();
diff --git a/examples/java/com/wiredtiger/examples/ex_stat.java b/examples/java/com/wiredtiger/examples/ex_stat.java
index b0b83a2d3b2..f8877a4620e 100644
--- a/examples/java/com/wiredtiger/examples/ex_stat.java
+++ b/examples/java/com/wiredtiger/examples/ex_stat.java
@@ -92,6 +92,33 @@ public class ex_stat {
}
int
+ print_join_cursor_stats(Session session)
+ throws WiredTigerException
+ {
+ Cursor idx_cursor, join_cursor, stat_cursor;
+ int ret;
+
+ ret = session.create("index:access:idx", "columns=(v)");
+ idx_cursor = session.open_cursor("index:access:idx", null, null);
+ ret = idx_cursor.next();
+ join_cursor = session.open_cursor("join:table:access", null, null);
+ ret = session.join(join_cursor, idx_cursor, "compare=gt");
+ ret = join_cursor.next();
+
+ /*! [statistics join cursor function] */
+ stat_cursor = session.open_cursor("statistics:join", join_cursor, null);
+
+ ret = print_cursor(stat_cursor);
+ ret = stat_cursor.close();
+ /*! [statistics join cursor function] */
+
+ ret = join_cursor.close();
+ ret = idx_cursor.close();
+
+ return (ret);
+ }
+
+ int
print_overflow_pages(Session session)
throws WiredTigerException
{
@@ -220,7 +247,8 @@ public class ex_stat {
conn = wiredtiger.open(home, "create,statistics=(all)");
session = conn.open_session(null);
- ret = session.create("table:access", "key_format=S,value_format=S");
+ ret = session.create("table:access",
+ "key_format=S,value_format=S,columns=(k,v)");
cursor = session.open_cursor("table:access", null, null);
cursor.putKeyString("key");
@@ -234,6 +262,8 @@ public class ex_stat {
ret = print_file_stats(session);
+ ret = print_join_cursor_stats(session);
+
ret = print_overflow_pages(session);
ret = print_derived_stats(session);