Skip to content

Commit

Permalink
Link fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
anarthal committed Nov 4, 2024
1 parent 03580d7 commit 0f9211a
Show file tree
Hide file tree
Showing 11 changed files with 26 additions and 26 deletions.
2 changes: 1 addition & 1 deletion doc/qbk/03_1_tutorial_sync.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,6 @@ we are closing the connection, and thus may fail.

Full program listing for this tutorial is [link mysql.examples.tutorial_sync here].

You can now proceed to [link mysql.tutorial.async the next tutorial].
You can now proceed to [link mysql.tutorial_async the next tutorial].

[endsect]
2 changes: 1 addition & 1 deletion doc/qbk/03_2_tutorial_async.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,6 @@ thread until all the scheduled coroutines and I/O operations complete:

Full program listing for this tutorial is [link mysql.examples.tutorial_async here].

You can now proceed to [link mysql.tutorial.with_params the next tutorial].
You can now proceed to [link mysql.tutorial_with_params the next tutorial].

[endsect]
4 changes: 2 additions & 2 deletions doc/qbk/03_3_tutorial_with_params.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
]

[section:tutorial_async Tutorial 3: queries with parameters]
[section:tutorial_with_params Tutorial 3: queries with parameters]

Until now, our SQL queries were hard-coded string literals.
However, most real-world use cases involve
Expand Down Expand Up @@ -143,7 +143,7 @@ With all these changes, this is how our coroutine looks like:

Full program listing for this tutorial is [link mysql.examples.tutorial_with_params here].

You can now proceed to [link mysql.tutorial.static_interface the next tutorial].
You can now proceed to [link mysql.tutorial_static_interface the next tutorial].


[endsect]
2 changes: 1 addition & 1 deletion doc/qbk/03_4_tutorial_static_interface.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
]

[section:tutorial_async Tutorial 4: the static interface]
[section:tutorial_static_interface Tutorial 4: the static interface]

Until now we've read the rows generated by our queries into
[reflink results] objects. As we've seen, `results`
Expand Down
10 changes: 5 additions & 5 deletions doc/qbk/04_overview.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ Like most I/O objects, `any_connection` can be constructed from an execution con
[tutorial_sync_connection]

`any_connection` is named like this for historic reasons:
a [link mysql.templated_connection templated connection class]
came before it. We currently recommend using `any_connection` for new
a templated connection class came before it.
We currently recommend using `any_connection` for new
code because it's simpler and more powerful.

The MySQL client/server protocol is session-oriented. Before anything else,
Expand Down Expand Up @@ -131,7 +131,7 @@ without sending them to the server.
[section The dynamic and the static interfaces]

In MySQL, a ['resultset] refers to the results generated by a SQL query.
A resultset is composed of rows, [link mysql.metadata metadata] and
A resultset is composed of rows, [link mysql.meta metadata] and
additional info, like the last insert ID.

There are two different interfaces to access resultsets.
Expand Down Expand Up @@ -254,10 +254,10 @@ When the server reports an error, it provides a diagnostic string
describing what happened. The [reflink diagnostics] class encapsulates
this message. Some library functions generate diagnostics strings, too.

Both the sync functions in [link mysql.tutorial.sync the first tutorial]
Both the sync functions in [link mysql.tutorial_sync the first tutorial]
and the coroutines in this exposition throw exceptions when they fail.
The exception type is [reflink error_with_diagnostics], which inherits
from `boost::system::system_error` and adds a [reflink diagnostic] object.
from `boost::system::system_error` and adds a [reflink diagnostics] object.
Async functions use [reflink with_diagnostics], a completion token adapter,
to transparently include diagnostics in exceptions.

Expand Down
4 changes: 2 additions & 2 deletions doc/qbk/05_connection_establishment.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ You can safely share a single __ssl_context__ among several connections.
If no `ssl::context` is passed, one will be internally created by the
connection when required. The default context doesn't perform certificate validation.

The full source code for the above example is [link mysql.examples.tls_certificate_validation here].
The full source code for the above example is [link mysql.examples.tls_certificate_verification here].



Expand Down Expand Up @@ -202,7 +202,7 @@ When reading data, every row is sent as an individual message.

The buffer never resizes past [refmem any_connection_params max_buffer_size].
If an operation requires a bigger buffer, it will fail with the
[refmem client_errc max_buffer_size_exceeded] error code. The default size
`client_errc::max_buffer_size_exceeded` error code. The default size
is 64MB.

If you need to read or write individual rows bigger than the default limit,
Expand Down
12 changes: 7 additions & 5 deletions doc/qbk/06_sql_formatting.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ which can improve efficiency.
It can be used as a simpler and more flexible alternative to prepared statements.
While prepared statements expand queries server-side, SQL formatting does it client-side.
Please read the [link mysql.sql_formatting.comparison comparison with prepared statements]
and the [link mysql.sql_formatting.security security considerations] sections for more info.
and the [link mysql.sql_formatting.comparison.security security considerations] sections for more info.

[reflink with_params] takes a SQL query
string with placeholders and a set of parameters. When passed to
Expand All @@ -57,8 +57,8 @@ Collections and ranges are supported, as long as its elements can be formatted:

[sql_formatting_ranges]

See [link mysql.sql_formatting.ranges this section] for more on formatting ranges,
and [link mysql.sql_formatting.reference this table] for a reference of types
See [link mysql.sql_formatting_advanced.ranges this section] for more on formatting ranges,
and [link mysql.sql_formatting_advanced.reference this table] for a reference of types
that have built-in support for SQL formatting.

[note
Expand Down Expand Up @@ -126,12 +126,14 @@ to format MySQL types into a string without creating vulnerabilities, but otherw
your queries as opaque strings. Client-side SQL yields [*greater flexibility] (you can dynamically
compose any query), while statements have more limitations. This also means that
[*you need to pay more attention to compose valid queries], specially when dealing with complex conditionals.
Logic errors may lead to exploits. Please read the [link mysql.sql_formatting.security security considerations section]
Logic errors may lead to exploits. Please read the
[link mysql.sql_formatting.comparison.security security considerations section]
for more info.

Client-side SQL entails [*less round-trips to the server] than statements, and is usually more efficient
for lightweight queries. However, it uses the less compact text protocol, which may be slower for
queries retrieving a lot of data. See the [link mysql.sql_formatting.efficiency efficiency considerations section] for more info.
queries retrieving a lot of data. See the
[link mysql.sql_formatting.comparison.efficiency efficiency considerations section] for more info.

In general, [*use client-side SQL] formatting for the following cases:

Expand Down
9 changes: 3 additions & 6 deletions doc/qbk/13_async.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -47,22 +47,22 @@ with this library. Here are some of the most common:
You can combine deferred with [link mysql.async.with_diagnostics with_diagnostics] to get
better error reporting.

See [*[link mysql.examples.async_coroutinescpp20 this example]] for details.
See [*[link mysql.tutorial_async the async tutorial]] for details.

* [*Stackful coroutines], which you can use to get coroutine-like functionality
in C++11. Access this functionality using [asioreflink spawn spawn] and [asioreflink yield_context yield_context],
possibly in conjunction with [link mysql.async.with_diagnostics with_diagnostics].
You need to link against __Context__ to use these coroutines.

See [*[link mysql.examples.async_coroutines this example]] for details.
See [*[link mysql.examples.coroutines_cpp11 this example]] for details.

* [*Callbacks]. You can pass in a callable (function pointer or
function object) with the same signature as the handler
signature specified for the operation. The callable
will be called when the operation completes. The initiating
function will return `void`.

[link mysql.examples.async_callbacks This example]
[link mysql.examples.callbacks This example]
demonstrates how to use async functions with callbacks.

* [*Futures]. In this case, you pass in the constant
Expand All @@ -79,9 +79,6 @@ with this library. Here are some of the most common:
be of type `boost::system::system_error`, even if diagnostics were
available.

[link mysql.examples.async_futures This example]
demonstrates using futures.

* Any other type that satisfies the __CompletionToken__ type requirements.
We have listed the most common ones here, but you can craft your own
and use it with this library's async operations.
Expand Down
2 changes: 1 addition & 1 deletion doc/qbk/15_sql_formatting_advanced.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ build query strings incrementally:

Any type that works with `with_params` also does with `format_sql`
and `format_sql_to`. These types are said to satisfy the [reflink Formattable] concept.
[link mysql.sql_formatting.reference This table] summarizes such types.
[link mysql.sql_formatting_advanced.reference This table] summarizes such types.

[endsect]

Expand Down
3 changes: 2 additions & 1 deletion doc/qbk/helpers/Formattable.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Formally, let `T` be any type, and `U` the result of stripping cv-qualifiers and
formatted as a blob, not as a sequence).
* `U` is [reflink formattable_ref].

For a reference table on built-in formattable types, see [link mysql.sql_formatting.reference this section].
For a reference table on built-in formattable types, see
[link mysql.sql_formatting_advanced.reference this section].

[endsect]
2 changes: 1 addition & 1 deletion doc/qbk/helpers/quickref.xml
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@
<member><link linkend="mysql.dynamic_interface.dynamic_field_mappings">Dynamic interface type mappings</link></member>
<member><link linkend="mysql.static_interface.readable_field_reference">ReadableField types</link></member>
<member><link linkend="mysql.prepared_statements.writable_field_reference">WritableField types</link></member>
<member><link linkend="mysql.sql_formatting.reference">Formattable types</link></member>
<member><link linkend="mysql.sql_formatting_advanced.reference">Formattable types</link></member>
<member><link linkend="mysql.pipeline.reference">Pipeline stage reference</link> (experimental)</member>
<member><link linkend="mysql.charsets.string_encoding">String encoding</link></member>
</simplelist>
Expand Down

0 comments on commit 0f9211a

Please sign in to comment.