Size: a a a

2020 May 21

C

Calculon in Go-go!
Daniel Podolsky
корректно вполне
неа
источник

RS

Roman Sharkov in Go-go!
Calculon
Если код собрать стандартным компилятором, прога будет некорректно работать, я про это
эт как это? 🙂
источник

DP

Daniel Podolsky in Go-go!
ну - там каждый ok будет false
источник

ВС

Владимир Столяров... in Go-go!
Messer
Всем привет. Кто работал с ClickHouse подскажите как можно адекватно сохранять большое количество записей (около 10к за один Insert)?
Использую clickhouse-go пакет и пример оттуда же.
stmt.Exec() каждой записи занимает ~1ms что полностью убивает скорость
А какой драйвер используется?
источник

M

Messer in Go-go!
database/sql
источник

C

Calculon in Go-go!
Roman Sharkov
эт как это? 🙂
стандартный компилер не знает что такое /*?*/, поэтому проверок на nil не будет
источник

ВС

Владимир Столяров... in Go-go!
Messer
database/sql
Не, это не драйвер. Драйвер подключается в том месте, где делается sql.Open
источник

C

Calculon in Go-go!
Calculon
стандартный компилер не знает что такое /*?*/, поэтому проверок на nil не будет
Очевидно же, или я что то упускаю?
источник

DP

Daniel Podolsky in Go-go!
Calculon
стандартный компилер не знает что такое /*?*/, поэтому проверок на nil не будет
это текущее поведение, оно нас не пугает
источник

RS

Roman Sharkov in Go-go!
Roman Sharkov
получается, это https://play.golang.org/p/OwsaroNHx_y

он должен заменить на это: https://play.golang.org/p/FnVStydCY6t

🤔
@Calculon666 пожалуйста, внимательно прочитай 🙂
источник

DP

Daniel Podolsky in Go-go!
а вот то, что каждый ok будет не ок
источник

M

Messer in Go-go!
Владимир Столяров
Не, это не драйвер. Драйвер подключается в том месте, где делается sql.Open
_ "github.com/mailru/go-clickhouse"
это?
источник

ВС

Владимир Столяров... in Go-go!
Да
источник

RS

Roman Sharkov in Go-go!
@Calculon666 надо написать некий препроцессор, который заменит

v, ok := /*?*/ f.Bar.Baz, false

на

v, ok := func() (*Baz, bool) {
 if f.Bar == nil {
   return nil, false
 }
 return f.Bar.Baz, true
}()


это разумеется только ради PoC. В будущем компилятор должен это делать самостоятельно
источник

ВС

Владимир Столяров... in Go-go!
Messer
_ "github.com/mailru/go-clickhouse"
это?
Он вроде не умеет bulk insert через транзакции. Вот этот умеет https://github.com/ClickHouse/clickhouse-go
источник

M

Messer in Go-go!
Владимир Столяров
Он вроде не умеет bulk insert через транзакции. Вот этот умеет https://github.com/ClickHouse/clickhouse-go
Flow такой же?
tx, _   = connect.Begin
tx.Prepare
stmt.Exec
tx.Commit()
источник

ВС

Владимир Столяров... in Go-go!
Да
источник

RS

Roman Sharkov in Go-go!
v, ok := a.b.c.d.e.f.g

@onokonem а как сиё вообще назвать? 🤔
источник

ВС

Владимир Столяров... in Go-go!
В js эту конструкцию назвали optional chaining
источник

RS

Roman Sharkov in Go-go!
Владимир Столяров
В js эту конструкцию назвали optional chaining
учитывая что оно должно в таком случае уметь и это:

v, ok := slice[6]

то название не совсем подходящее

P.S. зачем? чтоб можно было:

v, ok := foo.Bar.Baz[6].Fuzz
источник