aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/ClickHouse/ch-go/proto/feature.go
blob: b06deac76618a7632ded6e75dde53d960dfcfce7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package proto

//go:generate go run github.com/dmarkham/enumer -type Feature -trimprefix Feature -output feature_enum.go

// Feature represents server side feature.
type Feature int

// src/Core/ProtocolDefines.h

// Possible features.
const (
	FeatureBlockInfo                   Feature = 51903
	FeatureTimezone                    Feature = 54058
	FeatureQuotaKeyInClientInfo        Feature = 54060
	FeatureDisplayName                 Feature = 54372
	FeatureVersionPatch                Feature = 54401
	FeatureTempTables                  Feature = 50264
	FeatureServerLogs                  Feature = 54406
	FeatureColumnDefaultsMetadata      Feature = 54410
	FeatureClientWriteInfo             Feature = 54420
	FeatureSettingsSerializedAsStrings Feature = 54429
	FeatureInterServerSecret           Feature = 54441
	FeatureOpenTelemetry               Feature = 54442
	FeatureXForwardedForInClientInfo   Feature = 54443
	FeatureRefererInClientInfo         Feature = 54447
	FeatureDistributedDepth            Feature = 54448
	FeatureQueryStartTime              Feature = 54449
	FeatureProfileEvents               Feature = 54451
	FeatureParallelReplicas            Feature = 54453
	FeatureCustomSerialization         Feature = 54454
	FeatureQuotaKey                    Feature = 54458
	FeatureAddendum                    Feature = 54458
	FeatureParameters                  Feature = 54459
	FeatureServerQueryTimeInProgress   Feature = 54460
)

// Version reports protocol version when Feature was introduced.
func (f Feature) Version() int {
	return int(f)
}

// In reports whether feature is implemented in provided protocol version.
func (f Feature) In(v int) bool {
	return v >= f.Version()
}