8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-30 09:23:09 +01:00
Commit Graph

308 Commits

Author SHA1 Message Date
dimitr
8bb4e03a7b Misc. 2006-12-30 11:35:22 +00:00
robocop
d2e510c013 Avoid crashes due to mismatch in msg file (helps mostly while developing). 2006-10-17 06:23:53 +00:00
asfernandes
55ec30965d REPLACE statement 2006-09-03 01:09:23 +00:00
asfernandes
b7af27215e Allow usage of domains in PSQL (with TYPE OF syntax) 2006-08-19 02:52:39 +00:00
hvlad
8f55191456 Make blr_blob2 handling in blr printer consistent with other data types 2006-07-31 18:32:48 +00:00
dimitr
e0e0b602be Updated the BLR printer to handle all FB2 features. 2006-07-31 08:07:21 +00:00
hvlad
ed5d2fe9aa Fixed error noted by Adriano 2006-07-31 06:33:30 +00:00
asfernandes
273da882bc Misc 2006-07-31 01:46:52 +00:00
hvlad
75a9c90ad7 Blr printer was not aware of blr_blob2 2006-07-30 20:00:21 +00:00
hvlad
fac53c8177 Added blr_src_info. Error call stack now contains not only
procedures\triggers names but line\column numbers also.
Thanks to Eugeney Putilin for idea
2006-07-04 14:44:43 +00:00
robocop
991de0b29e Make LC_MESSAGES env var work as expected (get only filename) for an alternative messages file held in the INTL dir. 2006-06-08 05:02:34 +00:00
dimitr
7cc12e8489 1) Reworked memory management in SORT. Now we're pools aware there.
2) Reworked error handling in SORT and its callers.
3) Replaced DLS+SortMem with the generic TempSpace class.
4) Replaced GDS temp file management with the TempFile class.
5) Various cleanup.
2006-05-31 08:53:00 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
afa0f666b8 Threading cleanup. More to follow. 2006-05-01 04:12:30 +00:00
robocop
c07aa9d25f Stop complainers related to the argument types of fb_interpret. 2006-04-06 06:32:47 +00:00
robocop
7bf526c096 Misc. 2006-03-08 03:10:48 +00:00
robocop
1f84bac700 Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc. 2006-02-23 05:08:26 +00:00
robocop
3389149564 The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
Tenth step: some code was tagged PC_ENGINE but was for SCROLLABLE_CURSORS instead, hence restore it. Also, clean unused data members, obsolete BLR verbs and the like.
2006-02-07 08:08:49 +00:00
robocop
38b063b3de I misread the logic: it's true (not false) that tells Timestamp to not call the operating system to get the current time. Thanks to D. Sibiryakov. 2006-02-04 02:40:20 +00:00
robocop
97122ee389 Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary. 2006-02-03 08:39:36 +00:00
robocop
8b99699398 Do not lose time getting the accurate timestamp from the operating system if we are going to override it imediately with the user supplied value in isc_encode_date and isc_encode_timestamp. Also, this avoids an exception escaping from the API functions if the system call fails. 2006-02-02 00:03:29 +00:00
robocop
b67b0219ab Change from getenv to readenv. This is still getenv in Linux/UNIX but GetEnvironmentVariable in Windows. 2006-01-14 04:48:59 +00:00
dimitr
cf3ed06d9c Fixed POSIX builds. 2005-12-28 10:07:54 +00:00
robocop
a44464d73c Do not use the harcoded c:\Program Files path while possible: it doesn't have to live in the C: partition and it's localized in non-English Windows versions. 2005-12-25 07:43:04 +00:00
robocop
9202047a0f Solve chicken and egg problem: when we can't locate the config file, we throw an exception but if we try to trap and decode the failure in another place, it tries to know the location of the messages file (to interpret the status vector), which in turn requires to locate the config file. Therefore, we crash mysteriously. 2005-12-25 04:42:13 +00:00
robocop
82ebc3ab64 Fix the non-VMS version of gds__validate_lib_path:
We shouldn't modify the result from getenv().
Also, fix some null terminator issues.
2005-12-23 23:11:57 +00:00
robocop
f00fc0ff56 1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
dimitr
29f2f43359 Fixed the bug I introduced with my GDS changes. 2005-11-29 11:36:06 +00:00
dimitr
905a2e46f8 Fixed builtin lookups for error messages and SQLCODEs.
IMPORTANT!!! You have to rebuild the tree from scratch!
2005-11-24 11:53:55 +00:00
dimitr
2382db581e Reworked the BLR printer to use Firebird::string as its buffer. 2005-11-24 08:34:16 +00:00
dimitr
c236dc4a73 1. Fixed memory corruption in filters.cpp
2. Increased internal buffer in gds.cpp to avoid overflows
3. Made this buffer dynamically allocated to avoid stack corruptions
4. Minor cleanup
2005-11-23 20:18:19 +00:00
robocop
3d53c1b75b Let's hope this fixes the incompatibilities between safe_interpret and the old gds_interprete. 2005-09-24 05:09:05 +00:00
alexpeshkoff
d15f6b11fc avoid unpredictable behaviour of gds__log() on posix in signal handlers 2005-08-29 14:57:43 +00:00
skidder
9f04361ab1 Oops, committed some debugging code which was not supposed to be exposed to public :-) 2005-07-21 00:44:14 +00:00
skidder
286c14843b Global handles need to be closed or we have the leak during client/engine DLL unload.
The cleanest solution would be to port FileObject from BV3 branch here and use it,
but this hack will do either.
2005-07-21 00:42:51 +00:00
skidder
699c914cbf little debug logging improvements 2005-07-19 23:27:38 +00:00
asfernandes
354a158736 Misc. 2005-06-06 20:44:10 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
alexpeshkoff
63c5cebdcf fixed embedded build 2005-05-16 11:08:14 +00:00
alexpeshkoff
74c88a4e97 fixed a couple of buffer overflows in gds__prefix*() functions family 2005-05-14 10:45:40 +00:00
robocop
1caceee875 Use static_cast when converting from void*, not reinterpret_cast. 2005-03-26 05:39:44 +00:00
robocop
014d90ff59 Misc. 2004-12-08 04:12:26 +00:00
robocop
af6a16107a Misc. 2004-11-30 06:18:39 +00:00
robocop
bb170bd3b6 isc_interpret is fb_interpret again.
Please do a full rebuild.
2004-11-28 01:03:05 +00:00
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
dimitr
1859b19b9a Added missing BLR handling to the internal blob filter 2004-11-17 18:18:44 +00:00
robocop
eb99bbcccf Poor man's version of the old gds_alloc_report. 2004-11-17 08:56:07 +00:00
alexpeshkoff
ea9e900ab3 cleanup of methods, storing data in plain char* 2004-11-14 18:05:13 +00:00
robocop
e5be73b048 Misc: extra semicolons do not help. :-) 2004-11-07 10:47:20 +00:00
robocop
e1573bf6ce Fix wrong comment due to copy/paste. 2004-11-06 07:17:18 +00:00
skidder
933063c7ce Slightly adjust Dmitry's Firebird::TimeStamp class to make it more useful, change is coordiated with Dmitry. Use thread-safe localtime_r routine when it is available 2004-11-04 19:14:20 +00:00
skidder
3e26513b38 fb_interpret->isc_interpet, deprecate isc_interpete, clean interface a little bit 2004-10-25 03:53:03 +00:00
robocop
8fd795893f Fixed some possible buffer overruns and marked others. 2004-10-09 01:47:22 +00:00
robocop
5833e93321 VMS-related changes. Just in case. 2004-10-07 09:46:03 +00:00
robocop
d6f9a7874a Close vulnerability #6 in gds__interprete's new version.
In the loop, if several parameter exist, they are copied one after another in the same dynamic buffer. Therefore, for the 2nd param and more, we don't have the full buffer size to copy arguments, but only the remainder. Big buffer overflow could happen here.
If there's no buffer at all (from fix #5), the empty literal string is passed.
Now, fb_interpret seems ready to be used.
2004-10-04 08:37:49 +00:00
robocop
4964a1c7a1 Close vulnerability #5 in gds__interprete's new version, reported by Dmitry Sibiryakov.
When copying paramters to a dynamic buffer, the null terminator was written beyond the buffer's end.
Additionally, if there's no buffer at all (to be evident when fix #6 is posted), the empty literal string is passed.
2004-10-04 08:07:28 +00:00
robocop
43c46a29cd Close vulnerability #4 in gds__interprete's new version.
Static array with 10 places to hold pointers to parameters (isc_arg_string, isc_arg_number & isc_arg_cstring) may overflow in the loop that fills it and doesn't check bounds.
2004-10-04 07:38:28 +00:00
robocop
e5ad0f1a7f Misc cleanup. 2004-10-04 04:59:43 +00:00
robocop
bdf5dea379 Close vulnerability #3 in gds__interprete's new version.
Traditional sprintf could write past the end of buffer.
2004-10-04 04:44:52 +00:00
robocop
1da60e8b11 Fix mistake in operator until I'm ready to commit our utility snprintf. 2004-10-03 09:31:08 +00:00
robocop
16dfc501c1 Close vulnerability #2 in gds__interprete's new version.
Work in progress (regarding SNPRINTF wrapper, too).
2004-09-25 10:23:41 +00:00
robocop
1563cd7761 First attempt to close vulnerability reported by Daniel Urban 2004-09-22 08:56:04 +00:00
robocop
e6cb17cac6 Vulnerability reported by Daniel Urban.
First step: reorganize code.
Please do a full rebuild after retrieving those changes.
2004-09-22 01:59:39 +00:00
robocop
337614c51c 1) static_cast is enough from void* to another type
2) Style
2004-09-20 08:39:03 +00:00
robocop
9252c03bcb Fix possible minor problem in debug version 2004-07-07 03:42:54 +00:00
skidder
f4e7ebdd3b Implement rudimentary framework to track lifetimes of active BLOBs.
This solves the following issues:
1) Outrageous memory consumption when blobs are converted from strings during request processing
2) Materialization doesn't cause invalidation of BLOB IDs too early.
Original behaviour caused errors with updatable views or procedures receiving BLOB arguments.
2004-06-22 20:13:10 +00:00
alexpeshkoff
1591a54e5e Thread cleanup:
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
brodsom
64c1dee04e -Use C++ struct declaration style. 2004-05-24 17:31:47 +00:00
brodsom
75a0483d75 -Comment some common.h unused macros
-Replace VA_START macro with va_start function (it was already some places where it is not used)
2004-05-23 23:28:06 +00:00
brodsom
1ffe279896 -Avoid shadow warning 2004-05-12 19:39:17 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
brodsom
657d176dc2 Replace codes.h with iberror.h 2004-05-07 14:09:09 +00:00
brodsom
ef3f5f1911 Rollback until I found a better solution. 2004-05-07 07:19:48 +00:00
brodsom
ce7a5ced08 -Macro cleaning 2004-05-06 22:11:24 +00:00
skidder
e9f8ef102e Fixes needed to make GCC 3.4 happy 2004-05-03 04:25:06 +00:00
brodsom
2f4865a195 Replace defines for constants 2004-04-29 14:51:02 +00:00
brodsom
0daa189563 Removing ib_stdio.h 2004-04-28 22:36:29 +00:00
brodsom
987375ea76 Remove the last remaining dependency from gdsold.h (finishing a cleaning started months ago) 2004-04-21 02:19:48 +00:00
robocop
68c038d132 More cleanup. Get rid of obsolete files, too. 2004-03-30 08:34:14 +00:00
skidder
f26d84f76b 1. POSIX build libraries export only public API. 2. Unify exports for PROD_BUILD and DEV_BUILD. 3. Support for context memory pools. 4. Memory manager has lower memory overhead exceptionally on 64 bit targets 2004-03-25 23:12:50 +00:00
alexpeshkoff
67f1740fea Various cleanup to make engine compile and work after mentioned earlier changes.
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
skidder
b6e5ccd413 Clean up.
1. gds__alloc doesn't throw
2. Add NOMEM handlers to a couple places
3. kill HAVE_*SNPRINTF conditionals
2004-03-09 00:17:07 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
alexpeshkoff
02c5713428 fixed blr printing - thanks to Nickolay S. 2004-03-01 17:14:00 +00:00
skidder
dc7aab8f9c Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed 2004-03-01 03:35:23 +00:00
alexpeshkoff
acea4052aa removed getenv-related code - now in config_root 2004-02-28 19:38:25 +00:00
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
skidder
6ded5ad0cd Fix unix error handling recently broken by Erik in 2.0 branch 2004-01-26 07:34:22 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
robocop
9fafc348bf const correctness
vars in scope
minimal interface cleanup
small bug fixes
2003-11-28 06:48:34 +00:00
brodsom
88a2611ed1 -Removing some unneeded headers (WIN_NT) or explaining why are needed 2003-11-16 16:17:38 +00:00
brodsom
451460c167 -Removing some unneeded headers (WIN_NT) or explaining why are needed 2003-11-16 12:23:24 +00:00
brodsom
23bd035e77 -Fixes to be able to build with gcc 3.3.1 (MinGW) 2003-11-16 10:31:33 +00:00
brodsom
6e8e00c191 -Undo gds__vax_integer to isc_vax_integer and gds__event_* to isc_event_* changes 2003-11-16 01:44:51 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
bellardo
b0dddc008e Header files no longer needed in OS X 10.3. 2003-11-08 07:31:24 +00:00
robocop
db77ffa605 const correctness, variables in scope, cleanup, etc. 2003-11-07 08:06:35 +00:00
brodsom
89e8f89f86 Extern "C" cleaning 2003-11-06 03:03:36 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
eku
da0d0f068f Cleanup usage of gettimeofday. 2003-10-31 11:33:45 +00:00
robocop
9ead7a37b4 const correctness
placed some variables in context
fixed some function signatures
closed a few possible buffer overruns
sorry to the platform maintainers, I can't verify what I did for non-Win32 builds
2003-10-29 10:53:47 +00:00
brodsom
3be589ddd4 -Warning removal
-Style
2003-10-20 18:34:19 +00:00
robocop
8182b6cba2 const correctness and other tasks 2003-10-16 08:51:06 +00:00
skidder
4e8605294e Forward port Sparc fixes 2003-10-10 23:56:57 +00:00
robocop
480c1ee968 const correctness 2003-10-08 08:42:48 +00:00
robocop
c931a674c2 Cleanup.
Hopefully harmless
It should fix the issue introduced with constness in gds__interprete for current applications.
2003-09-29 12:43:14 +00:00
skidder
235db035ce Ok, i'm joining Firebird destruction team with my cleanup:
1. Bring trace DSQL, DYN and BLR trace logging up-to-date
2. Remove redundant CSB pointer dereferences in BLR parser and request compiler
3. Convert RIGHT JOIN to LEFT JOIN early during BLR parsing
4. Check BLR syntax for unititalized contexts usage
5. Some type-safety and const-correctness fixes
2003-09-28 21:36:05 +00:00
robocop
484c6ec372 Cleanup, const correctness, variables in scope, etc.
Having done my best to merge everyone else's changes, I hope the tree can be build with whatever other tools != MSVC6.
2003-09-25 11:49:12 +00:00
brodsom
9d5721473a Removing SHLIB_DEFS 2003-09-22 17:56:35 +00:00
brodsom
09fc777366 Fix signed/unsigned warning 2003-09-15 19:26:41 +00:00
brodsom
f9f663a007 -Change variable name to fix error in MinGW 2003-09-14 01:09:22 +00:00
skidder
2d3d855c9f Make NBACKUP work on Windows 2003-09-13 18:35:39 +00:00
brodsom
a86a19246d -Remove GDS_VAL and GDS_REF (Final commit) 2003-09-12 23:37:06 +00:00
skidder
b24a430c67 Implement fast thread-safe trace facility on Win32.
It is not perfect (keeps log file open), but good enough
2003-09-11 21:33:57 +00:00
skidder
77b17de987 NBACKUP-related changes and some clean-up 2003-09-08 20:23:46 +00:00
brodsom
6a2ef35fda -Remove NULL_PTR
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:16:03 +00:00
aafemt
7f69b3458a some magic for yday() by Vladimir Tcvigun 2003-08-26 10:29:52 +00:00
eku
73137f9d60 Since all supported platforms provide the function strerror(), get rid of
sys_errlist[]. It's not portable anyway.
2003-08-25 07:26:39 +00:00
brodsom
e401cb40c7 -Fix cast warnings
-Fix signed/unsigned comparison warnings
2003-08-09 20:58:34 +00:00
brodsom
e81872b162 -Include var definitions in rdb_codes, codetext, msgs and blh.p headers.
-Uncommited change to codes.epp to allow to used two directories (moving ftn and pas)
2003-07-12 10:24:47 +00:00
skidder
a8dd711938 Little fix to make Linux version compile 2003-07-07 20:06:16 +00:00
dimitr
9a38c81c23 no message 2003-07-05 14:23:52 +00:00
dimitr
ef9fb69fa9 1) Cleanup
2) Some changes for the embedded server
2003-07-05 12:13:17 +00:00
dimitr
f765ec326c Renamed environment variable. Fixed one temp-related crash. 2003-06-25 07:45:00 +00:00
dimitr
dd327f26ee INT is _not_ OK. Today (01-Jun-2003) the overflow occured. 2003-06-01 10:00:54 +00:00
eku
68da33d89d Improved error handling as suggested by skidder. 2003-05-14 12:32:02 +00:00
eku
d496ef4e4e Check for the function mkstemp(). If it's not available, fall back to mktemp(). 2003-05-14 05:40:00 +00:00
skidder
af0bc3449f Fix little issue in temp stuff noted by Claudio Valderrama 2003-05-11 17:12:08 +00:00
dimitr
0002b4ff65 Fixed temp file management in utilities. 2003-05-11 11:48:22 +00:00
dimitr
5c19f223b6 Restore compatibility with VC6. 2003-05-10 13:01:41 +00:00
skidder
ce1dca4ea4 1. Cleanup
2. Rework temporary files management. In particular:
- fix security hole on all POSIX platforms except FREEBSD/OPENBSD related to mktemp usage (possible DoS attacks or privileges elevation) via switching to mkstemp
- fix problem with only 27 unique filenames generated on Win32 (which could cause unpredictable behavior in SS builds)
- pass appropriate flags to CreateFile on Win32 to indicate that files are temporary (this may improve performance a little)
2003-05-09 16:18:32 +00:00
alexpeshkoff
4a544f46a8 Changed gds__log parameter to be const 2003-04-19 16:39:30 +00:00
aafemt
19bb54f2a8 STATUS -> ISC_STATUS 2003-04-10 06:49:16 +00:00
alexpeshkoff
86e6b77b50 1. Fixed potential buffer overflow in gds__prefix* family of functions.
2. Changed second parameter declaration to be const.
2003-04-06 11:40:29 +00:00
brodsom
82baa67399 - Ifdef unused or conditioned code
- Remove intermediate macro
2003-04-03 10:09:59 +00:00
brodsom
c26e93b60f - Avoid signed-unsigned comparison
- alloc_mutex only used for V4_THR
- Correct landId argument.
2003-04-02 11:18:14 +00:00
brodsom
f76755974d Correct formats 2003-04-01 17:58:19 +00:00
brodsom
01141efa30 Use V4_THREADING explicitly instead and remove empty defined macros. This change try to make clear V4_THREADING use. 2003-03-24 13:35:37 +00:00
brodsom
84851d585d Remove nested NOT_USED_OR_REPLACED ifdefs 2003-03-18 01:32:28 +00:00
alexpeshkoff
1391e13f0a Dropped HAVE_*EXIT defines 2003-03-13 15:46:34 +00:00
brodsom
c7d6889883 Put vars and functions inside the same ifdef for which is used (NOT_USED_OR_REPLACED for unused) 2003-03-04 00:09:33 +00:00
brodsom
79a40c0d99 Put declarations and definitions inside the same ifdef condition under which is used. (for not used ones NOT_USED_OR_REPLACED) 2003-03-03 09:22:32 +00:00
fsg
e0dcb77416 Fixed some really old typos.
Included ExecuteStatement in the LINUX-Build
2003-03-02 17:47:22 +00:00
brodsom
292e979471 Remove HUGE_PTR 2003-02-28 13:38:30 +00:00
brodsom
165023d329 Remove FAR_VARIABLE 2003-02-28 12:57:13 +00:00
brodsom
dd621992d5 New macro defined in firebird.h to remove compiler dependencies from cpp sources. 2003-02-27 21:34:41 +00:00