mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	 8b8c8fcb86
			
		
	
	
	
	
	8b8c8fcb86When the sequence is unsigned bigint, it needs to be cast to unsigned for correct computation of the modulus.
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| set global auto_increment_increment= 2, auto_increment_offset= 2;
 | |
| create sequence s start with -3 minvalue= -1000 increment 0;
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| -2
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| 0
 | |
| flush tables;
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| 1998
 | |
| drop sequence s;
 | |
| set global auto_increment_increment= 2, auto_increment_offset= 1;
 | |
| create sequence s start with -3 minvalue= -1000 increment 0;
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| -3
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| -1
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| 1
 | |
| flush tables;
 | |
| select nextval(s);
 | |
| nextval(s)
 | |
| 1997
 | |
| drop sequence s;
 | |
| set global auto_increment_increment= default, auto_increment_offset= default;
 | |
| #
 | |
| # MDEV-28152 Features for sequence
 | |
| #
 | |
| set global auto_increment_increment= 100;
 | |
| set global auto_increment_offset= 42;
 | |
| create sequence s as bigint unsigned start with 9223372036854775800 increment 0;
 | |
| select next value for s;
 | |
| next value for s
 | |
| 9223372036854775842
 | |
| select next value for s;
 | |
| next value for s
 | |
| 9223372036854775942
 | |
| drop sequence s;
 | |
| set global auto_increment_increment= 100;
 | |
| set global auto_increment_offset= 5;
 | |
| create sequence s as bigint start with -9223372036854775805 minvalue -9223372036854775807 maxvalue -9223372036854775800 increment 0;
 | |
| drop sequence s;
 | |
| set global auto_increment_increment= default, auto_increment_offset= default;
 | |
| #
 | |
| # MDEV-33836 Assertion `(ulonglong) next_free_value % real_increment == (ulonglong) offset' failed in void sequence_definition::adjust_values(longlong)
 | |
| #
 | |
| CREATE SEQUENCE s AS BIGINT UNSIGNED START WITH 9223372036854775800 INCREMENT 0;
 | |
| set @old_AUTO_INCREMENT_INCREMENT=@@global.AUTO_INCREMENT_INCREMENT;
 | |
| set global AUTO_INCREMENT_INCREMENT=10;
 | |
| SELECT NEXTVAL (s);
 | |
| NEXTVAL (s)
 | |
| 9223372036854775800
 | |
| FLUSH TABLES WITH READ LOCK;
 | |
| UPDATE s SET a=1;
 | |
| Got one of the listed errors
 | |
| unlock tables;
 | |
| set global AUTO_INCREMENT_INCREMENT=@old_AUTO_INCREMENT_INCREMENT;
 | |
| drop sequence s;
 | |
| #
 | |
| # End of 11.5 tests
 | |
| #
 |