Comments (4)
The error without parenthesis is expected as currently the parser doesn't evaluate expressions (see #4533).
For the FLOOR
function - I have no idea whether this is the case of your issue but there are not enough details to reproduce it so I'm not sure how to help.
If you are able to consistently reproduce it, please share your collections configuration (Admin UI > Settings > Export collections) and I'll investigate it further.
Better error reporting exists in the roadmap but for now remains a low priority.
from pocketbase.
I've tried to reproduce the issue with the below sample collections configuration based on the field names in your query.
Sample collections json
[
{
"id": "_pb_users_auth_",
"name": "users",
"type": "auth",
"system": false,
"schema": [
{
"system": false,
"id": "users_name",
"name": "name",
"type": "text",
"required": false,
"presentable": false,
"unique": false,
"options": {
"min": null,
"max": null,
"pattern": ""
}
},
{
"system": false,
"id": "tcxscxid",
"name": "current_program",
"type": "text",
"required": false,
"presentable": false,
"unique": false,
"options": {
"min": null,
"max": null,
"pattern": ""
}
}
],
"indexes": [],
"listRule": "id = @request.auth.id",
"viewRule": "id = @request.auth.id",
"createRule": "",
"updateRule": "id = @request.auth.id",
"deleteRule": "id = @request.auth.id",
"options": {
"allowEmailAuth": true,
"allowOAuth2Auth": true,
"allowUsernameAuth": true,
"exceptEmailDomains": null,
"manageRule": null,
"minPasswordLength": 8,
"onlyEmailDomains": null,
"onlyVerified": false,
"requireEmail": false
}
},
{
"id": "wml91xqyyu5wgs6",
"name": "programs",
"type": "base",
"system": false,
"schema": [
{
"system": false,
"id": "k5gglnfj",
"name": "started_at",
"type": "text",
"required": false,
"presentable": false,
"unique": false,
"options": {
"min": null,
"max": null,
"pattern": ""
}
},
{
"system": false,
"id": "wznnbvfv",
"name": "user",
"type": "relation",
"required": false,
"presentable": false,
"unique": false,
"options": {
"collectionId": "_pb_users_auth_",
"cascadeDelete": false,
"minSelect": null,
"maxSelect": 1,
"displayFields": null
}
}
],
"indexes": [],
"listRule": null,
"viewRule": null,
"createRule": null,
"updateRule": null,
"deleteRule": null,
"options": {}
}
]
Testing with the latest PocketBase v0.22.7 version, the following View collection query works fine for me:
SELECT
u.id,
COALESCE(u.current_program, "") as current_program,
COALESCE(p.started_at, "") as started_at,
CAST(COALESCE(FLOOR((UNIXEPOCH('now') - UNIXEPOCH(p.started_at)) / 86400), 0) AS TEXT) AS days_since_start,
CAST(COALESCE(FLOOR((UNIXEPOCH('now') - UNIXEPOCH(p.started_at)) / 604800), 0) AS TEXT) AS weeks_since_start
FROM users AS u
LEFT JOIN programs AS p ON u.id = p.user
GROUP BY u.id;
Note the column aliases for the 2nd and 3rd column.
Copy pasting your exact faulty query:
SELECT
u.id,
COALESCE(u.current_program, ""),
COALESCE(p.started_at, ""),
CAST(COALESCE(FLOOR((UNIXEPOCH('now') - UNIXEPOCH(p.started_at)) / 86400), 0) AS TEXT) AS days_since_start,
CAST(COALESCE(FLOOR((UNIXEPOCH('now') - UNIXEPOCH(p.started_at)) / 604800), 0) AS TEXT) AS weeks_since_start
FROM users AS u
LEFT JOIN programs AS p ON u.id = p.user
GROUP BY u.id;
Produce the following error:
ERROR PATCH /api/collections/isj0bn1ed6ozcxr
└─ Something went wrong while processing your request.
└─ schema: (0: (name: must be in a valid format.); 1: (name: must be in a valid format.).).
Which is expected because the resolved columns must have a valid formatted collection field name identifier (there is help text below the query input that mentions this but I'll try to add it as part of the error message in the future to be more clear).
from pocketbase.
After further investigation I was able to reproduce the issue when running with CGO_ENABLED=1
. A minimal failing query is:
select 1 as id, floor(10) as test
It is happening because you are probably running with CGO_ENABLED=1
(if you have gcc installed I think Go enables it by default; you can inspect your current defaults with go env
).
When building/running with CGO_ENABLED=1
PocketBase uses the CGO SQLite driver - mattn/go-sqlite3
but the problem in your case is that the math functions are not available by default and they are opt-in (see also "Features/Extensions list"). Or in other words, if you want to use CGO and the math functions you can try building/running with the sqlite_math_functions
build tag:
go run -tags "sqlite_math_functions" . serve
Alternatively, you can switch to the pure Go SQLite driver (cznic/sqlite
) by building/running with CGO_ENABLED=0
since the Go translation has the math functions builtin:
CGO_ENABLED=0 go run . serve
In general I recommend always running/building with CGO_ENABLED=0
as this will make cross-compilation easier and will produce a standalone statically linked binary.
from pocketbase.
Thanks for the explanation! Indeed, I'm running without CGO_ENABLED=0
and it is set to CGO_ENABLED=1
by default.
My collections schema
[ { "id": "_pb_users_auth_", "name": "users", "type": "auth", "system": false, "schema": [ { "system": false, "id": "ldmbkftz", "name": "name", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": 64, "pattern": "" } }, { "system": false, "id": "users_avatar", "name": "avatar", "type": "file", "required": false, "presentable": true, "unique": false, "options": { "mimeTypes": [ "image/jpeg", "image/png", "image/webp", "image/heic" ], "thumbs": [ "200x200", "300x300" ], "maxSelect": 1, "maxSize": 5242880, "protected": false } }, { "system": false, "id": "nxaxfagg", "name": "avatarUrl", "type": "url", "required": false, "presentable": false, "unique": false, "options": { "exceptDomains": [], "onlyDomains": [] } }, { "system": false, "id": "4sb3gsth", "name": "current_program", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "mi3je4efdj8po68", "cascadeDelete": false, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": null, "viewRule": "id = @request.auth.id && @request.auth.verified = true", "createRule": "", "updateRule": "id = @request.auth.id && @request.auth.verified = true &&\n(@request.data.current_program.user.id = @request.auth.id || @request.data.current_program = null)", "deleteRule": "id = @request.auth.id && @request.auth.verified = true", "options": { "allowEmailAuth": true, "allowOAuth2Auth": true, "allowUsernameAuth": true, "exceptEmailDomains": null, "manageRule": null, "minPasswordLength": 6, "onlyEmailDomains": null, "onlyVerified": true, "requireEmail": false } }, { "id": "j3vrc315kmtrszd", "name": "e_record_type", "type": "base", "system": false, "schema": [ { "system": false, "id": "7zzp1cqx", "name": "type", "type": "select", "required": true, "presentable": true, "unique": false, "options": { "maxSelect": 1, "values": [ "repeat", "time" ] } }, { "system": false, "id": "z7drljht", "name": "_seq", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "noDecimal": true } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "9lvuk7xy9hkwe6y", "name": "e_side_type", "type": "base", "system": false, "schema": [ { "system": false, "id": "vhwhan5n", "name": "type", "type": "select", "required": true, "presentable": true, "unique": false, "options": { "maxSelect": 1, "values": [ "both", "each" ] } }, { "system": false, "id": "1m6vnxwi", "name": "_seq", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "noDecimal": true } } ], "indexes": [ "CREATE INDEX `idx_ESHQC8K` ON `e_side_type` (`type`)" ], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "5422m4ifkd3lm6u", "name": "e_standard_type", "type": "base", "system": false, "schema": [ { "system": false, "id": "mopyoejk", "name": "type", "type": "select", "required": true, "presentable": true, "unique": false, "options": { "maxSelect": 1, "values": [ "easy", "medium", "hard", "master" ] } }, { "system": false, "id": "jrddtd4x", "name": "_seq", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "noDecimal": true } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "3zgwl38k953uoqv", "name": "exercise_level_standards", "type": "base", "system": false, "schema": [ { "system": false, "id": "yi5p6f7t", "name": "standard_type", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "5422m4ifkd3lm6u", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "2tifmixd", "name": "record_type", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "j3vrc315kmtrszd", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "qxokgege", "name": "side_type", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "9lvuk7xy9hkwe6y", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "jytafzjz", "name": "set_count", "type": "number", "required": false, "presentable": true, "unique": false, "options": { "min": 0, "max": null, "noDecimal": true } }, { "system": false, "id": "lugr1w8c", "name": "repeat_count", "type": "number", "required": false, "presentable": true, "unique": false, "options": { "min": 0, "max": null, "noDecimal": true } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "sf5s60wly4pn581", "name": "exercise_levels", "type": "base", "system": false, "schema": [ { "system": false, "id": "evkr1ymt", "name": "is_active", "type": "bool", "required": false, "presentable": true, "unique": false, "options": {} }, { "system": false, "id": "0tzhchud", "name": "level", "type": "number", "required": true, "presentable": true, "unique": false, "options": { "min": 1, "max": 10, "noDecimal": true } }, { "system": false, "id": "uobuggfm", "name": "title", "type": "text", "required": true, "presentable": true, "unique": false, "options": { "min": null, "max": 255, "pattern": "" } }, { "system": false, "id": "ptvx1igs", "name": "description", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "q5qpzfsu", "name": "standards", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "3zgwl38k953uoqv", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } }, { "system": false, "id": "r3bwrmvl", "name": "images", "type": "file", "required": false, "presentable": false, "unique": false, "options": { "mimeTypes": [ "image/jpeg", "image/png", "image/webp", "image/heic" ], "thumbs": [], "maxSelect": 99, "maxSize": 5242880, "protected": false } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nis_active = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nis_active = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "3eb1orvttr28h0u", "name": "exercises", "type": "base", "system": false, "schema": [ { "system": false, "id": "mm5bipxj", "name": "is_active", "type": "bool", "required": false, "presentable": true, "unique": false, "options": {} }, { "system": false, "id": "nnvgp0jw", "name": "title", "type": "text", "required": true, "presentable": true, "unique": false, "options": { "min": null, "max": 255, "pattern": "" } }, { "system": false, "id": "vzcxshbv", "name": "description", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "hl0rs0tu", "name": "levels", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "sf5s60wly4pn581", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nis_active = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nis_active = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "xdjaojpdh8cry8o", "name": "legal", "type": "base", "system": false, "schema": [ { "system": false, "id": "kb3xzszn", "name": "title", "type": "text", "required": true, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "3rdxbxcw", "name": "content", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } } ], "indexes": [], "listRule": "", "viewRule": "", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "ynttxw3rygrbn3w", "name": "program_day_exercises", "type": "base", "system": false, "schema": [ { "system": false, "id": "ltezsmg0", "name": "sort", "type": "number", "required": true, "presentable": true, "unique": false, "options": { "min": 1, "max": null, "noDecimal": true } }, { "system": false, "id": "8u4wjknw", "name": "exercise", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "3eb1orvttr28h0u", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "xilecnj1", "name": "user", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\n(user = \"\" || user = @request.auth.id)", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\n(user = \"\" || user = @request.auth.id)", "createRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\[email protected] = @request.auth.id", "updateRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\[email protected]:isset = false &&\[email protected]:isset = false", "deleteRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "options": {} }, { "id": "fmu8uwzhttrg9e5", "name": "program_days", "type": "base", "system": false, "schema": [ { "system": false, "id": "cf4lbros", "name": "sort", "type": "number", "required": true, "presentable": true, "unique": false, "options": { "min": 1, "max": null, "noDecimal": true } }, { "system": false, "id": "psef1esw", "name": "exercises", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "ynttxw3rygrbn3w", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } }, { "system": false, "id": "d69tlr1m", "name": "user", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\n(user = \"\" || user = @request.auth.id)", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\n(user = \"\" || user = @request.auth.id)", "createRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\[email protected] = @request.auth.id", "updateRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\[email protected]:isset = false", "deleteRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "options": {} }, { "id": "mi3je4efdj8po68", "name": "programs", "type": "base", "system": false, "schema": [ { "system": false, "id": "kmkvbuhi", "name": "is_template", "type": "bool", "required": false, "presentable": true, "unique": false, "options": {} }, { "system": false, "id": "rdn2phzp", "name": "is_public", "type": "bool", "required": false, "presentable": true, "unique": false, "options": {} }, { "system": false, "id": "nvgua5nv", "name": "title", "type": "text", "required": true, "presentable": true, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "8a5xdjzu", "name": "description", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "m3w16oxk", "name": "cover", "type": "file", "required": false, "presentable": true, "unique": false, "options": { "mimeTypes": [ "image/jpeg", "image/png", "image/webp", "image/heic" ], "thumbs": [ "500x500" ], "maxSelect": 1, "maxSize": 5242880, "protected": false } }, { "system": false, "id": "h9kg9kgy", "name": "started_at", "type": "date", "required": false, "presentable": false, "unique": false, "options": { "min": "", "max": "" } }, { "system": false, "id": "wpztegjj", "name": "days", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "fmu8uwzhttrg9e5", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } }, { "system": false, "id": "pomsrvsy", "name": "user", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "et5fh7ng", "name": "origin", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "mi3je4efdj8po68", "cascadeDelete": false, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\n(user = \"\" && is_template = true || user = @request.auth.id || is_public = true)", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\n(user = \"\" && is_template = true || user = @request.auth.id || is_public = true)", "createRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\[email protected] = @request.auth.id &&\[email protected]_template = false", "updateRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\[email protected]_template:isset = false &&\[email protected]:isset = false &&\[email protected]:isset = false", "deleteRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "options": {} }, { "id": "2poh3azyrjt9r3c", "name": "training", "type": "base", "system": false, "schema": [ { "system": false, "id": "tgakzvr3", "name": "date", "type": "date", "required": true, "presentable": false, "unique": false, "options": { "min": "", "max": "" } }, { "system": false, "id": "fnv5zxs7", "name": "level", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": 1, "max": 10, "noDecimal": true } }, { "system": false, "id": "x6jrnrbs", "name": "note", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "z9woid7v", "name": "exercises", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "0xs3s3ybf2oqft9", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } }, { "system": false, "id": "omnn0zjx", "name": "images", "type": "file", "required": false, "presentable": false, "unique": false, "options": { "mimeTypes": [ "image/jpeg", "image/png", "image/heic", "image/webp" ], "thumbs": [], "maxSelect": 99, "maxSize": 5242880, "protected": true } }, { "system": false, "id": "cdg6dfjo", "name": "user", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\nexercises.exercise.is_active = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\nexercises.exercise.is_active = true", "createRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\[email protected] = @request.auth.id", "updateRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\[email protected]:isset = false &&\[email protected]:isset = false", "deleteRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "options": {} }, { "id": "bd4wt0o3z9l87kz", "name": "training_exercise_sets", "type": "base", "system": false, "schema": [ { "system": false, "id": "bz5fvtol", "name": "sort", "type": "number", "required": true, "presentable": true, "unique": false, "options": { "min": 1, "max": null, "noDecimal": true } }, { "system": false, "id": "jqyez0e0", "name": "count", "type": "number", "required": false, "presentable": true, "unique": false, "options": { "min": 0, "max": null, "noDecimal": true } }, { "system": false, "id": "qlot7zze", "name": "side", "type": "select", "required": true, "presentable": true, "unique": false, "options": { "maxSelect": 1, "values": [ "both", "left", "right" ] } }, { "system": false, "id": "ndgtye7l", "name": "user", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "createRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\[email protected] = @request.auth.id", "updateRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\[email protected]:isset = false &&\[email protected]:isset = false", "deleteRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "options": {} }, { "id": "0xs3s3ybf2oqft9", "name": "training_exercises", "type": "base", "system": false, "schema": [ { "system": false, "id": "s6cjh2sl", "name": "standard_type", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "5422m4ifkd3lm6u", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "0ikcpk8t", "name": "record_type", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "j3vrc315kmtrszd", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "9hq2ngkg", "name": "side_type", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "9lvuk7xy9hkwe6y", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "zgaukufw", "name": "exercise", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "3eb1orvttr28h0u", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "prosroek", "name": "sets", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "bd4wt0o3z9l87kz", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } }, { "system": false, "id": "pt2hjaqb", "name": "user", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\nexercise.is_active = true", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\nexercise.is_active = true", "createRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\[email protected] = @request.auth.id &&\[email protected]_active = true", "updateRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id &&\[email protected]_type:isset = false &&\[email protected]_type:isset = false &&\[email protected]_type:isset = false &&\[email protected]:isset = false &&\[email protected]:isset = false", "deleteRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "options": {} }, { "id": "slypdvyjj0fvrdl", "name": "user_level_history", "type": "base", "system": false, "schema": [ { "system": false, "id": "oxdmsr0j", "name": "level", "type": "number", "required": true, "presentable": true, "unique": false, "options": { "min": 1, "max": 10, "noDecimal": true } }, { "system": false, "id": "nruansfb", "name": "user", "type": "relation", "required": true, "presentable": true, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "viewRule": "@request.auth.id != \"\" && @request.auth.verified = true &&\nuser = @request.auth.id", "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }, { "id": "quc42922z57pwki", "name": "v_program_dates", "type": "view", "system": false, "schema": [ { "system": false, "id": "r8wtiyl4", "name": "current_program", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "mi3je4efdj8po68", "cascadeDelete": false, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "z6czuo7l", "name": "days_in_program", "type": "json", "required": false, "presentable": false, "unique": false, "options": { "maxSize": 1 } }, { "system": false, "id": "y3qnqehr", "name": "current_day_index", "type": "json", "required": false, "presentable": false, "unique": false, "options": { "maxSize": 1 } }, { "system": false, "id": "qngf11b3", "name": "started_at", "type": "date", "required": false, "presentable": false, "unique": false, "options": { "min": "", "max": "" } }, { "system": false, "id": "iejfybed", "name": "full_days_since_started", "type": "json", "required": false, "presentable": false, "unique": false, "options": { "maxSize": 1 } }, { "system": false, "id": "af6no6ob", "name": "full_weeks_since_started", "type": "json", "required": false, "presentable": false, "unique": false, "options": { "maxSize": 1 } } ], "indexes": [], "listRule": null, "viewRule": "id = @request.auth.id && @request.auth.verified = true", "createRule": null, "updateRule": null, "deleteRule": null, "options": { "query": "SELECT\n u.id,\n p.id AS current_program,\n JSON_ARRAY_LENGTH(p.days) AS days_in_program,\n (((UNIXEPOCH() - UNIXEPOCH(p.started_at)) / 86400) % JSON_ARRAY_LENGTH(p.days)) AS current_day_index,\n p.started_at,\n ((UNIXEPOCH() - UNIXEPOCH(p.started_at)) / 86400) AS full_days_since_started,\n ((UNIXEPOCH() - UNIXEPOCH(p.started_at)) / 604800) AS full_weeks_since_started\nFROM programs AS p\n RIGHT JOIN users AS u ON u.current_program = p.id;" } } ]
from pocketbase.
Related Issues (20)
- Admin UI calendar picker calendar grid layout issues HOT 1
- Application URLs doesn't work HOT 1
- Uploading ".doc" file not allowed HOT 3
- Proposal: Add Cache-Control header during file creation
- Realtime/sub JSON field issue ? v0.22.11
- facing CORS error when hosting via docker but not with the binary on host system
- Date picker in admin UI shows wrong dates/days HOT 1
- Accent-insensitive when using getList (filter) HOT 1
- Expand single attribute not working HOT 1
- S3 Compatible Storage from Linode HOT 1
- Admin UI Firefox performance issue HOT 1
- CRUD requests blocked by hooks return 200 HOT 2
- Presentable columns are not referenced, when nested inside another relation HOT 1
- Nextjs 14 Pocketbase Authentication
- pb.authStore.loadFromCookie not working HOT 1
- @collection.* API Filter doesnt work
- Bug: Creating a user from Admin UI crashes pocketbase HOT 3
- Feature Request: For the relation fields in Admin UI, add a "Open Record In New Tab" button HOT 1
- Change: No body uses bytes, please add a dropdown option to select, between bytes, mb, gb, tb, yb HOT 1
- Can't connect Minio S3 instance HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pocketbase.