Граф коммитов

147 Коммитов

Автор SHA1 Сообщение Дата
Anthony Yeh cfceb34a8e Remove auto-generated UUID from bootstrap data dir archive.
Otherwise, all servers come up with the same UUID...
2015-05-05 15:30:56 -07:00
Alain Jobart 17d42b4461 Removing the _vt bootstrap db creation.
(this is now done on-demand).
Removing unused RestartSlaveData structure.
2015-04-30 16:58:57 -07:00
Anthony Yeh 7ee9142d8e Deprecate Google MySQL 5.1 with extreme prejudice.
As part of removing googleBinlogEvent parsing support, I reworked the
binlog_streamer_test to use fake events instead of real ones. The actual
parsing of real events is already tested in its own unit test. Using
fake events simplifies the binlog_streamer_test, which really is only
meant to test the logic for converting a stream of events into a stream
of transaction objects.
2015-04-23 23:23:28 -07:00
Anthony Yeh 3b3d7c23b8 Add bootstrap data dir archive for MySQL 5.6.
Generated with data/bootstrap/upgrade.sh from inside the
vitess/bootstrap:mysql56 Docker image.
2015-04-22 15:31:51 -07:00
Shengzhe Yao 63032f0737 add tableacl unit test 2015-04-15 18:14:40 -07:00
Alain Jobart 16807a416e Now using ShardReferences fields in a few places instead of
Shards in the Keyspace.Partitions map.
2015-03-16 08:42:25 -07:00
Shengzhe Yao afe57a3b03 stop writing old portmap names to topo server 2015-03-10 11:07:12 -07:00
sougou 0a8cd2f91c Merge pull request #283 from youtube/vtgate
Vtgate
2015-01-05 19:55:45 -08:00
Sugu Sougoumarane 2072e812e8 v3 proto: added Classes to vindex schema 2015-01-01 14:30:02 -08:00
Anthony Yeh 6346a707c0 Fix upgrade.sh by setting db-config args whose defaults were removed.
mysqlctl connects with vt_dba as part of checking that mysqld is up.
2014-12-26 13:31:24 -08:00
Sugu Sougoumarane 267b0a99bc v3 proto: error tweaks and test cleanups 2014-12-23 14:52:29 -08:00
Sugu Sougoumarane 6f8d43db0e v3 proto: router insert failure tests WIP 2014-12-21 21:12:56 -08:00
Sugu Sougoumarane 48cc8a5c5b v3 proto: insert.go full coverage tests 2014-12-20 14:03:48 -08:00
Sugu Sougoumarane 619bca55a9 v3 proto: where.go full coverage tests 2014-12-20 13:59:51 -08:00
Sugu Sougoumarane 2c879dae1e v3 proto: VTGate tests and tweaks 2014-12-19 20:11:28 -08:00
Sugu Sougoumarane fe105a7013 v3 proto: keyrange tests for plan building 2014-12-14 13:06:20 -08:00
Sugu Sougoumarane bbbee66eb5 v3 proto: add support for KEYRANGE in parser
In order to support split queries for map-reduce jobs,
we need a way to send queries to specific shards. But
we cannot assume that there will be physical keyspace_id
column in the table, which will prevent us from specifying
a keyrange on it.
So, we introduce the KEYRANGE construct which is a boolean
expression that VTGate can use to match the range to a set
of shards. Since the construct is not understood by VTTablet
or MySQL, VTGate will also strip the construct before passing
the query down.
2014-12-14 12:20:53 -08:00
Sugu Sougoumarane 022b290469 v3 proto: LookupHashMulti vindex 2014-12-13 22:31:34 -08:00
Sugu Sougoumarane 1b1aa6fb86 v3 proto: delete end-to-end tests 2014-12-13 17:09:35 -08:00
Sugu Sougoumarane eea867666f v3 proto: add subquery for delete plans
For owned indexes, we have to know which rows are going
to be deleted so that we can delete the corresponding vindex
entries. So, deletes need to run a subquery to identify
these rows. An empty subquery means that the table does
not own any vindexes.
2014-12-12 13:42:05 -08:00
Sugu Sougoumarane 68f2282550 v3 proto: insert router unit tests 2014-12-08 00:25:08 -08:00
Sugu Sougoumarane 23122c5f38 v3 proto: execution for Unsharded plans 2014-12-06 17:30:36 -08:00
Sugu Sougoumarane d79c19f45f v3 proto: router SelectEqual 2014-11-30 18:04:20 -08:00
Sugu Sougoumarane 2552f3cb5b v3 proto: insert plans 2014-11-30 00:08:57 -08:00
Sugu Sougoumarane b090909cbb v3 proto: dml plans 2014-11-29 19:59:48 -08:00
Sugu Sougoumarane 765297f26d v3 proto: select plans 2014-11-29 19:35:24 -08:00
Sugu Sougoumarane 8c06776fb1 vtgate v3: add tests to cover new code paths 2014-11-07 12:19:30 -08:00
Sugu Sougoumarane 18cd4e6b68 vtgate v3: planbuilder cleanup 2014-11-07 01:15:25 -08:00
Sugu Sougoumarane 046e0ed4fa vtgate v3: planbuilder unit tests complete 2014-11-06 00:44:43 -08:00
Sugu Sougoumarane 39c6e555aa vtgate v3: comprehensive tests for select 2014-11-05 16:25:33 -08:00
Sugu Sougoumarane ea34dc53e1 vtgate v3: end-to-end: SelectSingleShardKey
Got one plan working end to end. Ssome constructs are still
awkward and need polish, but it all works.
2014-11-02 23:23:00 -08:00
Sugu Sougoumarane 9e2e3e86c9 vtgate v3: no ShardKey special naming
Since each keyspace can have its own ShardKey, it's not a good
ShardKey as a special name because the index may also need to map
to a physical table, which will cause conflicts. Instead, and index
now has a Type field, which can be ShardKey or Lookup.
2014-11-02 20:15:31 -08:00
Sugu Sougoumarane ed8e0ca97a vtgate v3: prep work for new router 2014-11-01 12:17:39 -07:00
Sugu Sougoumarane 666dcaaf4d vtgate v3: Improved input JSON file structure 2014-10-31 21:46:44 -07:00
Sugu Sougoumarane 549ba69544 vtgate v3: restructure schema data structures 2014-10-31 01:05:00 -07:00
Sugu Sougoumarane dfe5e68532 vtgate v3: insert plans 2014-10-30 00:54:59 -07:00
Sugu Sougoumarane 2962822053 vtgate v3: insert planning skeleton 2014-10-29 11:31:06 -07:00
Sugu Sougoumarane 956b7cd68c vtgate v3: drop keyspace_id col & add IsAutoInc.
We're going to see if keyspace_id column based sharding
can be deprecated in favor of an on-the-fly hash based
sharding which achieves the same thing.
Also, we should support auto-inc through lookup so we
can generate systemwide unique ids for our keys.
2014-10-28 15:44:49 -07:00
Sugu Sougoumarane c55b000f68 vtgate v3: plans for delete 2014-10-27 00:53:28 -07:00
Sugu Sougoumarane 4dbed52cba vtgate v3: update plans 2014-10-27 00:40:54 -07:00
Sugu Sougoumarane 998347b7b0 vtgate v3: make code reusable to prep for dmls 2014-10-26 23:45:12 -07:00
Sugu Sougoumarane e4656b90e2 vtgate v3: add tests for or clauses 2014-10-26 21:36:47 -07:00
Sugu Sougoumarane 8901ac18c6 vtgate v3: wire plan building into vtgate 2014-10-26 20:24:46 -07:00
Sugu Sougoumarane c66db90761 vtgate v3: more formal tests 2014-10-26 12:57:58 -07:00
Sugu Sougoumarane ce89746dab tabletserver: list bind vars support complete
You can now specify a new syntax for queries that
have an IN clause:
select * from t where id in ::list
The corresponding bind variable would be:
{"list": field_types.List([1,2,3])}

- List bind vars are only allowed for IN and NOT IN clauses.
- A bind variable can be a list if and only if
  it's referred as ::list.
- A list must contain at least one value.

For the python client, you need to supply lists using the
field_types.List class. This is because of legacy behavior
where lists were previously encoded as strings.
We should soon change this API to use native lists once we
confirm that no one will be affected by this change.
2014-10-24 13:53:25 -07:00
Sugu Sougoumarane c9f6fe0e72 sqlparser: split row & column tuples
Row and column tuples are acquiring different semantic
meanings. This is in preparation to allow lists as
bind vars. We're only going to allow lists for column
tuples. There's not much benefit to supporting list
bind vors for row tuples.
2014-10-22 21:56:04 -07:00
Sugu Sougoumarane cd3d1e9977 sqlparser: Introduce LIST_ARG token. 2014-10-22 18:51:00 -07:00
Sugu Sougoumarane ea9199ecf9 rowcache: support for limit clause
The previous rowcache implementation only supported "LIMIT 1"
for primary key fetches. This CL extends this suppport for
IN clauses and subqueries. It also supports limit clauses
with bind variables, which requires validation to be delayed
till the execution phase.
2014-10-20 19:43:04 -07:00
Sugu Sougoumarane 2c5ad43e4d rowcache: pass_select for covering index queries
If a query has a covering index, skip rowcache.
2014-10-19 23:53:23 -07:00
Sugu Sougoumarane 8df69c289f rowcache: subqueries for composite pk tables
Rowcache is even betterer now! IN clauses and subqueries
can work for tables with composite pk also.
2014-10-19 21:07:56 -07:00