mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 04:43:03 +01:00
Use COMMONAPPDATA folder on Windows for shared memory files placement (lock table, even table, etc).
This commit is contained in:
parent
04b4c28ce2
commit
366442f125
@ -30,7 +30,7 @@ static const struct
|
||||
{"begin", begin},
|
||||
{"declare", declare},
|
||||
{"message", message},
|
||||
{"erase", byte},
|
||||
{"erase", byte_line},
|
||||
{"fetch", two},
|
||||
{"for", two},
|
||||
{"if", three},
|
||||
@ -43,11 +43,11 @@ static const struct
|
||||
{"store", two},
|
||||
{NULL, NULL},
|
||||
{"label", byte_verb},
|
||||
{"leave", byte},
|
||||
{"leave", byte_line},
|
||||
{"store2", three},
|
||||
{"post", one}, // 20
|
||||
{"literal", literal},
|
||||
{"dbkey", byte},
|
||||
{"dbkey", byte_line},
|
||||
{"field", field},
|
||||
{"fid", parm},
|
||||
{"parameter", parm},
|
||||
@ -179,7 +179,7 @@ static const struct
|
||||
{"ansi_any", one},
|
||||
{"exists", one},
|
||||
{NULL, NULL},
|
||||
{"record_version", byte},
|
||||
{"record_version", byte_line},
|
||||
{"stall", zero},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
@ -194,8 +194,8 @@ static const struct
|
||||
{"user_savepoint", user_savepoint},
|
||||
{"dcl_cursor", dcl_cursor},
|
||||
{"cursor_stmt", cursor_stmt},
|
||||
{"current_timestamp2", byte},
|
||||
{"current_time2", byte},
|
||||
{"current_timestamp2", byte_line},
|
||||
{"current_time2", byte_line},
|
||||
{"agg_list", two}, // 170
|
||||
{"agg_list_distinct", two},
|
||||
/***
|
||||
|
@ -121,6 +121,7 @@ static const char* FB_PID_FILE = "fb_%d";
|
||||
#include "../jrd/os/isc_i_proto.h"
|
||||
|
||||
#ifdef WIN_NT
|
||||
#include <shlobj.h>
|
||||
#define _WINSOCKAPI_
|
||||
#include <share.h>
|
||||
#include "err_proto.h"
|
||||
@ -285,7 +286,7 @@ static const UCHAR
|
||||
two[] = { op_line, op_verb, op_verb, 0},
|
||||
three[] = { op_line, op_verb, op_verb, op_verb, 0},
|
||||
field[] = { op_byte, op_byte, op_literal, op_pad, op_line, 0},
|
||||
byte[] = { op_byte, op_line, 0},
|
||||
byte_line[] = { op_byte, op_line, 0},
|
||||
byte_args[] = { op_byte, op_line, op_args, 0},
|
||||
byte_verb[] = { op_byte, op_line, op_verb, 0},
|
||||
byte_verb_verb[] = { op_byte, op_line, op_verb, op_verb, 0},
|
||||
@ -3685,7 +3686,15 @@ public:
|
||||
Firebird::PathName lockPrefix;
|
||||
if (!fb_utils::readenv(FB_LOCK_ENV, lockPrefix))
|
||||
{
|
||||
PathUtils::concatPath(lockPrefix, fbTempDir, LOCKDIR);
|
||||
#ifdef WIN_NT
|
||||
char cmnData[MAXPATHLEN];
|
||||
if (!SHGetSpecialFolderPath(NULL, cmnData, CSIDL_COMMON_APPDATA, TRUE)) {
|
||||
Firebird::system_call_failed::raise("SHGetSpecialFolderPath");
|
||||
}
|
||||
PathUtils::concatPath(lockPrefix, cmnData, LOCKDIR);
|
||||
#else
|
||||
PathUtils::concatPath(lockPrefix, WORKFILE, LOCKDIR);
|
||||
#endif
|
||||
}
|
||||
lockPrefix.copyTo(fb_prefix_lock_val, sizeof(fb_prefix_lock_val));
|
||||
fb_prefix_lock = fb_prefix_lock_val;
|
||||
|
Loading…
Reference in New Issue
Block a user