trdsql v0.12.0
Posted on:
trdsql v0.12.0をリリースしました。
リリースのページから各バイナリがダウンロードできます。
YAMLサポート
YAML形式のファイルを読み込み、出力できるようになりました。
読み込みはYAML
, またはYML
の拡張子であれば自動判別させるか、-iyaml
を指定します。
- id: 1
name: Orange
- id: 2
name: Melon
- id: 3
name: Apple
$ trdsql -oh "SELECT id,name FROM test.yaml"
id,name
1,Orange
2,Melon
3,Apple
出力は-oyaml
を指定します。
trdsql -oyaml "SELECT * FROM KEN_ALL.CSV LIMIT 1"
- c1: 577
c2: 48
c3: 196608
c4: ホッカイドウ
c5: サッポロシチュウオウク
c6: イカニケイサイガナイバアイ
c7: 北海道
c8: 札幌市中央区
c9: 以下に掲載がない場合
c10: 0
c11: 0
c12: 0
c13: 0
c14: 0
c15: 0
YAMLの読み込みは内部的にはJSONに変換してから読み込んでいます。そのため階層構造のあるYAMLの値はJSONになります。
- id: 1
name: Drolet
attribute:
color: burlywood
country: Maldives
- id: 2
name: Shelly
attribute:
color: plum
country: Yemen
- id: 3
name: Tuck
attribute:
color: antiquewhite
country: Mayotte
$ trdsql "SELECT * FROM test2.yml"
1,Drolet,"{""color"": ""burlywood"", ""country"": ""Maldives""}"
2,Shelly,"{""color"": ""plum"", ""country"": ""Yemen""}"
3,Tuck,"{""color"": ""antiquewhite"", ""country"": ""Mayotte""}"
JSONで出力すると下の階層までJSONになります。
$ trdsql -ojson "SELECT * FROM test2.yml"
[
{
"id": "1",
"name": "Drolet",
"attribute": {
"color": "burlywood",
"country": "Maldives"
}
},
{
"id": "2",
"name": "Shelly",
"attribute": {
"color": "plum",
"country": "Yemen"
}
},
{
"id": "3",
"name": "Tuck",
"attribute": {
"color": "antiquewhite",
"country": "Mayotte"
}
}
]
内部がJSONなのでJSONと同じくjq構文が使用可能です。
$ trdsql "SELECT * FROM test2.yml::.[].attribute.color"
burlywood
plum
antiquewhite
markdown出力のときにエスケープ追加
markdown出力のときに|
をエスケープするようにしました。
前は|
があるときに自分で変換しておかないとHTML変換時に列がずれていました。
$ trdsql -omd "SELECT 'a','b', 'c|d'"
| ?column? | ?column? | ?column? |
|----------|----------|----------|
| a | b | c\|d |