Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
54896: cli: add import pgdump/mysqldump CLI command r=miretskiy,knz a=adityamaru This change introduces a new CLI command to import locally saved PGDUMP or MYSQLDUMP files into a running cockroach cluster. The underlying logic relies on user scoped userfile storage to upload the local dump file to, and subsequently import data from. Most of the heavy lifting was already completed during the development of the userfile storage. We can only support bundle formats that have the table schemas to be imported, baked into the dump files. The newly added CLI commands support the same options as IMPORT PGDUMP and IMPORT MYSQLDUMP from the SQL shell do. These options are to be passed in as CLI flags. Following are the CLI examples: `./cockroach import db <format> <source>` `./cockroach import table <tablename> <format> <source>` Release note (cli change): Adds an import CLI command which allows users to upload and import local dump files into a running cockroach cluster. We currently support PGDUMP and MYSQLDUMP formats. 55687: *: bazel-ify cockroachdb r=irfansharif a=irfansharif This commit introduces a new build system to cockroachdb: Bazel. The hope here is to eventually replace our current Makefile. It sets the foundation for introducing Bazel in our CI systems for parallelized builds/test runs, artifact caching, remote builds, and many other such profits (literally, it could reduce infra spend). We originally prototyped a pseudo bazel-ified cockroachdb in #52824, which resulted in a week long effort (with otan@, jamesl@, and myself) to wrap it up in earnest in #55258. This is the polished version of the resulting work, the write up for which can be found at http://go.crdb.dev/bazel-hackweek. --- Most of the BUILD files here were auto-generated through Gazelle (see doc). Some of these auto-generated files required further manual tweaking to get just right (see doc). These were mostly around the packages that link into c-dependencies, but also the few packages that rely on auto-generated code (again, see doc). These specific files are the ones intended for review (they're also the ones responsible for auto-generation), among a few others. I've listed them out here: ``` new file: .bazelrc modified: .gitattributes modified: .gitignore new file: BUILD.bazel new file: DEPS.bzl modified: Makefile new file: WORKSPACE new file: pkg/ccl/gssapiccl/BUILD.bazel new file: pkg/ccl/storageccl/engineccl/BUILD.bazel new file: pkg/cli/BUILD.bazel new file: pkg/cmd/cockroach-oss/BUILD.bazel new file: pkg/cmd/cockroach-short/BUILD.bazel new file: pkg/cmd/cockroach/BUILD.bazel new file: pkg/col/coldata/BUILD.bazel new file: pkg/geo/geoproj/BUILD.bazel modified: pkg/geo/geoproj/geoproj.go modified: pkg/geo/geoproj/proj.cc new file: pkg/geo/geos/BUILD.bazel new file: pkg/sql/colconv/BUILD.bazel new file: pkg/sql/colexec/BUILD.bazel new file: pkg/sql/colexec/COLEXEC.bzl modified: pkg/sql/colexec/and_or_projection_tmpl.go modified: pkg/sql/colexec/any_not_null_agg_tmpl.go modified: pkg/sql/colexec/avg_agg_tmpl.go modified: pkg/sql/colexec/bool_and_or_agg_tmpl.go modified: pkg/sql/colexec/cast_tmpl.go new file: pkg/sql/colexec/colbuilder/BUILD.bazel new file: pkg/sql/colexec/colexec.go modified: pkg/sql/colexec/concat_agg_tmpl.go modified: pkg/sql/colexec/const_tmpl.go modified: pkg/sql/colexec/count_agg_tmpl.go modified: pkg/sql/colexec/default_agg_tmpl.go modified: pkg/sql/colexec/default_cmp_expr_tmpl.go modified: pkg/sql/colexec/default_cmp_proj_ops_tmpl.go modified: pkg/sql/colexec/default_cmp_sel_ops_tmpl.go modified: pkg/sql/colexec/distinct_tmpl.go modified: pkg/sql/colexec/hash_aggregator_tmpl.go modified: pkg/sql/colexec/hash_utils_tmpl.go modified: pkg/sql/colexec/hashjoiner_tmpl.go modified: pkg/sql/colexec/hashtable_tmpl.go modified: pkg/sql/colexec/is_null_ops_tmpl.go modified: pkg/sql/colexec/mergejoinbase_tmpl.go modified: pkg/sql/colexec/mergejoiner_tmpl.go modified: pkg/sql/colexec/min_max_agg_tmpl.go modified: pkg/sql/colexec/ordered_synchronizer_tmpl.go modified: pkg/sql/colexec/proj_const_ops_tmpl.go modified: pkg/sql/colexec/proj_non_const_ops_tmpl.go modified: pkg/sql/colexec/quicksort_tmpl.go modified: pkg/sql/colexec/rank_tmpl.go modified: pkg/sql/colexec/relative_rank_tmpl.go modified: pkg/sql/colexec/row_number_tmpl.go modified: pkg/sql/colexec/rowstovec_tmpl.go modified: pkg/sql/colexec/select_in_tmpl.go modified: pkg/sql/colexec/selection_ops_tmpl.go modified: pkg/sql/colexec/sort_tmpl.go modified: pkg/sql/colexec/substring_tmpl.go modified: pkg/sql/colexec/sum_agg_tmpl.go modified: pkg/sql/colexec/utils_tmpl.go modified: pkg/sql/colexec/values_differ_tmpl.go modified: pkg/sql/colexec/vec_comparators_tmpl.go modified: pkg/sql/colexec/window_peer_grouper_tmpl.go new file: pkg/sql/colflow/BUILD.bazel new file: pkg/sql/opt/BUILD.bazel new file: pkg/sql/opt/exec/BUILD.bazel new file: pkg/sql/opt/exec/execbuilder/BUILD.bazel new file: pkg/sql/opt/exec/explain/BUILD.bazel new file: pkg/sql/opt/memo/BUILD.bazel new file: pkg/sql/opt/norm/BUILD.bazel new file: pkg/sql/opt/optgen/lang/BUILD.bazel new file: pkg/sql/opt/xform/BUILD.bazel new file: pkg/sql/parser/BUILD.bazel new file: pkg/sql/parser/sql-gen.sh modified: pkg/sql/parser/sql.y new file: pkg/storage/BUILD.bazel modified: vendor ``` The changes to all the _tmpl.go files were needed to include necessary import analysis/compilation for bazel when generating the .eg.go files (also summarized in doc up above), and should be uncontroversial. I think it's easiest to pull the branch down locally and to click around to see what works, and what doesn't. I would start at the top-level BUILD.bazel and WORSPACE file. I've added comments to explain what most of added machinery does. Release note: None 55827: sql: stub ALTER TABLE ... SET LOCALITY/AFFINITY related commands r=ajstorm a=otan Following the doc on proposed ideas and fleshed them all out. They default to displaying REGIONAL AFFINITY for now. Release note (sql change): Implemented ALTER TABLE ... SET LOCALITY/REGIONAL AFFINITY commands that allow users to configure multiregion properties of given tables. These may change later. Co-authored-by: Aditya Maru <adityamaru@gmail.com> Co-authored-by: irfan sharif <irfanmahmoudsharif@gmail.com> Co-authored-by: Oliver Tan <otan@cockroachlabs.com>
- Loading branch information