chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
// Copyright 2025 Dolthub, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package id
|
||||
|
||||
import "testing"
|
||||
|
||||
// TestSectionValue operates as a line of defense to prevent accidental changes to pre-existing Section IDs.
|
||||
// If this test fails, then a Section was changed that should not have been changed.
|
||||
func TestSectionValue(t *testing.T) {
|
||||
ids := []struct {
|
||||
Section
|
||||
ID uint8
|
||||
Name string
|
||||
}{
|
||||
{Section_Null, 0, "Null"},
|
||||
{Section_AccessMethod, 1, "AccessMethod"},
|
||||
{Section_Cast, 2, "Cast"},
|
||||
{Section_Check, 3, "Check"},
|
||||
{Section_Collation, 4, "Collation"},
|
||||
{Section_ColumnDefault, 5, "ColumnDefault"},
|
||||
{Section_Database, 6, "Database"},
|
||||
{Section_EnumLabel, 7, "EnumLabel"},
|
||||
{Section_EventTrigger, 8, "EventTrigger"},
|
||||
{Section_ExclusionConstraint, 9, "ExclusionConstraint"},
|
||||
{Section_Extension, 10, "Extension"},
|
||||
{Section_ForeignKey, 11, "ForeignKey"},
|
||||
{Section_ForeignDataWrapper, 12, "ForeignDataWrapper"},
|
||||
{Section_ForeignServer, 13, "ForeignServer"},
|
||||
{Section_ForeignTable, 14, "ForeignTable"},
|
||||
{Section_Function, 15, "Function"},
|
||||
{Section_FunctionLanguage, 16, "FunctionLanguage"},
|
||||
{Section_Index, 17, "Index"},
|
||||
{Section_Namespace, 18, "Namespace"},
|
||||
{Section_OID, 19, "OID"},
|
||||
{Section_Operator, 20, "Operator"},
|
||||
{Section_OperatorClass, 21, "OperatorClass"},
|
||||
{Section_OperatorFamily, 22, "OperatorFamily"},
|
||||
{Section_PrimaryKey, 23, "PrimaryKey"},
|
||||
{Section_Procedure, 24, "Procedure"},
|
||||
{Section_Publication, 25, "Publication"},
|
||||
{Section_RowLevelSecurity, 26, "RowLevelSecurity"},
|
||||
{Section_Sequence, 27, "Sequence"},
|
||||
{Section_Subscription, 28, "Subscription"},
|
||||
{Section_Table, 29, "Table"},
|
||||
{Section_TextSearchConfig, 30, "TextSearchConfig"},
|
||||
{Section_TextSearchDictionary, 31, "TextSearchDictionary"},
|
||||
{Section_TextSearchParser, 32, "TextSearchParser"},
|
||||
{Section_TextSearchTemplate, 33, "TextSearchTemplate"},
|
||||
{Section_Trigger, 34, "Trigger"},
|
||||
{Section_Type, 35, "Type"},
|
||||
{Section_UniqueKey, 36, "UniqueKey"},
|
||||
{Section_User, 37, "User"},
|
||||
{Section_View, 38, "View"},
|
||||
}
|
||||
allIds := make(map[uint8]string)
|
||||
for _, id := range ids {
|
||||
if uint8(id.Section) != id.ID {
|
||||
t.Logf("Section `%s` has been changed from its permanent value of `%d` to `%d`",
|
||||
id.Name, id.ID, uint8(id.Section))
|
||||
t.Fail()
|
||||
} else if existingName, ok := allIds[id.ID]; ok {
|
||||
t.Logf("Section `%s` has the same value as `%s`: `%d`",
|
||||
id.Name, existingName, id.ID)
|
||||
t.Fail()
|
||||
} else {
|
||||
allIds[id.ID] = id.Name
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user