2023/10/21 に東京・蒲田の PiO(大田区産業プラザ)にて開催された オープンソースカンファレンス2023 Tokyo/Fall (OSC 2023-Tokyo/Fall)に参加ししてきました。 今回は、いつもの日本MySQLユーザ会(MyNA)としての参加に加えて、OSGeo.JP としても参加してきました。 event.ospn.jp 会場は技術系イベント(技術系以外でも?)で定番のひとつ、蒲田のPiO。開場前には搬入用に、普段は開けていない大きなトビラを開け放していました。良い。 東京でのOSC(オフライン)は、今年4月にコロナ後としては初めての再開開催があり、今回が再開後の2…
TL;DR
呼び出し元 | エントリーポイント | リスト関数 |
---|---|---|
SHOW PROCESSLIST (option=OFF) | mysqld_list_processes | Global_THD_manager::do_for_all_thd_copy |
information_schema.processlist | fill_schema_processlist | Global_THD_manager::do_for_all_thd_copy |
performance_schema.processlist | table_processlist::make_row | table_processlist::read_row_values |
SHOW PROCESSLIST (option=ON) | table_processlist::make_row | table_processlist::read_row_values |
-
Global_THD_manager::do_for_all_thd_copy
は …
TL;DR
- 8.0.29とそれ以降でソースビルドをしてる人だけだと思う
-
cmake
する時に-DMINIMAL_RELWITHDEBINFO=OFF
する
gdbでmysqldにアタッチした時に色々見つからなくて困った。thdとか全然見えない。
$ gdb -p $(pidof mysqld)
(gdb) b PT_show_processlist::make_cmd
+b PT_show_processlist::make_cmd
Breakpoint 1 at 0x122eaec: file /home/yoku0825/mysql-8.0.35/sql/parse_tree_nodes.cc, line 2722.
(gdb) c
+c
Continuing.
[Switching to Thread 0x7fe5dc2e9700 (LWP 13041)]
Breakpoint 1, PT_show_processlist::make_cmd () at /home/yoku0825/mysql-8.0.35/sql/parse_tree_nodes.cc:2722
2722 lex->sql_command = m_sql_command;
(gdb) n
+n
2725 bool use_pfs = pfs_processlist_enabled;
(gdb) n
+n
2727 m_sql_cmd.set_use_pfs(use_pfs);
(gdb) p use_pfs
+p use_pfs
No symbol "use_pfs" in current context.
(gdb) n
+n
2728 if (use_pfs) {
(gdb) p use_pfs …
[さらに読む]
TL;DR
- 昔から
user@'%'
とuser@'xxx'
の 両方があって 認証が ‘xxx’ の方で行われた場合 、そのセッションはuser@'%'
とuser@'xxx'
の両方の権限を持つ謎仕様があった - MySQL 8.2.0のリリースノートにある
In addition, the treatment of %by the server as a synonym for localhost when checking privileges (that is, privileges granted to 'myuser'@'%' are also granted to 'myuser'@'localhost') is now also deprecated as of MySQL 8.2.0 and thus also subject to removal in a future version of MySQL. (WL #14280, WL #15676)
はこれを指しているような気がする
MySQL 8.0.35や8.2.0のリリースノートがまだ来ないが、githubのほうではtagが切られていたので、commit messageから新しい機能を探してみた。
$ cd mysql-server/ $ gch trunk Already on 'trunk' Your branch is up to date with 'origin/trunk'. $ gb 8.0 * trunk $ git rev-list -n 1 mysql-8.1.0 ea1efa9822d81044b726aab20c857d5e1b7e046a $ git rev-list -n 1 mysql-8.2.0 87307d4ddd88405117e3f1e51323836d57ab1f57 $ gl ea1efa9822d81044b726aab20c857d5e1b7e046a..87307d4ddd88405117e3f1e51323836d57ab1f57 --pretty=format:"%s" > commit_msg_between_81_and_82.txt
WL#から始まるのが新機能っぽいので、その一覧。 以下、commit_msg_between_81_and_82.txtを"WL#"でgrepした結果
$ cat …[さらに読む]
MySQLでは、より正確に書くと、我々がよく使う JGD2011やWGS84を使う際には、緯度(Lat)と経度(Lon)を表す際 (Lat Lon)の順序で記述します。これは PostGISなど他のGISツールでよく使われている記述順序と逆のものです。この挙動は「ST_SPATIAL_REFERENCE_SYSTEMS上にある JGD2011の定義情報の中で Lat-Lon の順序で示されているからだ」と私は理解し、そのように語ってもきました。 しかし考えてみたら、本当にST_SRSを参照しているのか。実は決め打ちで (Lat-Lon)なのではないか、というウラを取ったことがなかったので、この…
MySQLのJGD2011の SRS定義には towgs84が含まれていないために座標系の変換や換算できない課題について、「EPSG 9.0や9.1には、JGD2011にtowgs84の定義は含まれていない。EPSG v10.042 以降をMySQL開発チームが採用してくれれば全て解決する」との予想的結論をひとつ前のエントリで書きました。 sakaik.hateblo.jp このエントリーでは一足先に、JGD2011でtowgs84を含んだ定義での動作を得るための方法を実験します。本稿は MySQL 8.1.0で動作確認しています。 SRSの定義の変更 MySQLのソースコードの、mysql_…
先日書いた 「MySQLのJGD2011定義にtowgs84がない話」に、一定の結論が出た気がします。 とーかさん(@tohka38)のブログ(下記)と、MySQLの大塚さんとのやりとりをさせていただいた中から調査の糸口がみつかりました。どうもありがとうございます。qiita.com 前提知識 EPSGの定義には、バージョンがある。年10回以上更新されている。本日時点の最新版は v10.094 MySQLの ST_SPATIAL_REFERENCE_SYSTEMS テーブルに登録されている情報は、 MySQL 8.0が EPSG v9.0 を元にしたもの MySQL 8.1が EPSG v9.…
承前 タイトルを見て何の事を言ってるのかわかる人向けのメモ書きです。結論としては「私もよくわかっていない」の段階ですが、調査して(正しいかどうかは分からないけど)多少の情報と仮説ができてきたので、メモとして記す次第です。 最終目的 MySQLの INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS の JGD2011の定義には「towgs84」の記述が含まれていません。JGD2000には含まれています。Tokyoにも(値がなんかおかしいのは別の問題として一応)値は含まれています。JGD2000に含まれているのにJGD2011に含まれていないのはおかしい…