Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/generated/sql/bnf/alter_sequence.bnf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
alter_sequence_stmt ::=
( 'ALTER' 'SEQUENCE' sequence_name 'RENAME' 'TO' sequence_name | 'ALTER' 'SEQUENCE' 'IF' 'EXISTS' sequence_name 'RENAME' 'TO' sequence_name )
| ( 'ALTER' 'SEQUENCE' sequence_name ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) | 'ALTER' 'SEQUENCE' 'IF' 'EXISTS' sequence_name ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) )
| ( 'ALTER' 'SEQUENCE' sequence_name ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) | 'ALTER' 'SEQUENCE' 'IF' 'EXISTS' sequence_name ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) )
| ( 'ALTER' 'SEQUENCE' sequence_name 'SET' 'SCHEMA' schema_name | 'ALTER' 'SEQUENCE' 'IF' 'EXISTS' sequence_name 'SET' 'SCHEMA' schema_name )
| ( 'ALTER' 'SEQUENCE' sequence_name 'OWNER' 'TO' role_spec | 'ALTER' 'SEQUENCE' 'IF' 'EXISTS' sequence_name 'OWNER' 'TO' role_spec )
4 changes: 2 additions & 2 deletions docs/generated/sql/bnf/create_sequence_stmt.bnf
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_sequence_stmt ::=
'CREATE' opt_temp 'SEQUENCE' sequence_name ( ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) | )
| 'CREATE' opt_temp 'SEQUENCE' 'IF' 'NOT' 'EXISTS' sequence_name ( ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) | )
'CREATE' opt_temp 'SEQUENCE' sequence_name ( ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) | )
| 'CREATE' opt_temp 'SEQUENCE' 'IF' 'NOT' 'EXISTS' sequence_name ( ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) ( ( ( 'AS' typename | 'NO' 'CYCLE' | 'OWNED' 'BY' 'NONE' | 'OWNED' 'BY' column_name | 'CACHE' integer | 'PER' 'NODE' 'CACHE' integer | 'PER' 'SESSION' 'CACHE' integer | 'INCREMENT' integer | 'INCREMENT' 'BY' integer | 'MINVALUE' integer | 'NO' 'MINVALUE' | 'MAXVALUE' integer | 'NO' 'MAXVALUE' | 'START' integer | 'START' 'WITH' integer | 'RESTART' | 'RESTART' integer | 'RESTART' 'WITH' integer | 'VIRTUAL' ) ) )* ) | )
3 changes: 3 additions & 0 deletions docs/generated/sql/bnf/stmt_block.bnf
Original file line number Diff line number Diff line change
Expand Up @@ -3743,6 +3743,7 @@ sequence_option_elem ::=
| 'OWNED' 'BY' column_path
| 'CACHE' signed_iconst64
| 'PER' 'NODE' 'CACHE' signed_iconst64
| 'PER' 'SESSION' 'CACHE' signed_iconst64
| 'INCREMENT' signed_iconst64
| 'INCREMENT' 'BY' signed_iconst64
| 'MINVALUE' signed_iconst64
Expand Down Expand Up @@ -4939,6 +4940,8 @@ col_qual_list ::=
identity_option_elem ::=
'SET' 'NO' 'CYCLE'
| 'SET' 'CACHE' signed_iconst64
| 'SET' 'PER' 'NODE' 'CACHE' signed_iconst64
| 'SET' 'PER' 'SESSION' 'CACHE' signed_iconst64
| 'SET' 'INCREMENT' signed_iconst64
| 'SET' 'INCREMENT' 'BY' signed_iconst64
| 'SET' 'MINVALUE' signed_iconst64
Expand Down
7 changes: 5 additions & 2 deletions pkg/sql/alter_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -1252,8 +1252,11 @@ func applyColumnMutation(

opts := seqDesc.GetSequenceOpts()
optsNode := tree.SequenceOptions{}
if opts.CacheSize > 1 {
optsNode = append(optsNode, tree.SequenceOption{Name: tree.SeqOptCache, IntVal: &opts.CacheSize})
if opts.SessionCacheSize > 1 {
optsNode = append(optsNode, tree.SequenceOption{Name: tree.SeqOptCacheSession, IntVal: &opts.SessionCacheSize})
}
if opts.NodeCacheSize > 1 {
optsNode = append(optsNode, tree.SequenceOption{Name: tree.SeqOptCacheNode, IntVal: &opts.NodeCacheSize})
}
optsNode = append(optsNode, tree.SequenceOption{Name: tree.SeqOptMinValue, IntVal: &opts.MinValue})
optsNode = append(optsNode, tree.SequenceOption{Name: tree.SeqOptMaxValue, IntVal: &opts.MaxValue})
Expand Down
2 changes: 1 addition & 1 deletion pkg/sql/catalog/descpb/structured.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ func (opts *TableDescriptor_SequenceOpts) HasOwner() bool {
//
// Note: An unset cache size is considered disabled.
func (opts *TableDescriptor_SequenceOpts) EffectiveCacheSize() int64 {
switch sessionCacheSize := opts.CacheSize; sessionCacheSize {
switch sessionCacheSize := opts.SessionCacheSize; sessionCacheSize {
case 0, 1:
default:
return sessionCacheSize
Expand Down
4 changes: 2 additions & 2 deletions pkg/sql/catalog/descpb/structured.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1194,8 +1194,8 @@ message TableDescriptor {
optional SequenceOwner sequence_owner = 6 [(gogoproto.nullable) = false];

// The number of values (which have already been created in KV)
// that a node can cache locally.
optional int64 cache_size = 7 [(gogoproto.nullable) = false];
// that a session can cache locally.
optional int64 session_cache_size = 7 [(gogoproto.nullable) = false];
// AS option value for CREATE SEQUENCE, which specifies the default
// min and max values a sequence can take on.
optional string as_integer_type = 8 [(gogoproto.nullable) = false];
Expand Down
4 changes: 2 additions & 2 deletions pkg/sql/catalog/descpb/structured_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ func TestEffectiveCacheSize(t *testing.T) {
for _, tt := range testCases {
t.Run(tt.name, func(t *testing.T) {
opts := TableDescriptor_SequenceOpts{
CacheSize: tt.session,
NodeCacheSize: tt.node,
SessionCacheSize: tt.session,
NodeCacheSize: tt.node,
}
result := opts.EffectiveCacheSize()
if result != tt.expectedResult {
Expand Down
14 changes: 7 additions & 7 deletions pkg/sql/catalog/schemaexpr/sequence_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func AssignSequenceOptions(
opts.MaxValue = -1
opts.Start = opts.MaxValue
}
opts.CacheSize = 1
opts.SessionCacheSize = 1
}

// Set Minvalue and Maxvalue to new types bounds if at current bounds.
Expand Down Expand Up @@ -148,19 +148,19 @@ func AssignSequenceOptions(
"CYCLE option is not supported")
case tree.SeqOptNoCycle:
// Do nothing; this is the default.
case tree.SeqOptCache:
case tree.SeqOptCacheNode:
if v := *option.IntVal; v >= 1 {
opts.CacheSize = v
opts.NodeCacheSize = v
} else {
return errors.Newf(
"CACHE (%d) must be greater than zero", v)
"PER NODE CACHE (%d) must be greater than zero", v)
}
case tree.SeqOptCacheNode:
case tree.SeqOptCacheSession:
if v := *option.IntVal; v >= 1 {
opts.NodeCacheSize = v
opts.SessionCacheSize = v
} else {
return errors.Newf(
"PER NODE CACHE (%d) must be greater than zero", v)
"PER SESSION CACHE (%d) must be greater than zero", v)
}
case tree.SeqOptIncrement:
// Do nothing; this has already been set.
Expand Down
2 changes: 1 addition & 1 deletion pkg/sql/catalog/serial_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func SequenceOptionsFromNormalizationMode(
case sessiondatapb.SerialUsesCachedSQLSequences:
cacheValue := sqlclustersettings.CachedSequencesCacheSizeSetting.Get(&st.SV)
seqOpts = append(seqOpts, tree.SequenceOption{
Name: tree.SeqOptCache,
Name: tree.SeqOptCacheSession,
IntVal: &cacheValue,
})
case sessiondatapb.SerialUsesCachedNodeSQLSequences:
Expand Down
30 changes: 15 additions & 15 deletions pkg/sql/catalog/systemschema/system.go
Original file line number Diff line number Diff line change
Expand Up @@ -1737,11 +1737,11 @@ var (
),
func(tbl *descpb.TableDescriptor) {
tbl.SequenceOpts = &descpb.TableDescriptor_SequenceOpts{
Increment: 1,
MinValue: 1,
MaxValue: math.MaxInt64,
Start: 1,
CacheSize: 1,
Increment: 1,
MinValue: 1,
MaxValue: math.MaxInt64,
Start: 1,
SessionCacheSize: 1,
}
tbl.NextColumnID = 0
tbl.NextFamilyID = 0
Expand Down Expand Up @@ -1781,11 +1781,11 @@ var (
),
func(tbl *descpb.TableDescriptor) {
opts := &descpb.TableDescriptor_SequenceOpts{
Increment: 1,
MinValue: 100,
MaxValue: math.MaxInt32,
Start: 100,
CacheSize: 1,
Increment: 1,
MinValue: 100,
MaxValue: math.MaxInt32,
Start: 100,
SessionCacheSize: 1,
}
tbl.SequenceOpts = opts
tbl.NextColumnID = 0
Expand Down Expand Up @@ -1826,11 +1826,11 @@ var (
),
func(tbl *descpb.TableDescriptor) {
tbl.SequenceOpts = &descpb.TableDescriptor_SequenceOpts{
Increment: 1,
MinValue: 1,
MaxValue: math.MaxInt64,
Start: 1,
CacheSize: 1,
Increment: 1,
MinValue: 1,
MaxValue: math.MaxInt64,
Start: 1,
SessionCacheSize: 1,
}
tbl.NextColumnID = 0
tbl.NextFamilyID = 0
Expand Down
Loading