UniStore: Use epoch with microsecond resolution as RV (#92638)
* Use epoch with microsecond resolution as RV * fix backend tests * Add solution for when the clock goes back * Add solution for when the clock goes back * generate mocks * go lint * remove comment * Use Greatest instead of max in msyql and postgres * update tests * Update pkg/storage/unified/sql/sqltemplate/dialect_sqlite.go Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com> * cast to bigint * add additional round trip * increment the RV using 2 sql round trips instead of 3 * cleanup comments * cast unix timestamp to integer * fix postgres query * remove old increment test data * remove greatest * cast unix_timestamp to signed * Use statement_timestamp instead of clock_timestamp --------- Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
This commit is contained in:
Vendored
+4
-4
@@ -11,10 +11,10 @@ INSERT INTO `resource_history`
|
||||
)
|
||||
VALUES (
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'gg',
|
||||
'rr',
|
||||
'nn',
|
||||
'name',
|
||||
1234,
|
||||
'[]',
|
||||
'UNKNOWN'
|
||||
|
||||
+4
-4
@@ -3,8 +3,8 @@ SELECT
|
||||
`value`
|
||||
FROM `resource`
|
||||
WHERE 1 = 1
|
||||
AND `namespace` = ''
|
||||
AND `group` = ''
|
||||
AND `resource` = ''
|
||||
AND `name` = ''
|
||||
AND `namespace` = 'nn'
|
||||
AND `group` = 'gg'
|
||||
AND `resource` = 'rr'
|
||||
AND `name` = 'name'
|
||||
;
|
||||
|
||||
@@ -4,8 +4,8 @@ UPDATE `resource`
|
||||
`value` = '[]',
|
||||
`action` = 'UNKNOWN'
|
||||
WHERE 1 = 1
|
||||
AND `group` = ''
|
||||
AND `resource` = ''
|
||||
AND `namespace` = ''
|
||||
AND `name` = ''
|
||||
AND `group` = 'gg'
|
||||
AND `resource` = 'rr'
|
||||
AND `namespace` = 'nn'
|
||||
AND `name` = 'name'
|
||||
;
|
||||
|
||||
+4
-3
@@ -1,8 +1,9 @@
|
||||
SELECT
|
||||
`resource_version`
|
||||
`resource_version`,
|
||||
CAST(FLOOR(UNIX_TIMESTAMP(NOW(6)) * 1000000) AS SIGNED)
|
||||
FROM `resource_version`
|
||||
WHERE 1 = 1
|
||||
AND `group` = ''
|
||||
AND `resource` = ''
|
||||
AND `group` = 'group'
|
||||
AND `resource` = 'resource'
|
||||
FOR UPDATE
|
||||
;
|
||||
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
UPDATE `resource_version`
|
||||
SET
|
||||
`resource_version` = 123
|
||||
WHERE 1 = 1
|
||||
AND `group` = ''
|
||||
AND `resource` = ''
|
||||
;
|
||||
+1
-1
@@ -7,6 +7,6 @@ INSERT INTO `resource_version`
|
||||
VALUES (
|
||||
'',
|
||||
'',
|
||||
2
|
||||
CAST(FLOOR(UNIX_TIMESTAMP(NOW(6)) * 1000000) AS SIGNED)
|
||||
)
|
||||
;
|
||||
|
||||
Vendored
Executable
+7
@@ -0,0 +1,7 @@
|
||||
UPDATE `resource_version`
|
||||
SET
|
||||
`resource_version` = 12354
|
||||
WHERE 1 = 1
|
||||
AND `group` = 'group'
|
||||
AND `resource` = 'resource'
|
||||
;
|
||||
Vendored
+4
-4
@@ -11,10 +11,10 @@ INSERT INTO "resource_history"
|
||||
)
|
||||
VALUES (
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'gg',
|
||||
'rr',
|
||||
'nn',
|
||||
'name',
|
||||
1234,
|
||||
'[]',
|
||||
'UNKNOWN'
|
||||
|
||||
+4
-4
@@ -3,8 +3,8 @@ SELECT
|
||||
"value"
|
||||
FROM "resource"
|
||||
WHERE 1 = 1
|
||||
AND "namespace" = ''
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
AND "name" = ''
|
||||
AND "namespace" = 'nn'
|
||||
AND "group" = 'gg'
|
||||
AND "resource" = 'rr'
|
||||
AND "name" = 'name'
|
||||
;
|
||||
|
||||
@@ -4,8 +4,8 @@ UPDATE "resource"
|
||||
"value" = '[]',
|
||||
"action" = 'UNKNOWN'
|
||||
WHERE 1 = 1
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
AND "namespace" = ''
|
||||
AND "name" = ''
|
||||
AND "group" = 'gg'
|
||||
AND "resource" = 'rr'
|
||||
AND "namespace" = 'nn'
|
||||
AND "name" = 'name'
|
||||
;
|
||||
|
||||
+4
-3
@@ -1,8 +1,9 @@
|
||||
SELECT
|
||||
"resource_version"
|
||||
"resource_version",
|
||||
(EXTRACT(EPOCH FROM statement_timestamp()) * 1000000)::BIGINT
|
||||
FROM "resource_version"
|
||||
WHERE 1 = 1
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
AND "group" = 'group'
|
||||
AND "resource" = 'resource'
|
||||
FOR UPDATE
|
||||
;
|
||||
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
UPDATE "resource_version"
|
||||
SET
|
||||
"resource_version" = 123
|
||||
WHERE 1 = 1
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
;
|
||||
+1
-1
@@ -7,6 +7,6 @@ INSERT INTO "resource_version"
|
||||
VALUES (
|
||||
'',
|
||||
'',
|
||||
2
|
||||
(EXTRACT(EPOCH FROM statement_timestamp()) * 1000000)::BIGINT
|
||||
)
|
||||
;
|
||||
|
||||
Vendored
Executable
+7
@@ -0,0 +1,7 @@
|
||||
UPDATE "resource_version"
|
||||
SET
|
||||
"resource_version" = 12354
|
||||
WHERE 1 = 1
|
||||
AND "group" = 'group'
|
||||
AND "resource" = 'resource'
|
||||
;
|
||||
Vendored
+4
-4
@@ -11,10 +11,10 @@ INSERT INTO "resource_history"
|
||||
)
|
||||
VALUES (
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'gg',
|
||||
'rr',
|
||||
'nn',
|
||||
'name',
|
||||
1234,
|
||||
'[]',
|
||||
'UNKNOWN'
|
||||
|
||||
+4
-4
@@ -3,8 +3,8 @@ SELECT
|
||||
"value"
|
||||
FROM "resource"
|
||||
WHERE 1 = 1
|
||||
AND "namespace" = ''
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
AND "name" = ''
|
||||
AND "namespace" = 'nn'
|
||||
AND "group" = 'gg'
|
||||
AND "resource" = 'rr'
|
||||
AND "name" = 'name'
|
||||
;
|
||||
|
||||
@@ -4,8 +4,8 @@ UPDATE "resource"
|
||||
"value" = '[]',
|
||||
"action" = 'UNKNOWN'
|
||||
WHERE 1 = 1
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
AND "namespace" = ''
|
||||
AND "name" = ''
|
||||
AND "group" = 'gg'
|
||||
AND "resource" = 'rr'
|
||||
AND "namespace" = 'nn'
|
||||
AND "name" = 'name'
|
||||
;
|
||||
|
||||
+4
-3
@@ -1,7 +1,8 @@
|
||||
SELECT
|
||||
"resource_version"
|
||||
"resource_version",
|
||||
CAST((julianday('now') - 2440587.5) * 86400000000.0 AS BIGINT)
|
||||
FROM "resource_version"
|
||||
WHERE 1 = 1
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
AND "group" = 'group'
|
||||
AND "resource" = 'resource'
|
||||
;
|
||||
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
UPDATE "resource_version"
|
||||
SET
|
||||
"resource_version" = 123
|
||||
WHERE 1 = 1
|
||||
AND "group" = ''
|
||||
AND "resource" = ''
|
||||
;
|
||||
+1
-1
@@ -7,6 +7,6 @@ INSERT INTO "resource_version"
|
||||
VALUES (
|
||||
'',
|
||||
'',
|
||||
2
|
||||
CAST((julianday('now') - 2440587.5) * 86400000000.0 AS BIGINT)
|
||||
)
|
||||
;
|
||||
|
||||
Vendored
Executable
+7
@@ -0,0 +1,7 @@
|
||||
UPDATE "resource_version"
|
||||
SET
|
||||
"resource_version" = 12354
|
||||
WHERE 1 = 1
|
||||
AND "group" = 'group'
|
||||
AND "resource" = 'resource'
|
||||
;
|
||||
Reference in New Issue
Block a user