github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/sys/sqlquery/consts.go (about) 1 /* 2 * Copyright (c) 2022-present unTill Pro, Ltd. 3 */ 4 5 package sqlquery 6 7 import ( 8 "regexp" 9 10 "github.com/voedger/voedger/pkg/appdef" 11 "github.com/voedger/voedger/pkg/istructs" 12 ) 13 14 const ( 15 base = 10 16 bitSize64 = 64 17 DefaultLimit = 100 18 DefaultOffset = istructs.FirstOffset 19 field_Query = "Query" 20 ) 21 22 var ( 23 plog = appdef.NewQName(appdef.SysPackage, "plog") 24 plogDef = map[string]bool{ 25 "PlogOffset": true, 26 "QName": true, 27 "ArgumentObject": true, 28 "CUDs": true, 29 "RegisteredAt": true, 30 "Synced": true, 31 "DeviceID": true, 32 "SyncedAt": true, 33 "Error": true, 34 "Workspace": true, 35 "WLogOffset": true, 36 } 37 wlog = appdef.NewQName(appdef.SysPackage, "wlog") 38 wlogDef = map[string]bool{ 39 "WlogOffset": true, 40 "QName": true, 41 "ArgumentObject": true, 42 "CUDs": true, 43 "RegisteredAt": true, 44 "Synced": true, 45 "DeviceID": true, 46 "SyncedAt": true, 47 "Error": true, 48 } 49 ) 50 51 const selectQueryExpression = `^` + 52 `(?P<select>.*\s+from\s+)` + // select * from (+ trailing spaces) 53 `(?P<app>\w+\.\w+\.)?` + // appOwner.appName (+ trailing dot) 54 `(?P<ws>\d+\.)?` + // wsid (+ trailing dot) 55 `(?P<table>\w+\.\w+)` + // table qualified name (clean) 56 `(?P<pars>\s+.*)?` + // (leading spaces +) params 57 `$` 58 59 var selectQueryExp = regexp.MustCompile(selectQueryExpression)