table of contents
other versions
- jessie 1:17.3-dfsg-4+deb8u2
- jessie-backports 1:19.2.1+dfsg-2+deb9u1~bpo8+1
- stretch 1:19.2.1+dfsg-2+deb9u2
- testing 1:21.2.5+dfsg-1
- unstable 1:21.2.6+dfsg-1
- experimental 1:22.0~rc1+dfsg-1
snmpa_local_db(3erl) | Erlang Module Definition | snmpa_local_db(3erl) |
NAME¶
snmpa_local_db - The SNMP built-in databaseDESCRIPTION¶
The module snmpa_local_db contains functions for implementing tables (and variables) using the SNMP built-in database. The database exists in two instances, one volatile and one persistent. The volatile database is implemented with ets. The persistent database is implemented with dets. There is a scaling problem with this database.- *
- Insertions and deletions are inefficient for large tables.
COMMON DATA TYPES¶
In the functions defined below, the following types are used:- *
- NameDb = {Name, Db}
- *
- Name = atom(), Db = volatile | persistent
- *
- RowIndex = [int()]
- *
- Cols = [Col] | [{Col, Value}], Col = int(), Value = term()
EXPORTS¶
dump() -> ok | {error, Reason}
Types:
Reason = term()
This function can be used to manually dump the database to file.
match(NameDb, Pattern)
Performs an ets/dets matching on the table. See Stdlib documentation, module
ets, for a description of Pattern and the return values.
print()
Types:
TableName = atom()
Prints the contents of the database on screen. This is useful for debugging
since the STANDARD-MIB and OTP-SNMPEA-MIB (and maybe your own
MIBs) are stored in snmpa_local_db.
TableName is an atom for a table in the database. When no name is
supplied, the whole database is shown.
table_create(NameDb) -> bool()
Creates a table. If the table already exist, the old copy is destroyed.
Returns false if the NameDb argument is incorrectly specified,
true otherwise.
table_create_row(NameDb, RowIndex, Row) -> bool()
Types:
Row = {Val1, Val2, ..., ValN}
Val1 = Val2 = ... = ValN = term()
Creates a row in a table. Row is a tuple with values for all columns,
including the index columns.
table_delete(NameDb) -> void()
Deletes a table.
table_delete_row(NameDb, RowIndex) -> bool()
Deletes the row in the table.
table_exists(NameDb) -> bool()
Checks if a table exists.
table_get_row(NameDb, RowIndex) -> Row | undefined
Types:
Row = {Val1, Val2, ..., ValN}
Val1 = Val2 = ... = ValN = term()
Row is a tuple with values for all columns, including the index
columns.
SEE ALSO¶
ets(3erl), dets(3erl), snmp_generic(3erl)snmp 5.1 | Ericsson AB |