@@ -2722,26 +2722,10 @@ void makeThreadKillable(void) {
27222722}
27232723
27242724/* Return non-zero if the database is empty */
2725- int databaseEmpty (int id ) {
2726- return id < 0 || id >= server .dbnum || !server .db [id ] || kvstoreSize (server .db [id ]-> keys ) == 0 ;
2727- }
2728-
2729- // /* Initialize temporary db on replica for use during diskless replication. */
2730- // serverDb *initTempDb(int id) {
2731- // int slot_count_bits = 0;
2732- // int flags = KVSTORE_ALLOCATE_HASHTABLES_ON_DEMAND;
2733- // if (server.cluster_enabled) {
2734- // slot_count_bits = CLUSTER_SLOT_MASK_BITS;
2735- // flags |= KVSTORE_FREE_EMPTY_HASHTABLES;
2736- // }
2737- // serverDb *tempDb = zcalloc(sizeof(serverDb) * server.dbnum);
2738- //
2739- // tempDb->id = id;
2740- // tempDb->keys = kvstoreCreate(&kvstoreKeysHashtableType, slot_count_bits, flags);
2741- // tempDb->expires = kvstoreCreate(&kvstoreExpiresHashtableType, slot_count_bits, flags);
2742- //
2743- // return tempDb;
2744- // }
2725+ int dbHasNoKeys (int dbid ) {
2726+ return dbid < 0 || dbid >= server .dbnum || !server .db [dbid ] || kvstoreSize (server .db [dbid ]-> keys ) == 0 ;
2727+ }
2728+
27452729serverDb * createDatabase (int id ) {
27462730 int slot_count_bits = 0 ;
27472731 int flags = KVSTORE_ALLOCATE_HASHTABLES_ON_DEMAND ;
@@ -2763,10 +2747,11 @@ serverDb *createDatabase(int id) {
27632747 return db ;
27642748}
27652749
2766- void initDatabase (int id ) {
2750+ serverDb * createDatabaseIfNeeded (int id ) {
27672751 if (server .db [id ] == NULL ) {
27682752 server .db [id ] = createDatabase (id );
27692753 }
2754+ return server .db [id ];
27702755}
27712756
27722757void initServer (void ) {
@@ -2842,7 +2827,7 @@ void initServer(void) {
28422827 }
28432828
28442829 server .db = zcalloc (sizeof (serverDb * ) * server .dbnum );
2845- initDatabase (0 ); /* The default database should always exist */
2830+ createDatabaseIfNeeded (0 ); /* The default database should always exist */
28462831
28472832 evictionPoolAlloc (); /* Initialize the LRU keys pool. */
28482833 /* Note that server.pubsub_channels was chosen to be a kvstore (with only one dict, which
0 commit comments