diff options
author | Sverker Eriksson <[email protected]> | 2018-10-16 20:04:33 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-10-23 12:36:28 +0200 |
commit | 375a1f5c29fd2d3b537e117149e78b0ac61e263f (patch) | |
tree | 10c2af9a4a2825cf4344c51f7d648eff71f1aff1 /erts/emulator/beam/erl_db.c | |
parent | 89133a5589c32529bb33d53de0ae0f0c687ace9c (diff) | |
download | otp-375a1f5c29fd2d3b537e117149e78b0ac61e263f.tar.gz otp-375a1f5c29fd2d3b537e117149e78b0ac61e263f.tar.bz2 otp-375a1f5c29fd2d3b537e117149e78b0ac61e263f.zip |
erts: Implement ets:info(T, stats) for catrees
{RouteNodes, BaseNodes, MaxRouteTreeDepth}
Diffstat (limited to 'erts/emulator/beam/erl_db.c')
-rw-r--r-- | erts/emulator/beam/erl_db.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_db.c b/erts/emulator/beam/erl_db.c index 3653c0bf7c..337efa94bd 100644 --- a/erts/emulator/beam/erl_db.c +++ b/erts/emulator/beam/erl_db.c @@ -4247,9 +4247,20 @@ static Eterm table_info(Process* p, DbTable* tb, Eterm What) make_small(stats.max_chain_len), make_small(stats.kept_items)); } - else { + else if (IS_CATREE_TABLE(tb->common.status)) { + DbCATreeStats stats; + Eterm* hp; + + db_calc_stats_catree(&tb->catree, &stats); + hp = HAlloc(p, 4); + ret = TUPLE3(hp, + make_small(stats.route_nodes), + make_small(stats.base_nodes), + make_small(stats.max_depth)); + + } + else ret = am_false; - } } return ret; } |