Operations - DbMon
DbMon is the Genesis database client. It provides a set of commands that enable you to view and change the database as necessary. DbMon hides the details of the specific database technology, so this does not affect your usage.
You can use Generic database clients to work with the Genesis Application Platform, but we recommend that you use DbMon.
This page gives details of all the DbMon commands and provides practical examples of how you can use them.
Starting DbMon
To start a DbMon session, first switch to the user that owns the Genesis installation. Then type DbMon at the command prompt:
[titian] /home/titian >DbMon
==================================
Genesis database Monitor
Enter 'help' for a list of commands
==================================
DbMon>
As you can see, once you are in a DbMon session, the DbMon> prompt is displayed:
Exiting DbMon
To end a DbMon session, just type quit at the DbMon> prompt.
Finding and viewing information
A Genesis database organizes information in tables and views. DbMon enables you to:
- find all the tables in your database (showTables)
- select a table to examine (table)
- find all the views in your database (showViews)
- select a view to examine (view)
The showTables and showViews commands display an alphabetic list of available tables or views. For example, here we have used the command showTables:
==================================
List of tables
==================================
ACCOUNT
ADIF_SSI
ALERT
ALERT_AUDIT
ALT_COUNTERPARTY_ID
ALT_INSTRUMENT_ID
APPROVAL
APPROVAL_AUDIT
APPROVAL_ENTITY
APPROVAL_ENTITY_COUNTER
AUDIT
AUDIT_SSI_UPDATE
AUDIT_TRAIL
BROKER
<<List continues...>>
Selecting a table
To look at the data held in a specific table, use the table command followed by the table name: for example table BROKER. Once you have selected a table, the DbMon prompt changes to show the table name.
DbMon>table BROKER
DbMon:BROKER>
Selecting a view
To look at the data held in a specific view, use the view command followed by the view name: for example view BROKER_VIEW. Once you have selected a view, the DbMon prompt changes to show the view name.
DbMon>view BROKER_VIEW
DbMon:BROKER_VIEW>
Viewing the columns in a table or view
To see the columns in the currently selected table or view, use the show command. This displays the columns (fields) for the current record. If you haven't already retrieved a specific record, the Value column will be empty (as you can see in the example below):
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
TIMESTAMP                                                           NANO_TIMESTAMP
BROKER_ID                                                           INT
BROKER_PARENT_ID                                                    INT
CODE                                                                STRING
CODE_TYPE                                                           STRING
COUNTRY_CODE                                                        STRING
CREATED_DATE                                                        DATETIME
CREATED_USER                                                        STRING
EXTERNAL_ID                                                         STRING
FID_BROKER_ID                                                       STRING
IS_ACTIVE                                                           BOOLEAN
LEI_NUMBER                                                          STRING
MODIFIED_DATE                                                       DATETIME
MODIFIED_USER                                                       STRING
NAME                                                                STRING
NETTING_GROUP_ID                                                    INT
REGION                                                              STRING
VIEW_CODE                                                           STRING
Viewing selected columns
If you are only interested in seeing selected columns, use the displayFields command and list the names of the columns you are interested in (separated by spaces).
While you continue to work on the selected table or view, subsequent show commands will only display those columns. To view all the columns again, use the displayFields command followed by no column names.
In the example below, we have used displayFields to view four specific columns:
DbMon:BROKER>displayFields BROKER_ID NAME REGION COUNTRY_CODE
Display fields set!
DbMon:BROKER>show
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
BROKER_ID                                                           INT
COUNTRY_CODE                                                        STRING
NAME                                                                STRING
REGION                                                              STRING
DbMon:BROKER>displayFields
Display fields reset!
Finding and viewing a specific record
In DbMon you can only see one record at a time.
To display the record you want, use the find command, which searches the table’s indices for a given key value.
So you need to know what the indices (keys) are for the currently selected table or view; for this, use the showKeys command. This lists each key (index), along with the field name you need to supply to use the index.  In the example below, the BROKER table has a primary index (BROKER_BY_ID, where the relevant field is BROKER_ID) and three secondary indices.
DbMon:BROKER>showKeys
==================================
BROKER
==================================
Key Name                           Field Name                               Index Type
=======================================================
BROKER_BY_BROKER_EXTERNAL_ID       EXTERNAL_ID                              Secondary
------------------------------------------------------------------------------------------
BROKER_BY_ID                       BROKER_ID                                Primary
------------------------------------------------------------------------------------------
BROKER_BY_TIMESTAMP                TIMESTAMP                                Secondary
------------------------------------------------------------------------------------------
BROKER_BY_VIEW_CODE                VIEW_CODE                                Secondary
	------------------------------------------------------------------------------------------
Now that you know the indices and the fields they require, you can find a record in the table or view.
The example below looks for a broker that has a VIEW_CODE value of WALSH.
- The setcommand sets the value of theVIEW_CODEto the valueWALSH. This is a local setting; it does not change the database.
- The [find]](#dbmon-commands) command looks for the index (key)BROKER_BY_VIEW_CODE.
- The [show]](#dbmon-commands) command displays the result.
DbMon:BROKER>set VIEW_CODE WALSH
DbMon:BROKER>find BROKER_BY_VIEW_CODE
DbMon:BROKER>show
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
TIMESTAMP                 2024-07-08 14:14:26.818(n:0,s:2630)       NANO_TIMESTAMP
BROKER_ID                 725                                       INT
BROKER_PARENT_ID          724                                       INT
CODE                      114216                                    STRING
CODE_TYPE                 Registered                                STRING
COUNTRY_CODE              GBR                                       STRING
CREATED_DATE              2022-12-11 11:43:53.210 +0000             DATETIME
CREATED_USER              ismail.augustine                          STRING
EXTERNAL_ID               725N                                      STRING
FID_BROKER_ID             WALSH                                     STRING
IS_ACTIVE                 true                                      BOOLEAN
LEI_NUMBER                MP6I5ZYZBEU3UXPYFY54                      STRING
MODIFIED_DATE             2024-03-14 09:44:25.703 +0000             DATETIME
MODIFIED_USER             ismail.augustine                          STRING
NAME                      WALSH Bank Plc                            STRING
NETTING_GROUP_ID                                                    INT
REGION                    UK                                        STRING
VIEW_CODE                 WALSH                                     STRING
Clearing the context
If you then want to find a record with a different VIEW_CODE, use the clear command to clear the record. You can then use set and find commands to locate the new record.
The clear command does not change the database.
Searching for one or more records
To look for a record (or a number of records) without using an index (key), use the search command. This lists all the records that match the criteria that you supply.
For larger tables, this can be slow and could cause latency to users of your application.
For example, to find all the records in the BROKER table where the COUNTRY_CODE is IRL:
DbMon:BROKER>search COUNTRY_CODE=='IRL'
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
TIMESTAMP                 2022-02-12 11:07:58.116339964             NANO_TIMESTAMP
BROKER_ID                 4001                                      INT
BROKER_PARENT_ID                                                    INT
CODE                      223987                                    STRING
CODE_TYPE                 Registered                                STRING
COUNTRY_CODE              IRL                                       STRING
CREATED_DATE              2022-10-08 14:20:17.400 +0000             DATETIME
CREATED_USER              john.clement                              STRING
EXTERNAL_ID               4001N                                     STRING
FID_BROKER_ID             SISS                                      STRING
IS_ACTIVE                 true                                      BOOLEAN
LEI_NUMBER                636400IBV22ZOU1NFS87                      STRING
MODIFIED_DATE             2022-10-08 14:20:17.400 +0000             DATETIME
MODIFIED_USER             john.clement                              STRING
NAME                      Phillip N Orion ltd                       STRING
NETTING_GROUP_ID          601                                       INT
REGION                    UK                                        STRING
VIEW_CODE                 SISS                                      STRING
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Total Results:  1
The example above found only one record, so it displayed it. If there are multiple records that match the search criteria, these are listed one after the other on the screen.
DbMon:BROKER>search COUNTRY_CODE=='USA'
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
<Results Snipped>
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Total Results:  6
To limit the number of results, you can supply the limit (-l) parameter to the search command. In the example below, we repeat the previous search, but limit the number of results to the first three.
DbMon:BROKER>search COUNTRY_CODE=='USA' -l 3
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
<Results Snipped>
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Total Results:  3
To join criteria together, use || for logical OR and && for logical AND. For example, if you want to search for any BROKER where the COUNTRY_CODE is USA or IRL:
DbMon:BROKER>search COUNTRY_CODE=='IRL'||COUNTRY_CODE=='USA'
==================================
BROKER
==================================
Field Name                Value                                     Type
===========================================================================================
<Results Snipped>
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Total Results
The logical operators available are:
| Symbol | Name | 
|---|---|
| == | Equality (Equal To) | 
| != | Non-Equality (Not Equal To) | 
| > | Greater Than | 
| < | Less Than | 
| && | Logical And | 
| Logical Or | 
Searching with wildcards
You can search using the * wildcard. Note that this might be quite slow if running against a large dataset. For example:
DbMon:USER_ATTRIBUTES>search USER_NAME.matches('Dealer1.*')
==================================
USER_ATTRIBUTES
==================================
Field Name                               Value                                    Type
===========================================================================================
<Results snipped>
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Total Results:  3
Searching for a date or datetime
To search for a DATE, you must specify the date in the format:
- DATE_FORMAT = "yyyyMMdd"
To search for a datetime, you can specify any of the following formats:
- DateTime with milliseconds precision: DATETIME_FORMAT = "yyyyMMdd-HH:mm:ss.SSS"
- DateTime with seconds precision: DATETIME_FORMAT = "yyyyMMdd-HH:mm:ss"
- DateTime with minutes precision: DATETIME_FORMAT = "yyyyMMdd-HH:mm"
- DateTime with day precision = "yyyyMMdd"
- DateTime with day precision = "yyyy-MM-dd"
Here are some examples of searches for datetimes and dates:
// if MODIFIED_DATE is 2022-10-08 14:20:17.400 in database
DbMon:BROKER>search MODIFIED_DATE=="20221008-14:20:17.400"
// if MODIFIED_DATE is 2022-10-08 14:20:17 in database
DbMon:BROKER>search MODIFIED_DATE=="20221008-14:20:17"
// if MODIFIED_DATE is 2022-10-08 14:20 in database
DbMon:BROKER>search MODIFIED_DATE>"20221008-14:20" && COUNTRY_CODE=='IRL'
// if MODIFIED_DATE is 2022-10-08 in database
DbMon:BROKER>search MODIFIED_DATE=="20221008" || COUNTRY_CODE=='IRL'
Searching for timestamps
Timestamps, are made of a timestamp in milliseconds, the sequence id and the node id: for example, 2023-01-01 00:00:00.000 (n:0, s:1).
You can search for a timestamp using the same formats as datetime. Those formats are:
- yyyyMMdd-hh:mm:ss.SSS
- yyyyMMdd-hh:mm:ss
- yyyyMMdd-hh:mm
- yyyyMMdd
- yyyy-MM-dd
To search for timestamps, you must use ranges - you cannot use specific values. For example, if you wanted to search for records with a timestamp of 2023-01-01 00:00:00.000 rather than searching:
search TIMESTAMP=="20230101"
you could do:
search TIMESTAMP>"20221231" && TIMESTAMP<"20230102"
You could also search for all records with a timestamp after a specific time. For example:
search TIMESTAMP>"20230817-06:12:52.313"
Counting rows (records)
To discover how many rows of data there are in the currently selected table or view, use the count command. For large database entities, this could take some time to return:
DbMon:BROKER>count
The table BROKER contains 114 records
Finding distinct records
The distinct command provides another useful way of searching. Here are some examples of searches that use the distinct command to find records with a specific field value, which were modified at a specific date or datetime:
// if MODIFIED_DATE is 2022-10-08 14:20:17.400 in database
DbMon:BROKER>distinct BROKER_ID -where MODIFIED_DATE=="20221008-14:20:17.400"
// if MODIFIED_DATE is 2022-10-08 14:20:17 in database
DbMon:BROKER>distinct BROKER_ID -where MODIFIED_DATE>"20221008-14:20:17" && IS_ACTIVE=='true'
// if MODIFIED_DATE is 2022-10-08 14:20 in database
DbMon:BROKER>distinct BROKER_ID -where MODIFIED_DATE<"20221008-14:20" || IS_ACTIVE=='true'
// if MODIFIED_DATE is 2022-10-08 in database
DbMon:BROKER>distinct BROKER_ID -where MODIFIED_DATE=="20221008"
The distinct command is also useful for counting records with specific characteristics.
In the example below, the distinct command is used to find out how many BROKER records there are for each unique COUNTRY_CODE.
DbMon:BROKER>distinct COUNTRY_CODE
Distinct Value                           Count
===========================================================================================
AUS                                      1
BEL                                      1
DEU                                      1
FRA                                      2
GBR                                      114
IRL                                      1
NLD                                      2
USA                                      6
-------------------------------------------------------------------------------------------
Total Results:  128
Total Distinct Values Count:  8
The distinct command also accepts a -where parameter, which enables you to filter the rows that are counted.
The next example retrieves the count of unique COUNTRY_CODE for BROKER records that have a REGION of UK, but which do not have the value of GBP for COUNTRY_CODE:
DbMon:BROKER>distinct COUNTRY_CODE -where REGION=='UK'&&COUNTRY_CODE!='GBR'
Distinct Value                           Count
===========================================================================================
AUS                                      1
BEL                                      1
DEU                                      1
FRA                                      2
IRL                                      1
NLD                                      2
-------------------------------------------------------------------------------------------
Total Results:  8
Total Distinct Values Count:  6
So, what has this found?
- At the bottom, the Total Results is 8. There are 8 records where the region is UK but the country code is not GBR.
- The Distinct Values is 6. There are 6 Country Codes where the region is UK, but whose country code is not GBR. These are the six rows displayed.
Note that there is no validation of the field when you use the distinct command. So if we ran the previous example, but we incorrectly typed COUNTRY_COD instead of COUNTRY_CODE. The command would still work, but the result is potentially confusing.
DbMon:BROKER>distinct COUNTRY_COD -where REGION=='UK'&&COUNTRY_CODE!='GBR'
Distinct Value                           Count
===========================================================================================
[null]                                   8
-------------------------------------------------------------------------------------------
Total Results:  8
Total Distinct Values Count:  1
So, what happened there?
- There are no instances of Country_COD, so the only Distinct Value is [null].
- However, the count is still 8 for this line, because there are 8 records where the region is UK but the country code is not GBR.
- The Total Results value is the sum of the counts: 8. If your field was invalid, then the Total Results will always equal the count because there is only one value found - null.
- The Total Distinct Values Count is effectively the number of rows: 1. Only one value was found - null.
Finding the first and last record
If you are interested in selecting the first or the last record, you can use the first or last along with the index name. You need to run the show command to view that record.
In the following example, we select the first record in the TRADE table using the index TRADE_BY_ID; we then use show to see the record.
DbMon:TRADE>first TRADE_BY_ID
DbMon:TRADE>show
==================================
TRADE
==================================
Field Name                               Value                                    Type
===========================================================================================
TIMESTAMP                                2023-08-15 12:09:47.802(n:0,s:112)       NANO_TIMESTAMP
COUNTERPARTY_ID                          3                                        STRING
DIRECTION                                BUY                                      ENUM[BUY SELL]
ENTERED_BY                               admin                                    STRING
INSTRUMENT_ID                            1                                        STRING
PRICE                                    76.0                                     DOUBLE
QUANTITY                                 99                                       INT
SYMBOL                                   EUR                                      STRING
TRADE_DATE                                                                        DATE
TRADE_ID                                 0350e01b-7064-4c60-8bcc-6084b6bee342T... STRING
TRADE_STATUS                             NEW                                      ENUM[NEW ALLOCATED CANCELLED]
Displaying the next record
To view the next record in the currently selected table or view, use the next command and then the show command. With the next command, you must always specify a valid index for the table.
The following example displays the next record in the currently selected table (TRADE), where the index is TRADE_BY_ID.
DbMon:TRADE>next TRADE_BY_ID
DbMon:TRADE>show
==================================
TRADE
==================================
Field Name                               Value                                    Type
===========================================================================================
TIMESTAMP                                2023-08-15 12:09:10.992(n:0,s:103)       NANO_TIMESTAMP
COUNTERPARTY_ID                          3                                        STRING
DIRECTION                                BUY                                      ENUM[BUY SELL]
ENTERED_BY                               admin                                    STRING
INSTRUMENT_ID                            1                                        STRING
PRICE                                    76.0                                     DOUBLE
QUANTITY                                 99                                       INT
SYMBOL                                   EUR                                      STRING
TRADE_DATE                                                                        DATE
TRADE_ID                                 a4ce9a4c-21e1-416c-ae48-401eeef3f3b9T... STRING
TRADE_STATUS                             NEW                                      ENUM[NEW ALLOCATED CANCELLED]
Changing the database
Whenever you make a change to the database, you must use first the command writeMode. This is designed to protect the database against casual or unintended changes.
To change a field value in a record:
- Find the table or view that the field belongs to.
- Select that table or view.
- Find and show the record that you want to change.
- Set the value of the field.
- Run writeMode.
- Insert the new value.
Changing the value of a field
The set command enables you to set the value of a specific field in the record you are viewing from the currently selected table or view. You need to set the value before you write to the database. The set command itself does not change the database. This protects the database from casual changes.
In the example below, we are viewing a record in the TRADE table. The command sets a new value for the QUANTITY field:
DbMon:TRADE>set QUANTITY 10
In the example below, we are viewing the TRADE table. We set new values for the PRICE and QUANTITY fields:
DbMon:TRADE>set PRICE,QUANTITY 523.1,9000
To set a value to null, use the unset command, for example:
DbMon:TRADE>unset QUANTITY
The set and unset commands themselves do not change the database.
Inserting a new record
To insert a new record into a table in the database, use the insert command. You will always be asked to confirm the command.
- Find and select the required table or view, and show the fields.
- Set the values of the required fields.
- Enable writeMode.
- Insert.
In the example below, we use the set command to create a new record before inserting it into the TRADE table of the database.
DbMon:TRADE>set PRICE 80
DbMon:TRADE>set QUANTITY 70
DbMon:TRADE>set TRADE_ID DbMonTest
DbMon:TRADE>show
==================================
TRADE
==================================
Field Name                               Value                                    Type
===========================================================================================
TIMESTAMP                                                                         NANO_TIMESTAMP
COUNTERPARTY_ID                          1                                        STRING
DIRECTION                                BUY                                      ENUM[BUY SELL]
ENTERED_BY                               admin                                    STRING
INSTRUMENT_ID                            1                                        STRING
PRICE                                    80.0                                     DOUBLE
QUANTITY                                 70                                       INT
SYMBOL                                   EUR                                      STRING
TRADE_DATE                                                                        DATE
TRADE_ID                                 DbMonTest                                STRING
TRADE_STATUS                             NEW                                      ENUM[NEW ALLOCATED CANCELLED]
DbMon:TRADE>insert
Are you sure you wish to execute the command? Y/N
y
Record saved
The insert command always inserts a new record with the values you have set. It does not (and cannot) change any existing record. You can only change an existing record using the update command.
Deleting rows
To delete a row from a table, use the delete command.
- Find the record you need to delete.
- Run writeModeto enable write mode.
- Run delete.
If you do not select a record, the command deletes the last record in the table.
The example below deletes the last record in the TRADE table:
DbMon:TRADE>writeMode
DbMon:TRADE>delete
Are you sure you wish to execute the command? Y/N
y
Record deleted
deleteWhere
The deleteWhere command finds all records that match the specified criteria in the currently selected table, and deletes them. You are always prompted to confirm that you wish to execute the command.
- Find and select the required table or view.
- Enable writeMode.
- Run deleteWhere.
In the example below, the currently selected table is TRADE. We delete all records that have a QUANTITY value greater than 100.
DbMon:TRADE>writeMode
DbMon:TRADE>deleteWhere QUANTITY > 100
Are you sure you wish to execute the command? Y/N
y
Deleted record: DbRecord [tableName=TRADE] [PRICE = 9.0, SYMBOL = EUR, QUANTITY = 888, DIRECTION = BUY, TIMESTAMP = 2023-08-15 12:09:55.422(n:0,s:119) (7097187651224076407), TRADE_DATE = null, RECORD_ID = 7097187651224076407, COUNTERPARTY_ID = 3, TRADE_ID = 3aa96a32-0fdb-47e1-b96b-243dfa265e5cTRLO1, TRADE_STATUS = NEW, INSTRUMENT_ID = 1, ENTERED_BY = admin, ]
Deleted record: DbRecord [tableName=TRADE] [PRICE = 76.0, SYMBOL = EUR, QUANTITY = 888, DIRECTION = BUY, TIMESTAMP = 2023-08-15 12:09:52.163(n:0,s:116) (7097187637554839668), TRADE_DATE = null, RECORD_ID = 7097187637554839668, COUNTERPARTY_ID = 3, TRADE_ID = 0750ffa9-f080-4256-b0e4-efa0369d089cTRLO1, TRADE_STATUS = NEW, INSTRUMENT_ID = 1, ENTERED_BY = admin, ]
2 records deleted
Updating rows
The update command updates the specified fields in the selected row of the currently selected table. You must provide a key_name. You will always be prompted to confirm the update.
- Find and select the required table or view.
- Find and select the record that you want to update.
- Enable writeMode.
- Set the values of the required fields.
- Update.
In the example below, TRADE is the currently selected table. We use the set command to set the PRICE field to 50, and then update command to update the TRADE_BY_UPDATE_PRICE.
DbMon:TRADE>writeMode
DbMon:TRADE>set PRICE 50
DbMon:TRADE>update TRADE_BY_ID PRICE
Are you sure you wish to execute the command? Y/N
y
Record updated
UpdateWhere
Use the updateWhere command to update all records in the current table or view, which match specific criteria. You will always be prompted to confirm the update.
- Find and select the required table or view.
- Enable writeMode.
- Run updateWhere.
Here is an example of how to use updateWhere. In this example, we are updating the QUANTITY value to 10 for all records in TRADE with id = genesis1.
DbMon:TRADE>writeMode
DbMon:TRADE>updateWhere TRADE_ID=="genesis1" QUANTITY=10
Are you sure you wish to execute the command? Y/N
y
Updated record: DbRecord [tableName=TRADE] [PRICE = 90.0, SYMBOL = EUR, QUANTITY = 10, DIRECTION = BUY, TIMESTAMP = 2023-08-15 19:14:01.488(n:0,s:104) (7097294379760484456), TRADE_DATE = null, RECORD_ID = 7097293333759787097, COUNTERPARTY_ID = 1, TRADE_STATUS = NEW, TRADE_ID = genesis1, INSTRUMENT_ID = 1, ENTERED_BY = admin, ]
1 records updated
Copying a record
You can use DbMonto insert a copy of a record into the database, but note that:
- You must unsetany generated fields before proceeding; a generated field must always be unique.
- You must unsetany fields that are unique indices before proceeding; any field that is a unique index must contain a unique value.
To insert a copy of a record:
- Find the record that you want to copy. This is now the current record.
- Use unsetto clear any generated fields or any field that is a unique index.
- writeMode.
- insert.
For example, the sequence of commands below finds a record in the COUNTERPARTY table, unsets the COUNTERPARTY_ID field, which is generated, and inserts a new record with all the other details identical. In this case, there are no fields that are unique indices.
DbMon>tables COUNTERPARTY
DbMon:COUNTERPARTY>search 1
DbMon:COUNTERPARTY>unset COUNTERPARTY_ID
DbMon:writeMode
DbMon:COUNTERPARTY>insert
Are you sure you wish to execute the command? Y/N
y
Record saved
Help
Once inside DbMon, you can run the command help to show all the available DbMon commands.
To get help on a specific command, run the help _command_.
==================================
Help Menu
==================================
autoIncrementNumber <field_name>
clear
count
delete
deletelse <condition>
displayFields <field_names>
distinct <condition> [-where <limiting_condition>]
find <key_name>
first <key_name>
forceAutoIncrementNumber <field_name> <sequence_number>
forceSequenceNumber <sequence_name> <sequence_number>
h
insert
last <key_name>
listAll <key_name> <num_key_fields> <max_records>
next <key_name>
qsearch <condition> [-l <limit>]
qshow
search <condition> [-l <limit>]
sequenceNumber <sequence_name>
set <field_name> <field_value>
show
showKeys
showTables
showViews
table <table_name>
unset
update <key_name>
updateWhere <condition> <assignments>
view
writeMode
Quiet mode
DbMon --quietMode performs database changes without triggering real-time updates in the update queue layer.
DbMon commands
Here is a full list of DbMon commands and their arguments.
| Command | Argument | Description | 
|---|---|---|
| autoIncrementNumber | <field_name> | displays the last generated autoIncrement number for the table or view | 
| clear | clear the current context | |
| count | count the rows in the table/view | |
| delete | delete the current row | |
| deleteWhere | <condition> | delete all matching rows in the selected table | 
| distinct | <condition> [-where <limiting_condition>] | show only distinct records | 
| displayFields | <field_names> | display only selected columns | 
| find | <key_name> | find a specific record in a index | 
| forceAutoIncrementNumber | <field_name> <sequence_number> | set the next sequence number for the specified field; only use when all processes have been stopped | 
| forceSequenceNumber | <sequence_name> <sequence_number> | set the next sequence number for the specified field; only use when all processes have been stopped | 
| first | <key_name> | get the first record by key | 
| help | list all commands | |
| insert | insert a new record with the currently selected fields | |
| last | <key_name> | get the last record by key | 
| listAll | <key_name> <num_key_fields> <max_records> | requires the table or view context and the record context; lists all the records from the table or view, which have the same value as the context record for the first fields of the key (if all the fields for the key are used, only one record is returned) | 
| next | <key_name> | get the next record by key | 
| qsearch | <condition> [-l <limit>] | return the records that match the criteria, excluding columns with null values | 
| qshow | display the current record, excluding columns with null values | |
| search | <condition> [-l <limit>] | return the records that match the criteria | 
| set | <field_name> <field_value> | set a field | 
| sequenceNumber | <sequence_name> | displays the last generated sequence number for the table or view | 
| show | display the current record | |
| showKeys | display all indexes | |
| showTables | display all tables in the schema | |
| showViews | display all views in the schema | |
| table | <table_name> | select a specified table | 
| unset | <field> | set a field to null | 
| update | <key_name><fields> | update the current row by key | 
| updateWhere | <condition> <assignments> | update all records that matches a given condition | 
| view | <view_name> | select a specified view | 
| writeMode | enable write mode |