summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-01-11 14:40:02 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-01-11 14:40:02 +0200
commit5652354aa256426c5ab32c4a1c5687e5509af868 (patch)
treeac59964abb8696c12ec4ea71c56e9219dd4245e6 /doc
parent2a7a60a29cc72f07263ec7534732141f8869b5ed (diff)
Add support for custom table definition options
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.xhtml45
1 files changed, 45 insertions, 0 deletions
diff --git a/doc/manual.xhtml b/doc/manual.xhtml
index 0b6dc08..fde0a54 100644
--- a/doc/manual.xhtml
+++ b/doc/manual.xhtml
@@ -538,6 +538,7 @@ for consistency.
<tr><th>14.1.13</th><td><a href="#14.1.13"><code>sectionable</code></a></td></tr>
<tr><th>14.1.14</th><td><a href="#14.1.14"><code>deleted</code></a></td></tr>
<tr><th>14.1.15</th><td><a href="#14.1.15"><code>bulk</code></a></td></tr>
+ <tr><th>14.1.16</th><td><a href="#14.1.16"><code>options</code></a></td></tr>
</table>
</td>
</tr>
@@ -14360,6 +14361,12 @@ class person
<td><a href="#14.1.15">14.1.15</a></td>
</tr>
+ <tr>
+ <td><code>options</code></td>
+ <td>database options for a persistent class</td>
+ <td><a href="#14.1.16">14.1.16</a></td>
+ </tr>
+
</table>
<h3><a name="14.1.1">14.1.1 <code>table</code></a></h3>
@@ -15002,6 +15009,39 @@ class employer
is the batch size. For more information on this functionality, refer
to <a href="#15.3">Section 15.3, "Bulk Database Operations"</a>.</p>
+ <h3><a name="14.1.16">14.1.16 <code>options</code></a></h3>
+
+ <p>The <code>options</code> specifier specifies additional table
+ definition options that should be used for the persistent class. For
+ example:</p>
+
+ <pre class="cxx">
+#pragma db object options("PARTITION BY RANGE (age)")
+class person
+{
+ ...
+
+ unsigned short age_;
+};
+ </pre>
+
+ <p>Table definition options for a container table can be specified with
+ the <code>options</code> data member specifier
+ (<a href="#14.4.8">Section 14.4.8, "<code>options</code>"</a>). For
+ example:</p>
+
+ <pre class="cxx">
+#pragma db object
+class person
+{
+ ...
+
+ #pragma db options("PARTITION BY RANGE (index)")
+ std::vector&lt;std::string> aliases_;
+};
+ </pre>
+
+
<h2><a name="14.2">14.2 View Type Pragmas</a></h2>
<p>A pragma with the <code>view</code> qualifier declares a C++ class
@@ -16578,6 +16618,11 @@ class person
};
</pre>
+ <p>Note that if specified for the container member, then instead of the
+ column definition options it specifies the table definition options for
+ the container table (<a href="#14.1.16">Section 14.1.16,
+ "<code>options</code>"</a>).</p>
+
<p>Options can also be specified on the per-type basis
(<a href="#14.3.5">Section 14.3.5, "<code>options</code>"</a>).
By default, options are accumulating. That is, the ODB compiler