dolthub / dolthub/dolt

First time querying a server with `dolt_show_system_tables` enabled produces error

Open
#8,671 2 comments 0 reactions 1 assignee Claimed by @zachmu View on GitHub
bug no repro sql server version control
Dominant language
Go
Stars
24.4k
Forks
873
Avg merge
1d 5h
Merged PRs (30d)
108

Description

Repro:

1. Define `{"dolt_show_system_tables": 1}` in the sysvars section of `config.yaml`

```sh
$ grep system_variables config.yaml
system_variables: {"dolt_show_system_tables": 1}
```

2. Start the server:

```
$ dolt sql-server --config=config.yaml
Starting server with Config HP="127.0.0.1:3310"|T="28800000"|R="false"|L="debug"
INFO[0000] Server ready. Accepting connections.
```

3. Connect a client and run show tables:

```
$ mysql -h localhost -P 3310 -u root
WARNING: option --ssl-verify-server-cert is disabled, because of an insecure passwordless login.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 8.0.33 Dolt

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> use config_blog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MySQL [config_blog]> show tables;
ERROR:
```

First time it errors.

Subsequent runs succeed.

```
MySQL [config_blog]> show tables;
+------------------------------+
| Tables_in_config_blog |
+------------------------------+
| dolt_branches |
| dolt_commit_ancestors |
| dolt_commit_diff_t |
| dolt_commits |
| dolt_conflicts |
| dolt_conflicts_t |
| dolt_constraint_violations |
| dolt_constraint_violations_t |
| dolt_diff_t |
| dolt_history_t |
| dolt_log |
| dolt_remote_branches |
| dolt_remotes |
| dolt_status |
| dolt_workspace_t |
| t |
+------------------------------+
16 rows in set (0.000 sec)
```

Error in the debug logs suggest this may be the culprit:

```
D=3 error="error querying table dolt_commit_diff_t: dolt_commit_diff_* tables must be filtered to a single 'to_commit'" query="SELECT * FROM `dolt_commit_diff_t` LIMIT 0;"
```

But that error is in every run of show tables.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.