Skip to content
This repository was archived by the owner on Dec 16, 2022. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
22ddd3d
workflow: resolve readability comments for canary feature.
wangyipei01 Mar 20, 2017
39eeaec
Removing 2 unused libraries.
alainjobart Mar 23, 2017
dc6aad6
New version of golang/x/text packages.
alainjobart Mar 23, 2017
f8dd89b
doc: Remove outdated statement that Go 1.6 is the current version.
michael-berlin Mar 27, 2017
aa4edfa
publish site Mon Mar 27 15:21:54 CEST 2017
michael-berlin Mar 27, 2017
a79d0dc
Merge pull request #2669 from alainjobart/cleanup
alainjobart Mar 27, 2017
7b43c06
Merge pull request #2668 from alainjobart/xtext
alainjobart Mar 27, 2017
e4dd383
travis: Update MariaDB download URLs.
michael-berlin Mar 27, 2017
f884831
Merge pull request #2683 from michael-berlin/fix_mariadb_version
michael-berlin Mar 27, 2017
0fc4ef1
parser: improved UNION constructs
sougou Mar 25, 2017
bcda38b
parser: more INSERT constructs
sougou Mar 25, 2017
1d59dcf
remove verbose command and connection logging
demmer Mar 26, 2017
3257d4b
Add support for ALTER TABLE foo CONVERT
bbeaudreault Mar 23, 2017
991f318
Add REPAIR
bbeaudreault Mar 23, 2017
68d2b0c
JDBC support for mixed case identifiers
bbeaudreault Mar 23, 2017
2c0120b
Add OPTIMIZE
bbeaudreault Mar 24, 2017
d00bada
RENAME INDEX and RENAME AS
bbeaudreault Mar 24, 2017
bb82393
tests for rename index
bbeaudreault Mar 24, 2017
b1f2f00
Support TRUNCATE
bbeaudreault Mar 24, 2017
75604df
Support CREATE OR REPLACE VIEW
bbeaudreault Mar 24, 2017
b0c8833
Add a test for new case sensitivity functions. Remove @Override funct…
bbeaudreault Mar 24, 2017
542824c
Enable lower_case_table_names support for MariaDB, and rename variabl…
bbeaudreault Mar 27, 2017
38f77bb
Support simple START TRANSACTION
bbeaudreault Mar 27, 2017
f95fa5a
Merge pull request #2641 from wangyipei01/canary
wangyipei01 Mar 27, 2017
984d475
truncate long sql queries in the various vttablet debug UIs
demmer Mar 27, 2017
cdee810
truncate long sql queries when marshalling to json
demmer Mar 27, 2017
10f3666
add testcase for string truncation in debug output
demmer Mar 28, 2017
02e08e8
truncate long queries in the querylogz debug page
demmer Mar 28, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion data/test/tabletserver/exec_cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,16 @@
"PlanID": "PASS_SELECT",
"TableName": "",
"FieldQuery": "select * from a where 1 != 1 union select * from b where 1 != 1",
"FullQuery": "select * from a union select * from b"
"FullQuery": "select * from a union select * from b limit :#maxLimit"
}

# union with limit
"select * from a union select * from b limit 10"
{
"PlanID": "PASS_SELECT",
"TableName": "",
"FieldQuery": "select * from a where 1 != 1 union select * from b where 1 != 1",
"FullQuery": "select * from a union select * from b limit 10"
}

# distinct
Expand Down
4 changes: 3 additions & 1 deletion doc/ServerConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,9 @@ Vitess servers are written in Go. There are a few Vitess-specific knobs that app

### Go version

Go, being a young language, tends to add major improvements over each version. So, the latest Go version is almost always recommended. The current version to use Go 1.6.
Go, being a young language, tends to add major improvements over each version.
So, the latest Go version is almost always recommended.
Note that the latest Go version may be higher than the minimum version we require for compiling the binaries (see ["Prerequisites" section in the Getting Started guide](/getting-started/#prerequisites)).

### GOMAXPROCS

Expand Down
44 changes: 35 additions & 9 deletions docs/user-guide/row-based-replication.html
Original file line number Diff line number Diff line change
Expand Up @@ -318,27 +318,31 @@ <h2 id="mysql-row-based-replication">MySQL Row Based Replication</h2>
<p>The
<a href="https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_row_image"><code class="prettyprint">binlog-row-image</code> option</a> can
be used to control which rows are used to identify the columns for the Update
and Delete Rows events. The default setting for that option is to log all columns.</p>
and Delete Rows events. The default setting for that option is to log all
columns.</p>

<h2 id="vitess-use-of-replication-stream">Vitess Use of Replication Stream</h2>
<h2 id="vitess-use-of-mysql-replication-stream">Vitess Use of MySQL Replication Stream</h2>

<p>Vitess uses the Replication Stream in a number of places. This part explains how
we can use RBR for these.</p>
we use RBR for these.</p>

<h3 id="vttablet-replication-stream-watcher">vttablet Replication Stream Watcher</h3>

<p>This is enabled by the <code class="prettyprint">watch_replication_stream</code> option, and is used by <a href="/user-guide/update-stream.html">Update
Stream</a>. It only cares about the GTIDs for the events, so it is unaffected by the use of RBR.</p>
<p>This is enabled by the <code class="prettyprint">watch_replication_stream</code> option, and is used
by <a href="/user-guide/update-stream.html">Update Stream</a>. It only cares about the
GTIDs for the events, so it is unaffected by the use of RBR.</p>

<p><em>Note</em>: the current vttablet also reloads the schema when it sees a DDL in the
stream. See below for more information on this.</p>
stream. See below for more information on this. DDLs are however not represented
in RBR, so this is an orthogonal issue.</p>

<h3 id="update-stream">Update Stream</h3>

<p>The current implementation uses comments in the original SQL (in SQR) to provide
the primary key of the column that is being changed.</p>

<p>We are changing this to also parse the RBR events, and extract the primary key value.</p>
<p>We are changing this to also parse the RBR events, and extract the primary key
value.</p>

<p><em>Note</em>: this means we need accurate schema information. See below.</p>

Expand Down Expand Up @@ -405,6 +409,28 @@ <h3 id="applying-schema-changes">Applying Schema Changes</h3>
can be parsed correctly in all cases.</p></li>
</ul>

<h2 id="unsupported-features">Unsupported Features</h2>

<p>This part describes the features that are not supported for RBR in Vitess as of
March 2017:</p>

<ul>
<li><p><em>Fractional timestamps for MariaDB</em>: not supported. This affects the objects
of type <code class="prettyprint">TIMESTAMP</code>, <code class="prettyprint">TIME</code> and <code class="prettyprint">DATETIME</code>. The way that feature is
implemented in MariaDB, the binary logs do not contain enough information to
be parsed, but instead MariaDB relies on the schema knowledge. This is very
fragile. MySQL 5.6+ added new data types, and these are supported.</p></li>
<li><p><em>JSON type in MySQL 5.7+</em>: the representation of these in the binlogs is a
blob containing indexed binary data. Re-building the SQL version of the data,
so it can be re-inserted during resharding, is not supported yet. It wouldn&#39;t
however be a lot of work, with other libraries also supporting this, and the
C++ MySQL code being well written and easy to read. See for instance
<a href="https://github.com/shyiko/mysql-binlog-connector-java/pull/119">https://github.com/shyiko/mysql-binlog-connector-java/pull/119</a></p></li>
<li><p><em>Timezones support</em>: the binary logs store timestamps in UTC. When converting
these to SQL, we print the UTC value. If the server is not in UTC, that will
result in data corruption. <em>Note</em>: we are working on a fix for that one.</p></li>
</ul>

<h2 id="update-stream-extensions">Update Stream Extensions</h2>

<p><a href="/user-guide/update-stream.html">Update Stream</a> can be changed to contain both
Expand All @@ -427,8 +453,8 @@ <h2 id="vttablet-simplifications">Vttablet Simplifications</h2>
modified rows, to rewrite the queries in an efficient way and tag each statement
with the Primary Key. None of this may be necessary with RBR.</p>

<p>We plan to eventually add a <code class="prettyprint">rbr_mode</code> flag to vttablet to disable all the things it can
skip if RBR is used.</p>
<p>We plan to eventually add a <code class="prettyprint">rbr_mode</code> flag to vttablet to disable all the
things it can skip if RBR is used.</p>

</div>
</div>
Expand Down
4 changes: 3 additions & 1 deletion docs/user-guide/server-configuration.html
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,9 @@ <h2 id="vitess-servers">Vitess servers</h2>

<h3 id="go-version">Go version</h3>

<p>Go, being a young language, tends to add major improvements over each version. So, the latest Go version is almost always recommended. The current version to use Go 1.6.</p>
<p>Go, being a young language, tends to add major improvements over each version.
So, the latest Go version is almost always recommended.
Note that the latest Go version may be higher than the minimum version we require for compiling the binaries (see <a href="/getting-started/#prerequisites">&quot;Prerequisites&quot; section in the Getting Started guide</a>).</p>

<h3 id="gomaxprocs">GOMAXPROCS</h3>

Expand Down
261 changes: 0 additions & 261 deletions go/bufio2/bufio.go

This file was deleted.

Loading