8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 21:23:04 +01:00

1) Fix Linux build

2) Misc
This commit is contained in:
asfernandes 2008-04-11 01:38:50 +00:00
parent 9376155d0f
commit 6e59d736df
11 changed files with 52 additions and 28 deletions

View File

@ -27,10 +27,10 @@ JRD_ServerFiles= blob_filter.cpp dpm.epp dyn.epp dyn_def.epp \
all.cpp blb.cpp btn.cpp btr.cpp builtin.cpp \
GlobalRWLock.cpp cch.cpp cmp.cpp cvt2.cpp \
DataTypeUtil.cpp dfw.cpp divorce.cpp \
err.cpp iberr.cpp \
event.cpp evl.cpp exe.cpp ext.cpp \
err.cpp event.cpp evl.cpp exe.cpp ext.cpp \
execute_statement.cpp filters.cpp flu.cpp functions.cpp \
idx.cpp inf.cpp intl.cpp intl_builtin.cpp IntlManager.cpp IntlUtil.cpp \
iberr.cpp idx.cpp inf.cpp intl.cpp intl_builtin.cpp IntlManager.cpp \
IntlUtil.cpp \
jrd.cpp Database.cpp lck.cpp \
mov.cpp nav.cpp opt.cpp Optimizer.cpp pag.cpp par.cpp \
ods.cpp plugin_manager.cpp pwd.cpp PreparedStatement.cpp RandomGenerator.cpp \
@ -38,8 +38,8 @@ JRD_ServerFiles= blob_filter.cpp dpm.epp dyn.epp dyn_def.epp \
sdw.cpp shut.cpp sort.cpp sqz.cpp \
svc.cpp SysFunction.cpp TempSpace.cpp tpc.cpp tra.cpp validation.cpp vio.cpp \
nodebug.cpp nbak.cpp sha.cpp $(Physical_IO_Module) TextType.cpp \
unicode_util.cpp RuntimeStatistics.cpp \
DebugInterface.cpp
unicode_util.cpp RuntimeStatistics.cpp DebugInterface.cpp \
extds/ExtDS.cpp extds/InternalDS.cpp extds/IscDS.cpp
JRD_Files = $(JRD_ClientFiles) $(JRD_ServerFiles)

View File

@ -832,6 +832,7 @@ mkdir -p gen/gpre
mkdir -p gen/iscguard
mkdir -p gen/isql
mkdir -p gen/jrd
mkdir -p gen/jrd/extds
mkdir -p gen/msgs
mkdir -p gen/qli
mkdir -p gen/utilities
@ -878,6 +879,7 @@ mkdir -p temp/boot/ipserver
mkdir -p temp/boot/iscguard
mkdir -p temp/boot/isql
mkdir -p temp/boot/jrd
mkdir -p temp/boot/jrd/extds
mkdir -p temp/boot/jrd/os/posix
mkdir -p temp/boot/jrd/os/win32
mkdir -p temp/boot/jrd/os/darwin
@ -914,6 +916,7 @@ mkdir -p temp/std/ipserver
mkdir -p temp/std/iscguard
mkdir -p temp/std/isql
mkdir -p temp/std/jrd
mkdir -p temp/std/jrd/extds
mkdir -p temp/std/jrd/os/posix
mkdir -p temp/std/jrd/os/win32
mkdir -p temp/std/jrd/os/darwin
@ -950,6 +953,7 @@ mkdir -p temp/superclient/ipserver
mkdir -p temp/superclient/iscguard
mkdir -p temp/superclient/isql
mkdir -p temp/superclient/jrd
mkdir -p temp/superclient/jrd/extds
mkdir -p temp/superclient/jrd/os/posix
mkdir -p temp/superclient/jrd/os/win32
mkdir -p temp/superclient/jrd/os/darwin
@ -986,6 +990,7 @@ mkdir -p temp/superserver/ipserver
mkdir -p temp/superserver/iscguard
mkdir -p temp/superserver/isql
mkdir -p temp/superserver/jrd
mkdir -p temp/superserver/jrd/extds
mkdir -p temp/superserver/jrd/os/posix
mkdir -p temp/superserver/jrd/os/win32
mkdir -p temp/superserver/jrd/os/darwin

View File

@ -1621,8 +1621,8 @@ static jrd_nod* execute_statement(thread_db* tdbb, jrd_req* request, jrd_nod* no
EDS::Statement** stmt_ptr = (EDS::Statement**) ((char*) request + node->nod_impure);
EDS::Statement* stmt = *stmt_ptr;
int inputs = (SHORT)(IPTR) node->nod_arg[node->nod_count + e_exec_stmt_extra_inputs];
int outputs = (SHORT)(IPTR) node->nod_arg[node->nod_count + e_exec_stmt_extra_outputs];
int inputs = (SSHORT)(IPTR) node->nod_arg[node->nod_count + e_exec_stmt_extra_inputs];
int outputs = (SSHORT)(IPTR) node->nod_arg[node->nod_count + e_exec_stmt_extra_outputs];
jrd_nod** node_inputs = node->nod_arg + e_exec_stmt_fixed_count + e_exec_stmt_extra_inputs;
jrd_nod** node_outputs = node->nod_arg + e_exec_stmt_fixed_count + inputs;
jrd_nod* node_proc_block = node->nod_arg[e_exec_stmt_proc_block];

View File

@ -1125,7 +1125,7 @@ void Statement::getOutParams(thread_db *tdbb, int count, jrd_nod **params)
void Statement::getExtBlob(thread_db *tdbb, const dsc &src, dsc &dst)
{
blb *destBlob = NULL;
AutoPtr<Blob> extBlob = m_connection.createBlob();
AutoPtr<Blob> extBlob(m_connection.createBlob());
try
{
extBlob->open(tdbb, *m_transaction, src, NULL);
@ -1169,7 +1169,7 @@ void Statement::getExtBlob(thread_db *tdbb, const dsc &src, dsc &dst)
void Statement::putExtBlob(thread_db *tdbb, const dsc &src, dsc &dst)
{
blb* srcBlob = NULL;
AutoPtr<Blob> extBlob = m_connection.createBlob();
AutoPtr<Blob> extBlob(m_connection.createBlob());
try
{
extBlob->create(tdbb, *m_transaction, dst, NULL);

View File

@ -27,6 +27,7 @@
#include "../../common/classes/array.h"
#include "../../common/classes/ClumpletWriter.h"
#include "../../common/classes/locks.h"
#include "../../common/utils_proto.h"
namespace Jrd {
@ -75,7 +76,7 @@ private:
{
public:
static bool greaterThan(const Firebird::string* s1, const Firebird::string* s2) {
return stricmp(s1->c_str(), s2->c_str()) > 0;
return fb_utils::stricmp(s1->c_str(), s2->c_str()) > 0;
}
};

View File

@ -69,6 +69,7 @@ void InternalProvider::jrdAttachmentEnd(thread_db *tdbb, Attachment* att)
Connection **ptr = m_connections.end();
Connection **begin = m_connections.begin();
for (ptr--; ptr >= begin; ptr--)
{
InternalConnection *conn = (InternalConnection*) *ptr;
@ -82,7 +83,9 @@ void InternalProvider::getRemoteError(ISC_STATUS* status, string &err)
err = "";
char buff[512];
const ISC_STATUS* p = status, *end = status + ISC_STATUS_LENGTH;
const ISC_STATUS* p = status;
const ISC_STATUS* end = status + ISC_STATUS_LENGTH;
while (p < end)
{
const ISC_STATUS code = *p ? p[1] : 0;
@ -302,11 +305,18 @@ void InternalStatement::doPrepare(thread_db *tdbb, const string &sql)
// forbidden ?
break;
case REQ_INSERT: case REQ_DELETE: case REQ_UPDATE:
case REQ_UPDATE_CURSOR: case REQ_DELETE_CURSOR: case REQ_DDL:
case REQ_GET_SEGMENT: case REQ_PUT_SEGMENT:
case REQ_EXEC_PROCEDURE: case REQ_SET_GENERATOR:
case REQ_SAVEPOINT: case REQ_EXEC_BLOCK:
case REQ_INSERT:
case REQ_DELETE:
case REQ_UPDATE:
case REQ_UPDATE_CURSOR:
case REQ_DELETE_CURSOR:
case REQ_DDL:
case REQ_GET_SEGMENT:
case REQ_PUT_SEGMENT:
case REQ_EXEC_PROCEDURE:
case REQ_SET_GENERATOR:
case REQ_SAVEPOINT:
case REQ_EXEC_BLOCK:
break;
}
}
@ -534,4 +544,4 @@ void InternalBlob::cancel(thread_db *tdbb)
}
}; // namespace EDS
} // namespace EDS

View File

@ -3324,6 +3324,7 @@ static void blr_print_verb(gds_ctl* control, SSHORT level)
blr_print_verb(control, level);
offset = blr_print_line(control, offset);
}
bool named = false;
if (inputs)
{
@ -3331,6 +3332,7 @@ static void blr_print_verb(gds_ctl* control, SSHORT level)
named = (blr_print_byte(control) != 0); // named parameters flag
offset = blr_print_line(control, offset);
}
while (inputs + outputs)
{
if (inputs)

View File

@ -88,9 +88,9 @@ public:
// we'll lost all privileges except assigned SYNCHRONIZE
if (pOldACL)
{
SID_IDENTIFIER_AUTHORITY SIDAuth = SECURITY_WORLD_SID_AUTHORITY;
SID_IDENTIFIER_AUTHORITY sidAuth = SECURITY_WORLD_SID_AUTHORITY;
PSID pSID = NULL;
AllocateAndInitializeSid(&SIDAuth, 1, SECURITY_WORLD_RID,
AllocateAndInitializeSid(&sidAuth, 1, SECURITY_WORLD_RID,
0, 0, 0, 0, 0, 0, 0, &pSID);
EXPLICIT_ACCESS ea;

View File

@ -67,9 +67,14 @@
#include "../jrd/err_proto.h"
#include "../jrd/thread_proto.h"
#include "../jrd/jrd_pwd.h"
#include "../common/classes/fb_tls.h"
#include "../common/config/config.h"
#include "../common/utils_proto.h"
#ifdef UNIX
#include <setjmp.h>
#endif
static int process_id;
#ifdef UNIX
static UCHAR *next_shared_memory;

View File

@ -2848,6 +2848,7 @@ static jrd_nod* parse(thread_db* tdbb, CompilerScratch* csb, USHORT expected,
// input parameters and its names
const bool haveNames = (inputs && (BLR_BYTE == 1));
EDS::ParamNames* paramNames = NULL;
for (n = e_exec_stmt_fixed_count; n < e_exec_stmt_fixed_count + inputs; n++)
{
if (haveNames)