C++: Add upgrade and downgrade scripts

This commit is contained in:
Jeroen Ketema
2025-01-13 16:04:04 +01:00
parent 8e39eb9020
commit cd5e77348b
8 changed files with 9681 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: Improve user types and proxy classes
compatibility: full
usertypes.rel: run usertypes.qlo

View File

@@ -0,0 +1,10 @@
class UserType extends @usertype {
string toString() { none() }
}
bindingset[kind]
int getKind(int kind) { if kind in [15, 16, 17] then result = 6 else result = kind }
from UserType usertype, string name, int kind
where usertypes(usertype, name, kind)
select usertype, name, getKind(kind)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: Improve user types and proxy classes
compatibility: partial
usertypes.rel: run usertypes.qlo

View File

@@ -0,0 +1,17 @@
class UserType extends @usertype {
string toString() { none() }
}
bindingset[kind]
int getKind(int kind) {
if kind in [10, 11, 12]
then result = 0
else
if kind = 6
then result = 16
else result = kind
}
from UserType usertype, string name, int kind
where usertypes(usertype, name, kind)
select usertype, name, getKind(kind)