Deploy AIOS web (React glide grid + FastAPI slice)
Browse files- RELEASES.json +7 -1
- VERSION +1 -1
- platform/core/store_pg.py +1 -1
RELEASES.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
| 1 |
{
|
| 2 |
-
"current": "
|
| 3 |
"releases": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
{
|
| 5 |
"version": "v31",
|
| 6 |
"sha": "8880a49",
|
|
|
|
| 1 |
{
|
| 2 |
+
"current": "v32 (b47b27c)",
|
| 3 |
"releases": [
|
| 4 |
+
{
|
| 5 |
+
"version": "v32",
|
| 6 |
+
"sha": "b47b27c",
|
| 7 |
+
"date": "2026-08-21",
|
| 8 |
+
"subject": "W39: repair Staging Postgres projection"
|
| 9 |
+
},
|
| 10 |
{
|
| 11 |
"version": "v31",
|
| 12 |
"sha": "8880a49",
|
VERSION
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
|
|
|
|
| 1 |
+
v32 (b47b27c)
|
platform/core/store_pg.py
CHANGED
|
@@ -320,7 +320,7 @@ def get_projection(name, drop=(), tenant_slug=None):
|
|
| 320 |
"CASE WHEN jsonb_typeof(e.entry_value) = 'object' "
|
| 321 |
'THEN e.entry_value - %s::text[] ELSE e.entry_value END) '
|
| 322 |
'FROM jsonb_each(kv.value) AS e(entry_key, entry_value)), '
|
| 323 |
-
"'{}'::jsonb) ELSE kv.value END FROM {tbl} AS kv WHERE kv.key = %s",
|
| 324 |
'store_kv', tenant_slug),
|
| 325 |
(list(drops), str(name))).fetchone()
|
| 326 |
data = dict(row[0]) if row and isinstance(row[0], dict) else (row[0] if row else {})
|
|
|
|
| 320 |
"CASE WHEN jsonb_typeof(e.entry_value) = 'object' "
|
| 321 |
'THEN e.entry_value - %s::text[] ELSE e.entry_value END) '
|
| 322 |
'FROM jsonb_each(kv.value) AS e(entry_key, entry_value)), '
|
| 323 |
+
"'{{}}'::jsonb) ELSE kv.value END FROM {tbl} AS kv WHERE kv.key = %s",
|
| 324 |
'store_kv', tenant_slug),
|
| 325 |
(list(drops), str(name))).fetchone()
|
| 326 |
data = dict(row[0]) if row and isinstance(row[0], dict) else (row[0] if row else {})
|