mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 bf8b699f64
			
		
	
	
	bf8b699f64
	
	
	
		
			
			bzip2/lz4/lzma/lzo/snappy compression is now provided via *services* they're almost like normal services, but in include/providers/ and they're supposed to provide exactly the same interface as original compression libraries (but not everything, only enough of if for the code to compile). the services are implemented via dummy functions that return corresponding error values (LZMA_PROG_ERROR, LZO_E_INTERNAL_ERROR, etc). the actual compression libraries are linked into corresponding provider plugins. Providers are daemon plugins that when loaded replace service pointers to point to actual compression functions. That is, run-time dependency on compression libraries is now on plugins, and the server doesn't need any compression libraries to run, but will automatically support the compression when a plugin is loaded. InnoDB and Mroonga use compression plugins now. RocksDB doesn't, because it comes with standalone utility binaries that cannot load plugins.
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --- suite/innodb/r/compression_providers_unloaded.result
 | |
| +++ suite/innodb/r/compression_providers_unloaded.reject
 | |
| @@ -1,14 +1,14 @@
 | |
|  #
 | |
| -# Testing unloaded compression provider: bzip2
 | |
| +# Testing unloaded compression provider: snappy
 | |
|  #
 | |
| -# Innodb_have_bzip2 reflects that the provider is not loaded
 | |
| -SHOW GLOBAL STATUS WHERE Variable_name = "Innodb_have_bzip2";
 | |
| +# Innodb_have_snappy reflects that the provider is not loaded
 | |
| +SHOW GLOBAL STATUS WHERE Variable_name = "Innodb_have_snappy";
 | |
|  Variable_name	Value
 | |
| -Innodb_have_bzip2	OFF
 | |
| -# Innodb_compression_algorithm cannot be set to bzip2
 | |
| -SET GLOBAL Innodb_compression_algorithm = bzip2;
 | |
| -ERROR 42000: Variable 'innodb_compression_algorithm' can't be set to the value of 'bzip2'
 | |
| +Innodb_have_snappy	OFF
 | |
| +# Innodb_compression_algorithm cannot be set to snappy
 | |
| +SET GLOBAL Innodb_compression_algorithm = snappy;
 | |
| +ERROR 42000: Variable 'innodb_compression_algorithm' can't be set to the value of 'snappy'
 | |
|  show warnings;
 | |
|  Level	Code	Message
 | |
| -Warning	138	InnoDB: compression algorithm bzip2 (5) is not available. Please, load the corresponding provider plugin.
 | |
| -Error	1231	Variable 'innodb_compression_algorithm' can't be set to the value of 'bzip2'
 | |
| +Warning	138	InnoDB: compression algorithm snappy (6) is not available. Please, load the corresponding provider plugin.
 | |
| +Error	1231	Variable 'innodb_compression_algorithm' can't be set to the value of 'snappy'
 |