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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list