mirror of
				https://github.com/taigrr/bitcask
				synced 2025-01-18 04:03:17 -08:00 
			
		
		
		
	Add support for unlimited key/value sizes
This commit is contained in:
		
							parent
							
								
									38156e8461
								
							
						
					
					
						commit
						0ab7d79246
					
				| @ -179,10 +179,10 @@ func (b *Bitcask) Put(key, value []byte) error { | ||||
| 	if len(key) == 0 { | ||||
| 		return ErrEmptyKey | ||||
| 	} | ||||
| 	if uint32(len(key)) > b.config.MaxKeySize { | ||||
| 	if b.config.MaxKeySize > 0 && uint32(len(key)) > b.config.MaxKeySize { | ||||
| 		return ErrKeyTooLarge | ||||
| 	} | ||||
| 	if uint64(len(value)) > b.config.MaxValueSize { | ||||
| 	if b.config.MaxValueSize > 0 && uint64(len(value)) > b.config.MaxValueSize { | ||||
| 		return ErrValueTooLarge | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -74,7 +74,7 @@ func getKeyValueSizes(buf []byte, maxKeySize uint32, maxValueSize uint64) (uint3 | ||||
| 	actualKeySize := binary.BigEndian.Uint32(buf[:keySize]) | ||||
| 	actualValueSize := binary.BigEndian.Uint64(buf[keySize:]) | ||||
| 
 | ||||
| 	if actualKeySize > maxKeySize || actualValueSize > maxValueSize || actualKeySize == 0 { | ||||
| 	if (maxKeySize > 0 && actualKeySize > maxKeySize) || (maxValueSize > 0 && actualValueSize > maxValueSize) || actualKeySize == 0 { | ||||
| 
 | ||||
| 		return 0, 0, errInvalidKeyOrValueSize | ||||
| 	} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user