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.

61 lines
1.5 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. package ydb
  2. import asql "github.com/chrislusf/seaweedfs/weed/filer/abstract_sql"
  3. const (
  4. insertQuery = `
  5. DECLARE $dir_hash AS int64;
  6. DECLARE $directory AS Utf8;
  7. DECLARE $name AS Utf8;
  8. DECLARE $meta AS String;
  9. UPSERT INTO ` + asql.DEFAULT_TABLE + `
  10. (dir_hash, name, directory, meta)
  11. VALUES
  12. ($dir_hash, $name, $directory, $meta);`
  13. updateQuery = `
  14. DECLARE $dir_hash AS int64;
  15. DECLARE $directory AS Utf8;
  16. DECLARE $name AS Utf8;
  17. DECLARE $meta AS String;
  18. REPLACE INTO ` + asql.DEFAULT_TABLE + `
  19. (dir_hash, name, directory, meta)
  20. VALUES
  21. ($dir_hash, $name, $directory, $meta);`
  22. deleteQuery = `
  23. DECLARE $dir_hash AS int64;
  24. DECLARE $name AS Utf8;
  25. DELETE FROM ` + asql.DEFAULT_TABLE + `
  26. WHERE dir_hash = $dir_hash AND name = $name;`
  27. findQuery = `
  28. DECLARE $dir_hash AS int64;
  29. DECLARE $name AS Utf8;
  30. SELECT meta
  31. FROM ` + asql.DEFAULT_TABLE + `
  32. WHERE dir_hash = $dir_hash AND name = $name;`
  33. deleteFolderChildrenQuery = `
  34. DECLARE $dir_hash AS int64;
  35. DECLARE $directory AS Utf8;
  36. DELETE FROM ` + asql.DEFAULT_TABLE + `
  37. WHERE dir_hash = $dir_hash AND directory = $directory;`
  38. listDirectoryQuery = `
  39. DECLARE $dir_hash AS int64;
  40. DECLARE $directory AS Utf8;
  41. DECLARE $start_name AS Utf8;
  42. DECLARE $prefix AS Utf8;
  43. DECLARE $limit AS Uint64;
  44. SELECT name, meta
  45. FROM ` + asql.DEFAULT_TABLE + `
  46. WHERE dir_hash = $dir_hash AND directory = $directory and name %s $start_name and name LIKE $prefix
  47. ORDER BY name ASC LIMIT $limit;`
  48. )