Skip to content

Commit

Permalink
#20220214 Улучшение производительности вызовова функций на 15%.
Browse files Browse the repository at this point in the history
Проверка/запрос att_id на каждый вызов не производится, так как кеш метаданных раздельный context+status всегда возвращает константу в рамках инициализации вызывающего контекста. Если в 5++ что-то измениться... подумаем.
  • Loading branch information
mnf71 committed Feb 14, 2022
1 parent aa10b57 commit 494d5fb
Show file tree
Hide file tree
Showing 13 changed files with 996 additions and 395 deletions.
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.1
1.0.2
Binary file modified build/x86_64-linux/libnano.tar.gz
Binary file not shown.
Binary file modified build/x86_64-win64/nano.dll
Binary file not shown.
12 changes: 6 additions & 6 deletions sql/tnx.sql
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ BEGIN

FUNCTION transaction_(conn TY$POINTER NOT NULL) RETURNS TY$POINTER;

FUNCTION valid(tnx TY$POINTER) RETURNS BOOLEAN;
FUNCTION valid(tnx TY$POINTER NOT NULL) RETURNS BOOLEAN;

FUNCTION release_(tnx ty$pointer NOT NULL) RETURNS TY$POINTER;

FUNCTION connection(tnx TY$POINTER NOT NULL) RETURNS TY$POINTER;

FUNCTION commit_(tnx TY$POINTER NOT NULL) RETURNS TY$NANO_BLANK;
FUNCTION rollback_(tnx TY$POINTER NOT NULL) RETURNS TY$NANO_BLANK;
FUNCTION commit_(tnx TY$POINTER NOT NULL) RETURNS TY$POINTER; -- auto-release
FUNCTION rollback_(tnx TY$POINTER NOT NULL) RETURNS TY$POINTER; -- auto-release

END^

Expand All @@ -25,7 +25,7 @@ BEGIN
EXTERNAL NAME 'nano!tnx$transaction'
ENGINE UDR;

FUNCTION valid(tnx TY$POINTER) RETURNS BOOLEAN
FUNCTION valid(tnx TY$POINTER NOT NULL) RETURNS BOOLEAN
EXTERNAL NAME 'nano!tnx$valid'
ENGINE UDR;

Expand All @@ -37,11 +37,11 @@ BEGIN
EXTERNAL NAME 'nano!tnx$connection'
ENGINE UDR;

FUNCTION commit_(tnx TY$POINTER NOT NULL) RETURNS TY$NANO_BLANK
FUNCTION commit_(tnx TY$POINTER NOT NULL) RETURNS TY$POINTER
EXTERNAL NAME 'nano!tnx$commit'
ENGINE UDR;

FUNCTION rollback_(tnx TY$POINTER NOT NULL) RETURNS TY$NANO_BLANK
FUNCTION rollback_(tnx TY$POINTER NOT NULL) RETURNS TY$POINTER
EXTERNAL NAME 'nano!tnx$rollback'
ENGINE UDR;

Expand Down
Loading

0 comments on commit 494d5fb

Please sign in to comment.