You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							74 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							74 lines
						
					
					
						
							2.0 KiB
						
					
					
				| //go:build ydb | |
| // +build ydb | |
|  | |
| package ydb | |
| 
 | |
| import asql "github.com/seaweedfs/seaweedfs/weed/filer/abstract_sql" | |
| 
 | |
| const ( | |
| 	upsertQuery = ` | |
| 		PRAGMA TablePathPrefix("%v"); | |
| 		DECLARE $dir_hash AS int64; | |
| 		DECLARE $directory AS Utf8; | |
| 		DECLARE $name AS Utf8; | |
| 		DECLARE $meta AS String; | |
| 		DECLARE $expire_at AS Optional<uint32>; | |
|  | |
| 		UPSERT INTO ` + asql.DEFAULT_TABLE + ` | |
| 			(dir_hash, name, directory, meta, expire_at) | |
| 		VALUES | |
| 			($dir_hash, $name, $directory, $meta, $expire_at);` | |
| 
 | |
| 	deleteQuery = ` | |
| 		PRAGMA TablePathPrefix("%v"); | |
| 		DECLARE $dir_hash AS int64; | |
| 		DECLARE $directory AS Utf8; | |
| 		DECLARE $name AS Utf8; | |
|  | |
| 		DELETE FROM ` + asql.DEFAULT_TABLE + `  | |
| 		WHERE dir_hash = $dir_hash AND directory = $directory AND name = $name;` | |
| 
 | |
| 	findQuery = ` | |
| 		PRAGMA TablePathPrefix("%v"); | |
| 		DECLARE $dir_hash AS int64; | |
| 		DECLARE $directory AS Utf8; | |
| 		DECLARE $name AS Utf8; | |
| 		 | |
| 		SELECT meta | |
| 		FROM ` + asql.DEFAULT_TABLE + `  | |
| 		WHERE dir_hash = $dir_hash AND directory = $directory AND name = $name;` | |
| 
 | |
| 	deleteFolderChildrenQuery = ` | |
| 		PRAGMA TablePathPrefix("%v"); | |
| 		DECLARE $dir_hash AS int64; | |
| 		DECLARE $directory AS Utf8; | |
|  | |
| 		DELETE FROM ` + asql.DEFAULT_TABLE + `  | |
| 		WHERE dir_hash = $dir_hash AND directory = $directory;` | |
| 
 | |
| 	listDirectoryQuery = ` | |
| 		PRAGMA TablePathPrefix("%v"); | |
| 		DECLARE $dir_hash AS int64; | |
| 		DECLARE $directory AS Utf8; | |
| 		DECLARE $start_name AS Utf8; | |
| 		DECLARE $prefix AS Utf8; | |
| 		DECLARE $limit AS Uint64; | |
| 		 | |
| 		SELECT name, meta | |
| 		FROM ` + asql.DEFAULT_TABLE + ` | |
| 		WHERE dir_hash = $dir_hash AND directory = $directory and name > $start_name and name LIKE $prefix | |
| 		ORDER BY name ASC LIMIT $limit;` | |
| 
 | |
| 	listInclusiveDirectoryQuery = ` | |
| 		PRAGMA TablePathPrefix("%v"); | |
| 		DECLARE $dir_hash AS int64; | |
| 		DECLARE $directory AS Utf8; | |
| 		DECLARE $start_name AS Utf8; | |
| 		DECLARE $prefix AS Utf8; | |
| 		DECLARE $limit AS Uint64; | |
| 		 | |
| 		SELECT name, meta | |
| 		FROM ` + asql.DEFAULT_TABLE + ` | |
| 		WHERE dir_hash = $dir_hash AND directory = $directory and name >= $start_name and name LIKE $prefix | |
| 		ORDER BY name ASC LIMIT $limit;` | |
| )
 |