Changeset: d23eab495c0d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d23eab495c0d
Modified Files:
documentation/source/manual_pages/monetdbd.rst.in
Branch: default
Log Message:
Merge with Jan2022 branch.
diffs (truncated from 443 to 300 lines):
diff --git a/documentation/source/manual_pages/mclient.rst
b/documentation/source/manual_pages/mclient.rst
--- a/documentation/source/manual_pages/mclient.rst
+++ b/documentation/source/manual_pages/mclient.rst
@@ -129,21 +129,26 @@ General Options
**--format=**\ *format* (**-f** *format*)
Specify the output format. The possible values are **sql**,
- **expanded**, **x**, **csv**, **tab**, **raw**, **xml**, **trash**,
- and **rowcount**. **csv** is comma-separated values; **tab** is
- tab-separated values; **raw** is no special formatting (data is
- dumped the way the server sends it to the client); **sql** is a
- pretty format which is meant for human consumption where columns are
- clearly shown; **expanded** and **x** are synonyms and are another
- pretty format meant for human consumption where column values are
- printed in full and below each other; **xml** is a valid (in the XML
- sense) document; **trash** does not render any output, enabling
- performance measurements free of any output rendering/serialization
- costs; and **rowcount** is a variation on **trash** where only the
- number of affected rows is printed. In addition to plain **csv**, two
- other forms are possible. **csv=**\ *c* uses *c* as column separator;
- **csv+**\ *c* uses *c* as column separator and produces a single
- header line in addition to the data.
+ **expanded**, **x**, **csv**, **csv-noquote**, **tab**, **raw**,
+ **xml**, **trash**, and **rowcount**. **csv** is comma-separated
+ values; **csv-noquote** is comma-separated values without escaping
+ any quotes; **tab** is tab-separated values; **raw** is no special
+ formatting (data is dumped the way the server sends it to the
+ client); **sql** is a pretty format which is meant for human
+ consumption where columns are clearly shown; **expanded** and **x**
+ are synonyms and are another pretty format meant for human
+ consumption where column values are printed in full and below each
+ other; **xml** is a valid (in the XML sense) document; **trash** does
+ not render any output, enabling performance measurements free of any
+ output rendering/serialization costs; and **rowcount** is a variation
+ on **trash** where only the number of affected rows is printed.
+ Normal **csv** and **tab** formatting will use double quotes around
+ any fields that contain double quotes, white space or the separator.
+ The **csv-noquote** format will prevent that and dump the contents of
+ the field without any interpretation. In addition to plain **csv**,
+ two other forms are possible. **csv=**\ *c* uses *c* as column
+ separator; **csv+**\ *c* uses *c* as column separator and produces a
+ single header line in addition to the data.
**--echo** (**-e**)
Echo the query. Note that using this option slows down processing.
@@ -335,7 +340,8 @@ query can also be a URL. It then has to
*schema*\ **://**\ *string*\ **,** *e*.\ *g*.,
*https://www.example.org/dumpdata.csv*.
-See
https://www.monetdb.org/documentation/user-guide/sql-manual/data-loading/copy-from/
+See
+https://www.monetdb.org/documentation/user-guide/sql-manual/data-loading/copy-from/
for more information about the COPY INTO query.
SEE ALSO
diff --git a/documentation/source/manual_pages/monetdbd.rst.in
b/documentation/source/manual_pages/monetdbd.rst.in
--- a/documentation/source/manual_pages/monetdbd.rst.in
+++ b/documentation/source/manual_pages/monetdbd.rst.in
@@ -199,18 +199,22 @@ using the **set** command. The following
reachable databases.
**exittimeout**
- if *monetdbd* stops a running mserver, for example in response to a
+ If *monetdbd* stops a running mserver, for example in response to a
*monetdb stop* command or when *monetdbd* itself is shutting down, it
first sends the mserver a SIGTERM signal to trigger a graceful
shutdown. If that takes more than **exittimeout** seconds, SIGKILL is
- sent as a last resort. This may cause (partial) data loss. A time-out
- value of 0 means no mservers will be shut down, and hence they will
- continue to run after *monetdbd* has shut down. Note that this
- particular configuration is extremely inconvenient. The default
- time-out is 60 seconds. If your databases are rather large and you
- find your databases consistently being killed by *monetdbd* upon
- shutdown, you may want to increase this time-out. Changing this
- property takes effect immediately at runtime.
+ sent as a last resort. This may cause (partial) data loss in that
+ transactions may not be able to complete (all completed transactions,
+ whether reported back or not, should be save). A negative time-out
+ value value means the second signal (SIGKILL) will not be sent, but
+ instead all mserver processes will be waited for. A time-out value of
+ 0 means no mservers will be shut down, and hence they will continue
+ to run after *monetdbd* has shut down. Note that this particular
+ configuration is extremely inconvenient. The default time-out is 60
+ seconds. If your databases are rather large and you find your
+ databases consistently being killed by *monetdbd* upon shutdown, you
+ may want to increase this time-out. Changing this property takes
+ effect immediately at runtime.
**forward**
*monetdbd* has two ways in which it can "attach" a connecting client
@@ -265,44 +269,45 @@ instance the following three databases w
dbX/master/tableQ
- dbY/slave/tableQ
+..
- dbZ/slave/tableQ
+ dbY/slave/tableQ
+
+ dbZ/slave/tableQ
- A default match has implicit \`/*' added to the search, making
- more generic search strings match more specific ones. Hence, a
- connect with database *dbX* is the same as *dbX/\** and hence
- matches *dbX/master/tableQ*. Similar, a database connect for
- *\*/master* matches the same database as before. Note that the
- implicit \`/*' is not added if that would cause no matches,
- such as for *\*/master/tableQ* which would return all masters
- for *tableQ*, which in our hypothetical example is only *dbX*.
- In contrast, a database connect for *\*/slave/tableQ* matches
- with either *dbY* or *dbZ*. *Monetdbd* returns the two options
- to the client in a round-robin fashion, such that subsequent
- connects for the same pattern result in a load-balanced connect
- to either of both databases.
+A default match has implicit \`/*' added to the search, making more
+generic search strings match more specific ones. Hence, a connect with
+database *dbX* is the same as *dbX/\** and hence matches
+*dbX/master/tableQ*. Similar, a database connect for *\*/master* matches
+the same database as before. Note that the implicit \`/*' is not added
+if that would cause no matches, such as for *\*/master/tableQ* which
+would return all masters for *tableQ*, which in our hypothetical example
+is only *dbX*. In contrast, a database connect for *\*/slave/tableQ*
+matches with either *dbY* or *dbZ*. *Monetdbd* returns the two options
+to the client in a round-robin fashion, such that subsequent connects
+for the same pattern result in a load-balanced connect to either of both
+databases.
- With tags in use, one can possibly make distinction between
- databases, if setup like that. The previous example could hence
- also be setup like this:
+With tags in use, one can possibly make distinction between databases,
+if setup like that. The previous example could hence also be setup like
+this:
- tableQ/master
+ tableQ/master
- tableQ/slave
+..
- tableQ/slave
+ tableQ/slave
- Connecting to *tableQ/slave* would now return either
- of both databases even though they are not unique
- (apart from the host they are located on, which is not
- shown in the example). While being confusing for
- humans, for *monetdbd* it is the same situation as in
- the previous example. However, because globbing allows
- to make things easier to understand, tags for both
- slaves could be changed to *slaveX* or *slave/X* and
- use the necessary pattern to match them. It is up to
- the user to decide how to use the tags.
+ tableQ/slave
+
+Connecting to *tableQ/slave* would now return either of both databases
+even though they are not unique (apart from the host they are located
+on, which is not shown in the example). While being confusing for
+humans, for *monetdbd* it is the same situation as in the previous
+example. However, because globbing allows to make things easier to
+understand, tags for both slaves could be changed to *slaveX* or
+*slave/X* and use the necessary pattern to match them. It is up to the
+user to decide how to use the tags.
MULTIPLEX-FUNNELS
=================
diff --git a/documentation/source/manual_pages/mserver5.rst.in
b/documentation/source/manual_pages/mserver5.rst.in
--- a/documentation/source/manual_pages/mserver5.rst.in
+++ b/documentation/source/manual_pages/mserver5.rst.in
@@ -56,7 +56,9 @@ MSERVER5 OPTIONS
**--dbextra=**\ *path*
Path where *mserver5* should store transient data. Default value is
- the value of the **--dbpath** option.
+ the value of the **--dbpath** option. If the value of *path* is
+ **in-memory**, transient data is not stored on disk at all but kept
+ in memory at all times.
**--dbtrace=**\ *path*
File name for the trace log file for *mserver5*. Default value is the
@@ -77,6 +79,11 @@ MSERVER5 OPTIONS
Set individual configuration option. For possible options, see
*PARAMETERS* sections.
+**--loadmodule=**\ *module*
+ Load extra module in the form of a dynamic link library (.dll or .so
+ file) which should be located in the lib/monetdb5 directory. This
+ option can be repeated for different modules.
+
**--help**
Print list of options.
@@ -84,63 +91,87 @@ MSERVER5 OPTIONS
Print version and compile configuration.
**--in-memory**
- Run *mserver5* in-memory. **No** data will be persisted.
+ Run *mserver5* in-memory. **No** data will be written to disk. The
+ name of the database that a client can connect to is **in-memory**.
**--debug**\ [**=**\ *value*]
**-d**\ [*value*]
- Set debug level. This is mostly for debugging purposes. The value is
+ Set debug level. This is mostly for debugging purposes. The *value*
+ together with the **=** sign is optional. If not specified, it
+ defaults to **1**. In the short form **-d**, the value, if present,
+ must immediately (i.e. without space) follow the option. The values
+ of multiple instances of this flag are OR-ed together. The value is
an integer, which can be (a bit-wise OR of):
-::
+ **1**
+ (THRDMASK) thread-specific debug output
+
+ **2**
+ (CHECKMASK) property enforcing on new BATs
+
+ **8**
+ (PROPMASK) property checking on all values: tells about wrongly
+ set properties
+
+ **16**
+ (IOMASK) major IO activity
+
+ **32**
+ (BATMASK) BAT handling
+
+ **128**
+ (PARMASK) Thread management
+
+ **512**
+ (TMMASK) Transaction management
+
+ **1024**
+ (TEMMASK) Locks and Triggers
+
+ **4096**
+ (PERFMASK) BBP Performance (?)
+
+ **8192**
+ (DELTAMASK) Delta debugging (?)
+
+ **16384**
+ (LOADMASK) Module loading
- 1 = THRDMASK = thread-specific debug output
- 2 = CHECKMASK = property enforcing on new BATs
- 8 = PROPMASK = property checking on all values:
- tells about wrongly set properties
- 16 = IOMASK = major IO activity
- 32 = BATMASK = BAT handling
- 128 = PARMASK = Thread management
- 512 = TMMASK = Transaction management
- 1024 = TEMMASK = Locks and Triggers
- 4096 = PERFMASK = BBP Performance (?)
- 8192 = DELTAMASK = Delta debugging (?)
- 16384 = LOADMASK = Module loading
- 1048576 = ACCELMASK = Accelerator debugging
- 2097152 = ALGOMASK = show low level algorithm chosen
- 16777216 = NOSYNCMASK = disable forcefully synchronizing files
- to disk. If this flag is set, there is
- no guarantee that the database remains
- consistent after a crash. DO NOT USE
- (unless you really don't care about your
- data).
- 33554432 = DEADBEEFMASK = disable "cleaning" of freed memory
- in GDKfree() which only happens in a
- debug build (i.e. with assertions
- enabled) e.g., for performance
- measurements
- 67108864 = ALLOCMASK = exhaustive GDK malloc & free tracing
- for debugging (GDK developers, only)
- 134217728 = OPTMASK = trace the actions, decisions and
- effects of MAL optimizers
- 268435456 = HEAPMASK = trace/debug HEAPextend;
- used only for development & debugging
- 536870912 = FORCEMITOMASK = forcefully activate mitosis even on
- small tables, i.e., split small tables
- in as many (tiny) pieces as there are
- cores (threads) available;
- this allows us to test mitosis
- functionality without requiring large
- data sets (— at the expense of a
- potentially significant interpretation
- overhead for unnecessarily large plans);
- used only for development & testing;
- set automatically by Mtest.py
+ **1048576**
+ (ACCELMASK) Accelerator debugging
+
+ **2097152**
+ (ALGOMASK) show low level algorithm chosen
+
+ **16777216**
+ (NOSYNCMASK) disable forcefully synchronizing files to disk. If
+ this flag is set, there is no guarantee that the database remains
+ consistent after a crash. DO NOT USE (unless you really don't care
+ about your data).
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list