Pārlūkot izejas kodu

CockroachDB: use unordered_unique_rowid for primary keys

sequential values in a primary key does not perform as well

Signed-off-by: Nicola Murino <[email protected]>
Nicola Murino 2 gadi atpakaļ
vecāks
revīzija
957d3a7b4d
1 mainītis faili ar 4 papildinājumiem un 3 dzēšanām
  1. 4 3
      internal/dataprovider/pgsql.go

+ 4 - 3
internal/dataprovider/pgsql.go

@@ -786,10 +786,11 @@ func (p *PGSQLProvider) initializeDatabase() error {
 	logger.InfoToConsole("creating initial database schema, version 28")
 	logger.InfoToConsole("creating initial database schema, version 28")
 	providerLog(logger.LevelInfo, "creating initial database schema, version 28")
 	providerLog(logger.LevelInfo, "creating initial database schema, version 28")
 	var initialSQL string
 	var initialSQL string
-	if config.Driver == PGSQLDataProviderName {
-		initialSQL = sqlReplaceAll(pgsqlInitial + ipListsLikeIndex)
-	} else {
+	if config.Driver == CockroachDataProviderName {
 		initialSQL = sqlReplaceAll(pgsqlInitial)
 		initialSQL = sqlReplaceAll(pgsqlInitial)
+		initialSQL = strings.ReplaceAll(initialSQL, "GENERATED ALWAYS AS IDENTITY", "DEFAULT unordered_unique_rowid()")
+	} else {
+		initialSQL = sqlReplaceAll(pgsqlInitial + ipListsLikeIndex)
 	}
 	}
 
 
 	return sqlCommonExecSQLAndUpdateDBVersion(p.dbHandle, []string{initialSQL}, 28, true)
 	return sqlCommonExecSQLAndUpdateDBVersion(p.dbHandle, []string{initialSQL}, 28, true)