While I can live without this being fixed, it's just very useful to have DEFAULTs and the CHECKs for columns easily visible for some ProxySQL management tasks and debugging. was also missing on several columns that I checked. The Create Code sub-tab tab doesn't show some of the nuances of SQLite columns such as max_connections INT CHECK (max_connections >=0) NOT NULL DEFAULT 10000, which would be really nice to have.Anyways, DDL is not needed nor expected for ProxySQL. Adding a VARCHAR column didn't work either, as SQLite didn't like the (50) field size parameter. Out of curiosity I tried adding an index to a table, and it failed just as I would expect (MySQL vs. The sub-tabs are ok even if most aren't needed.So do the Host: xxx and Database: xxx tabs. It makes it a whole lot easier to quickly check out values of all ProxySQL's settings, and manage some of them. This is because run_query is set to true at the start of the function, and if there's no code to do something special with a given query, it passes it to the SQLite backend, that last build worked quite well for me - THANK YOU! ![]() However, reading of the function that is called, led me to SQLite's PRAGMA table_info(), which appears to work nicely: However, the result has no column names, just indexes (which I think is a bug - I'll file one for that too). it needs lower case, where all other commands expect upper. A couple of options for column info looked plausible, one was show fields from from here (seems to be a case of inconsistency in expected case. I was reading through the admin_session_handler() function in ProxySQL_Admin.cpp from ProxySQL itself, looking at the methods of viewing table data. I suppose there is no way using information_lumns and friends? I just got rid of that a few versions ago. Ugh, that would again mean I have to parse that stuff. ![]() * Quirk to note: would have some "duplicate" tables across some of these databases where they actually represent the same exact thing, e.g., main.mysql_servers = disk.mysql_servers (misunderstanding of ProxySQL's quirks on my part) not an option, see later comments.Ģ) Leverage the "databases" concept, and each one have the tables output from its own SHOW TABLES FROM * As long as the tables are in alphabetical order, this is perfect to sort through them. So two approaches to consider, and both work for me - whatever's easier.ġ) Ignore "databases" completely, but have a complete list of all distinct table names obtained from a loop as described in (C). * MUST be in the output of SHOW TABLES FROM, else you get an error like "no such table"Ĭ) SHOW TABLES does not list all the possible tables, but using SHOW TABLES FROM in a loop around the dbnames from SHOW DATABASES will get the full list of tables. works, e.g., select * from disk.mysql_servers Even a message "ProxySQL does not support table management" in these tabs would make sense.įor the Data main/upper tab I suppose you do need to have the column names, but hopefully you get that already differently without needing anything like information_lumns.Īfter re-reading Peter Zeitsev's Percona article and noting the "hidden yet always available tables" quirk, I have a few more thoughts.Ī) You can run SQLs against any table without using USE at all, and using just the name, e.g., select * from system_cpuī) Referencing a table as. If it's hard to not show those tabs, perhaps just show nothing or "blank data" in each of them. You can completely skip the other tabs: basic, options, indexes, FKs, partitions, alter code. ![]() Suggesting that when I double-click on a table name on the left, under the Table: main/upper tab, the only minor tab you show is CREATE code with the output from SHOW CREATE TABLE. It is using SQLite, and there's (experimental) support for that in Heidi already that maybe you can leverage.In ProxySQL we cannot create, alter or drop any of these tables anyways, so a "full UI" for table management is not needed.It's using SQLite under-the-hood, plus support for a small subset of MySQL commands.Įven though you can SHOW DATABASES and USE, there is only schema and these commands were added for showing some information and slight compatibility to some MySQL tools. They have a very crude DB server setup, without anything resembling information_schema. ![]() (Edit: to clarify, I was referring to the last line of this: Type '\c' to clear the current input statement. Server version: 5.5.30 (ProxySQL Admin Module)Ĭopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |