Skip to content

Commit 7a39b97

Browse files
craig[bot]rmlovelandjbowens
committed
153682: docgen: update ALTER {INDEX,TABLE} SCATTER diagram r=rafiss a=rmloveland Epic: none Release note: none Release justification: non-production code change Diagram preview image: <img width="1043" height="515" alt="Screenshot 2025-09-18 at 11 09 11 AM" src="https://github.com/user-attachments/assets/2b004b5f-0a3a-4033-93f6-31ad65331a6e" /> 153743: go.mod: bump Pebble to 53f12aa6852b r=annrpom a=jbowens Changes: * [`53f12aa6`](cockroachdb/pebble@53f12aa6) sstable: optimize blobReferenceValues allocation * [`9d1f319b`](cockroachdb/pebble@9d1f319b) sstable: fix i.synthetic.atSyntheticKey check in Next * [`fd959dd0`](cockroachdb/pebble@fd959dd0) sstable: fix issue with comparing suffix during SeekPrefixGE lazy positioning * [`5e3f0383`](cockroachdb/pebble@5e3f0383) cockroachkvs: add functions for MaximumSuffixProperty interface to cockroachkvs * [`497c3474`](cockroachdb/pebble@497c3474) vfs: deflake TestOnDiskFull tests * [`56cf8717`](cockroachdb/pebble@56cf8717) pebble: add virtual sst rewrite compaction * [`518b3cba`](cockroachdb/pebble@518b3cba) internal/manifest: dont put backing into rewrite heap if it is external * [`21b9fb54`](cockroachdb/pebble@21b9fb54) internal/manifest: track virtual tables by level in VirtualBacking * [`8817b066`](cockroachdb/pebble@8817b066) manifest: use slices.SortFunc * [`90c914a7`](cockroachdb/pebble@90c914a7) manifest: apply a few small hygiene improvements to L0 sublevels * [`4703883c`](cockroachdb/pebble@4703883c) db: add output blobs, pct likely mvcc garbage to flush and compact events * [`e26ec98b`](cockroachdb/pebble@e26ec98b) sstable/blob: track MVCCGarbageBytes in FileWriterStats * [`ef31c6ce`](cockroachdb/pebble@ef31c6ce) go.mod: bump crlib * [`98178c8a`](cockroachdb/pebble@98178c8a) db: fix grandparents for intra-L0 compactions * [`844c2013`](cockroachdb/pebble@844c2013) metrics: hide empty level metrics * [`5abc279d`](cockroachdb/pebble@5abc279d) table: support filtering * [`f275c621`](cockroachdb/pebble@f275c621) table: replace AutoIncrement with StringWithTupleIndex * [`b33397f5`](cockroachdb/pebble@b33397f5) db: improve error checking in TestIngestError * [`a514d0ff`](cockroachdb/pebble@a514d0ff) blob: fix bug to use BufferPool * [`28a04cd6`](cockroachdb/pebble@28a04cd6) table: remove horizontal orientation * [`bfcb9533`](cockroachdb/pebble@bfcb9533) metrics: don't use horizontal table rendering * [`69e4395b`](cockroachdb/pebble@69e4395b) metrics: add separators before total rows * [`d4118017`](cockroachdb/pebble@d4118017) table: support horizontal dividers * [`ca6fe0e9`](cockroachdb/pebble@ca6fe0e9) table: pass rows as slice * [`5a51e40b`](cockroachdb/pebble@5a51e40b) db: improve compaction test timeout observability * [`d1a85df7`](cockroachdb/pebble@d1a85df7) go.mod: bump datadriven * [`2fa586f6`](cockroachdb/pebble@2fa586f6) fix: prevent random test from generating invalid op seq that violates invariant * [`534dbfb1`](cockroachdb/pebble@534dbfb1) db: assert that blob file rewrites reduce value size Release note: none. Epic: none. Co-authored-by: Rich Loveland <[email protected]> Co-authored-by: Jackson Owens <[email protected]>
3 parents 0d0fca4 + 0d99f4c + f7d2a5e commit 7a39b97

File tree

7 files changed

+23
-23
lines changed

7 files changed

+23
-23
lines changed

DEPS.bzl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1750,20 +1750,20 @@ def go_deps():
17501750
name = "com_github_cockroachdb_crlib",
17511751
build_file_proto_mode = "disable_global",
17521752
importpath = "github.com/cockroachdb/crlib",
1753-
sha256 = "3481f073a07aad90b3e66e357ed9b1212fb649b2653d6ce91a7d6a345632a9e4",
1754-
strip_prefix = "github.com/cockroachdb/[email protected]20250914170308-eb2d55dbae2e",
1753+
sha256 = "4e2aad9df48f99411a51186fdf92041c881adc642c87106776734e8a64578077",
1754+
strip_prefix = "github.com/cockroachdb/[email protected]20250916151006-1094cb39adac",
17551755
urls = [
1756-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20250914170308-eb2d55dbae2e.zip",
1756+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20250916151006-1094cb39adac.zip",
17571757
],
17581758
)
17591759
go_repository(
17601760
name = "com_github_cockroachdb_datadriven",
17611761
build_file_proto_mode = "disable_global",
17621762
importpath = "github.com/cockroachdb/datadriven",
1763-
sha256 = "251593cd9c040fe84a99a3919de7ce6f85030d522159a37d625dc2dea7a4d17f",
1764-
strip_prefix = "github.com/cockroachdb/[email protected].20250407164829-2945557346d5",
1763+
sha256 = "417027b5ff27774000129768f79e9ae62021b95d3ac9d3181e132dbe46b44da3",
1764+
strip_prefix = "github.com/cockroachdb/[email protected].20250911232732-d959cf14706c",
17651765
urls = [
1766-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20250407164829-2945557346d5.zip",
1766+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20250911232732-d959cf14706c.zip",
17671767
],
17681768
)
17691769
go_repository(
@@ -1830,10 +1830,10 @@ def go_deps():
18301830
patches = [
18311831
"@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_pebble.patch",
18321832
],
1833-
sha256 = "10060b8a61eef9e99114b4e92a058f142507920eb1a32217c9026d684c44ae63",
1834-
strip_prefix = "github.com/cockroachdb/[email protected]20250915183128-9eec1725930d",
1833+
sha256 = "ce6b413d464aa7d86272d5b70b34cfe911c05f4dd4ce540cabaf7899c766aba3",
1834+
strip_prefix = "github.com/cockroachdb/[email protected]20250918210818-53f12aa6852b",
18351835
urls = [
1836-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250915183128-9eec1725930d.zip",
1836+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250918210818-53f12aa6852b.zip",
18371837
],
18381838
)
18391839
go_repository(

build/bazelutil/distdir_files.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ DISTDIR_FILES = {
346346
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cmux/com_github_cockroachdb_cmux-v0.0.0-20250514152509-914d3bf9ec58.zip": "c1cf4cd99a1ad6a00f2ccd4188cbcf004cb0d56895670b2c171061ce564cd791",
347347
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cockroach-go/v2/com_github_cockroachdb_cockroach_go_v2-v2.4.1.zip": "ba646db91152f3121a6812c7b74d12d8c0e126f7b4d3b927618b159692ceb424",
348348
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlfmt/com_github_cockroachdb_crlfmt-v0.0.0-20221214225007-b2fc5c302548.zip": "fedc01bdd6d964da0425d5eaac8efadc951e78e13f102292cc0774197f09ab63",
349-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20250914170308-eb2d55dbae2e.zip": "3481f073a07aad90b3e66e357ed9b1212fb649b2653d6ce91a7d6a345632a9e4",
350-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20250407164829-2945557346d5.zip": "251593cd9c040fe84a99a3919de7ce6f85030d522159a37d625dc2dea7a4d17f",
349+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20250916151006-1094cb39adac.zip": "4e2aad9df48f99411a51186fdf92041c881adc642c87106776734e8a64578077",
350+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20250911232732-d959cf14706c.zip": "417027b5ff27774000129768f79e9ae62021b95d3ac9d3181e132dbe46b44da3",
351351
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/drpc/com_github_cockroachdb_drpc-v0.0.0-20250807091527-65dcebaa113e.zip": "ebb4b3ca9a6c5944255506b4cf5091b86b76851e52211940b609c98e8bcc7aab",
352352
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/errors/com_github_cockroachdb_errors-v1.12.0.zip": "f73d8a5f4d8fcbc4ed61db2b47f17e2601d8b32e9a49c0665667489d9d9d6e7c",
353353
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/go-test-teamcity/com_github_cockroachdb_go_test_teamcity-v0.0.0-20191211140407-cff980ad0a55.zip": "bac30148e525b79d004da84d16453ddd2d5cd20528e9187f1d7dac708335674b",
@@ -356,7 +356,7 @@ DISTDIR_FILES = {
356356
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/gostdlib/com_github_cockroachdb_gostdlib-v1.19.0.zip": "c4d516bcfe8c07b6fc09b8a9a07a95065b36c2855627cb3514e40c98f872b69e",
357357
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/logtags/com_github_cockroachdb_logtags-v0.0.0-20241215232642-bb51bb14a506.zip": "920068af09e3846d9ebb4e4a7787ff1dd10f3989c5f940ad861b0f6a9f824f6e",
358358
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/metamorphic/com_github_cockroachdb_metamorphic-v0.0.0-20231108215700-4ba948b56895.zip": "28c8cf42192951b69378cf537be5a9a43f2aeb35542908cc4fe5f689505853ea",
359-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250915183128-9eec1725930d.zip": "10060b8a61eef9e99114b4e92a058f142507920eb1a32217c9026d684c44ae63",
359+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250918210818-53f12aa6852b.zip": "ce6b413d464aa7d86272d5b70b34cfe911c05f4dd4ce540cabaf7899c766aba3",
360360
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/redact/com_github_cockroachdb_redact-v1.1.6.zip": "018eccb5fb9ca52d43ec9eaf213539d01c1f2b94e0e822406ebfb2e9321ef6cf",
361361
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/returncheck/com_github_cockroachdb_returncheck-v0.0.0-20200612231554-92cdbca611dd.zip": "ce92ba4352deec995b1f2eecf16eba7f5d51f5aa245a1c362dfe24c83d31f82b",
362362
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/stress/com_github_cockroachdb_stress-v0.0.0-20220803192808-1806698b1b7b.zip": "3fda531795c600daf25532a4f98be2a1335cd1e5e182c72789bca79f5f69fcc1",

docs/generated/sql/bnf/alter_index.bnf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ alter_index_stmt ::=
1919
| 'ALTER' 'INDEX' index_name 'UNSPLIT' 'AT' select_stmt
2020
| 'ALTER' 'INDEX' table_name '@' index_name 'UNSPLIT' 'ALL'
2121
| 'ALTER' 'INDEX' index_name 'UNSPLIT' 'ALL'
22+
| alter_scatter_index_stmt
2223
| 'ALTER' 'INDEX' table_name '@' index_name 'RENAME' 'TO' index_new_name
2324
| 'ALTER' 'INDEX' index_name 'RENAME' 'TO' index_new_name
2425
| 'ALTER' 'INDEX' 'IF' 'EXISTS' table_name '@' index_name 'RENAME' 'TO' index_new_name

docs/generated/sql/bnf/alter_table.bnf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ alter_table_stmt ::=
55
| 'ALTER' 'TABLE' table_name 'SPLIT' 'AT' select_stmt 'WITH' 'EXPIRATION' a_expr
66
| 'ALTER' 'TABLE' table_name 'UNSPLIT' 'AT' select_stmt
77
| 'ALTER' 'TABLE' table_name 'UNSPLIT' 'ALL'
8+
| alter_scatter_stmt
89
| 'ALTER' 'TABLE' table_name 'CONFIGURE' 'ZONE' 'USING' variable '=' 'COPY' 'FROM' 'PARENT' ( ( ',' variable '=' value | ',' variable '=' 'COPY' 'FROM' 'PARENT' ) )*
910
| 'ALTER' 'TABLE' table_name 'CONFIGURE' 'ZONE' 'USING' variable '=' value ( ( ',' variable '=' value | ',' variable '=' 'COPY' 'FROM' 'PARENT' ) )*
1011
| 'ALTER' 'TABLE' table_name 'CONFIGURE' 'ZONE' 'DISCARD'

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,13 @@ require (
136136
github.com/cockroachdb/cmux v0.0.0-20250514152509-914d3bf9ec58
137137
github.com/cockroachdb/cockroach-go/v2 v2.4.1
138138
github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548
139-
github.com/cockroachdb/crlib v0.0.0-20250914170308-eb2d55dbae2e
140-
github.com/cockroachdb/datadriven v1.0.3-0.20250407164829-2945557346d5
139+
github.com/cockroachdb/crlib v0.0.0-20250916151006-1094cb39adac
140+
github.com/cockroachdb/datadriven v1.0.3-0.20250911232732-d959cf14706c
141141
github.com/cockroachdb/errors v1.12.0
142142
github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55
143143
github.com/cockroachdb/gostdlib v1.19.0
144144
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506
145-
github.com/cockroachdb/pebble v0.0.0-20250915183128-9eec1725930d
145+
github.com/cockroachdb/pebble v0.0.0-20250918210818-53f12aa6852b
146146
github.com/cockroachdb/redact v1.1.6
147147
github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd
148148
github.com/cockroachdb/stress v0.0.0-20220803192808-1806698b1b7b

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -555,12 +555,12 @@ github.com/cockroachdb/cockroach-go/v2 v2.4.1 h1:ACVT/zXsuK6waRPVYtDQpsM8pPA7IA/
555555
github.com/cockroachdb/cockroach-go/v2 v2.4.1/go.mod h1:9U179XbCx4qFWtNhc7BiWLPfuyMVQ7qdAhfrwLz1vH0=
556556
github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548 h1:i0bnjanlWAvM50wHMT7EFyxlt5HQusznWrkwl+HBIsU=
557557
github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548/go.mod h1:qtkxNlt5i3rrdirfJE/bQeW/IeLajKexErv7jEIV+Uc=
558-
github.com/cockroachdb/crlib v0.0.0-20250914170308-eb2d55dbae2e h1:qn+p2EISsM2HjMDt6Ivx5W3CG/jCz/JSCeLnF9vJju8=
559-
github.com/cockroachdb/crlib v0.0.0-20250914170308-eb2d55dbae2e/go.mod h1:Gq51ZeKaFCXk6QwuGM0w1dnaOqc/F5zKT2zA9D6Xeac=
558+
github.com/cockroachdb/crlib v0.0.0-20250916151006-1094cb39adac h1:L+7nhSrQ9WzW91AJHP0LmjwMHEed2nl5b7PvN9eIw58=
559+
github.com/cockroachdb/crlib v0.0.0-20250916151006-1094cb39adac/go.mod h1:Gq51ZeKaFCXk6QwuGM0w1dnaOqc/F5zKT2zA9D6Xeac=
560560
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
561561
github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
562-
github.com/cockroachdb/datadriven v1.0.3-0.20250407164829-2945557346d5 h1:UycK/E0TkisVrQbSoxvU827FwgBBcZ95nRRmpj/12QI=
563-
github.com/cockroachdb/datadriven v1.0.3-0.20250407164829-2945557346d5/go.mod h1:jsaKMvD3RBCATk1/jbUZM8C9idWBJME9+VRZ5+Liq1g=
562+
github.com/cockroachdb/datadriven v1.0.3-0.20250911232732-d959cf14706c h1:a0m7gmtv2mzJQ4wP9BkxCmJAnjZ7fsvCi2IORGD1als=
563+
github.com/cockroachdb/datadriven v1.0.3-0.20250911232732-d959cf14706c/go.mod h1:jsaKMvD3RBCATk1/jbUZM8C9idWBJME9+VRZ5+Liq1g=
564564
github.com/cockroachdb/drpc v0.0.0-20250807091527-65dcebaa113e h1:Fzex8ZwZ/Exh7ZJf9bTS8BELh93bVFvdzqqKc9jaWUo=
565565
github.com/cockroachdb/drpc v0.0.0-20250807091527-65dcebaa113e/go.mod h1:UWP+upGv1Z+4nWxcdwhv3/wQXSOgCZteytaRVez5PDc=
566566
github.com/cockroachdb/errors v1.12.0 h1:d7oCs6vuIMUQRVbi6jWWWEJZahLCfJpnJSVobd1/sUo=
@@ -577,8 +577,8 @@ github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILM
577577
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo=
578578
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895 h1:XANOgPYtvELQ/h4IrmPAohXqe2pWA8Bwhejr3VQoZsA=
579579
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895/go.mod h1:aPd7gM9ov9M8v32Yy5NJrDyOcD8z642dqs+F0CeNXfA=
580-
github.com/cockroachdb/pebble v0.0.0-20250915183128-9eec1725930d h1:ywJG9y9tEEoVRcqH4Ig71Kq9PJcPbr9GwOnBqfKdQWY=
581-
github.com/cockroachdb/pebble v0.0.0-20250915183128-9eec1725930d/go.mod h1:zc33YirQWSE/Dw6WFmZSOAi3L0FcH23cXGbH6qZGF9k=
580+
github.com/cockroachdb/pebble v0.0.0-20250918210818-53f12aa6852b h1:3SqE/JRApTxaGjSQC3En4sEzQ/FHDPYVVMO7aRtgPc8=
581+
github.com/cockroachdb/pebble v0.0.0-20250918210818-53f12aa6852b/go.mod h1:H/DxkYtsYVJwPFLikOL9yzb/PV7oIkz44CUmn4KecKg=
582582
github.com/cockroachdb/redact v1.1.6 h1:zXJBwDZ84xJNlHl1rMyCojqyIxv+7YUpQiJLQ7n4314=
583583
github.com/cockroachdb/redact v1.1.6/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
584584
github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd h1:KFOt5I9nEKZgCnOSmy8r4Oykh8BYQO8bFOTgHDS8YZA=

pkg/cmd/docgen/diagrams.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,6 @@ var specs = []stmtSpec{
419419
name: "alter_index",
420420
stmt: "alter_index_stmt",
421421
inline: []string{"alter_oneindex_stmt", "alter_index_cmds", "alter_index_cmd", "partition_by_index", "partition_by_inner", "partition_by", "table_index_name", "alter_split_index_stmt", "alter_unsplit_index_stmt", "alter_rename_index_stmt", "alter_zone_index_stmt", "var_set_list", "alter_index_visible_stmt", "set_zone_config", "alter_index_visible"},
422-
exclude: []*regexp.Regexp{regexp.MustCompile("alter_scatter_index_stmt")},
423422
replace: map[string]string{"standalone_index_name": "index_name", "var_name": "variable", "var_value": "value", "'RENAME' 'TO' index_name": "'RENAME' 'TO' index_new_name"},
424423
unlink: []string{"index_new_name", "variable", "value"},
425424
},
@@ -550,7 +549,6 @@ var specs = []stmtSpec{
550549
name: "alter_table",
551550
stmt: "alter_table_stmt",
552551
inline: []string{"alter_onetable_stmt", "alter_table_cmds", "alter_split_stmt", "alter_unsplit_stmt", "alter_zone_table_stmt", "alter_rename_table_stmt", "alter_table_set_schema_stmt", "alter_table_locality_stmt", "alter_table_owner_stmt", "set_zone_config", "var_set_list"},
553-
exclude: []*regexp.Regexp{regexp.MustCompile("alter_scatter_stmt")},
554552
replace: map[string]string{"relation_expr": "table_name", "'RENAME' 'TO' table_name": "'RENAME' 'TO' table_new_name", "var_name": "variable", "var_value": "value"},
555553
unlink: []string{"table_name", "table_new_name", "variable", "value"},
556554
},

0 commit comments

Comments
 (0)