] Project1.dpr(14): H2077 Value assigned to 'x' never used
(Line 14 is the one assigning zero.)
On Thu, 09 Feb 2017 04:30:06 -0500 *Tim Ward t...@telensa.com
[firebird-support] <firebird-support@yahoogroups.com>* wrote
It' the equivalent in a conventional programming la
It' the equivalent in a conventional programming language of saying:
x = a;
x = b;
where the compiler is expected to know that neither a not the first
assignment have any side effects other than the assignment (and where
the expression b doesn't depend on the value of x)(and where x isn't
So, if I've got a UDF which is declared as
DECLARE EXTERNAL FUNCTION xxx
INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER,
INTEGER, INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'xxx'
MODULE_NAME 'xxx_udf';
these INTEGERs are all 32 bits, right, both on 32 bit
On 24/01/2017 01:03, 'Leyne, Sean' s...@broadviewsoftware.com
[firebird-support] wrote:
Firebird does support dynamic changes, you can change the database
schema while users are connected.
Dmitry was referring more to the inherent risks of using a production
database as a development
On 13/01/2017 14:04, Dimitry Sibiryakov s...@ibphoenix.com
[firebird-support] wrote:
> 13.01.2017 13:09, Tim Ward t...@telensa.com [firebird-support] wrote:
>> I just don't believe this. Can anyone make any other suggestion as to
>> what is going on?
> Is timezone on your
However what I'm actually seeing is as follows.
(1) Set a Linux machine to "Brazil/East". Check this using the "date"
command line command.
(2) Confirm that
select CURRENT_TIMESTAMP from rdb$database
does report the Brazilian local time as expected.
(3) Next, I've got a table with a
On 12/01/2017 14:09, Tim Ward wrote:
> Sorry if this is a really basic question, but some time spent
> searching has failed to find for me the definitive detailed
> documentation on exactly how Firebird handles time zones (I'm
> particularly interested, to start with, in using CURRENT_TIMESTAMP
Sorry if this is a really basic question, but some time spent searching
has failed to find for me the definitive detailed documentation on
exactly how Firebird handles time zones (I'm particularly interested, to
start with, in using CURRENT_TIMESTAMP to create a value in a TIMESTAMP
field, and
Could be worse, at least you haven't run into the infamous Java spurious
reverse DNS lookup timeout ... which is 30 seconds.
On 06/01/2017 13:31, Marianne Castel - Titelive caste...@titelive.be
[firebird-support] wrote:
Thanks Dimitry,
I'll ask my server's administrators to have a look in
On 22/11/2016 12:32, fabia...@itbizolutions.com.au [firebird-support] wrote:
The application does not use "begin transaction and commit", so we let
the
database commit automatically
after a write process, we read the table from another thread inside
the app
or from another app inside the
On 12/07/2016 21:28, 'Daniel Miller' dmil...@amfes.com
[firebird-support] wrote:
I have an application I'm developing with PHP & Firebird. While it
mostly works fine - I've been having what I believe to be transaction
issues.
One problem was visibility - committed changes were not visible to
of ideas, I've deleted the database and am
recreating it from backup, in the hope that just maybe it got
corrupted when the other partition filled up.
On 12/07/2016 12:50, liviuslivius liviusliv...@poczta.onet.pl
[firebird-support] wrote:
W dniu 2016-07-12 11:54:52 użytkownik Tim Ward t
partition filled up.
On 12/07/2016 12:50, liviuslivius liviusliv...@poczta.onet.pl
[firebird-support] wrote:
W dniu 2016-07-12 11:54:52 użytkownik Tim Ward t...@telensa.com
[firebird-support] <firebird-support@yahoogroups.com> n
==
> CREATE TABLE TBLCSTAGASSETS
> (
> ELEMENTID BIGINT NOT NULL,
> USERID INTEGER NOT NULL,
> CONSTRAINT PK_TBLCSTAGASSETS PRIMARY KEY (ELEMENTID, USERID)
> )
On 23/06/2016 12:46, Gabriel Frones grfro...@gmail.com
[firebird-support] wrote:
You can still see which process is doing what using a single user,
though, since the system tables provide you with process name
(foo.exe) and ip address for each transaction.
Depends on your particular
On 23/06/2016 03:17, 'Daniel Miller' dmil...@amfes.com
[firebird-support] wrote:
Separate from security theories and considerations of "good practice",
what, if any, benefits accrue from using multiple users when accessing
a Firebird database?
We have different processes using different
Using Database Workbench I added a trigger to a table, but it didn't
seen to do anything (in particular didn't throw an exception which it
should have done when I deliberately created an invalid record).
After restarting DBWB the trigger behaved as expected.
Do triggers not take effect on
On 14/04/2016 08:26, 'Thomas Steinmaurer' t...@iblogmanager.com
[firebird-support] wrote:
With a single user you basically can't distinguish people on the
server side through CURRENT_USER etc.
We use one Firebird user for the web server, and then one each for each
of several batch
If the update makes the records longer (after run-length encoding) it's
even more fun, as you might get fragmentation (of records across pages)
and access times can then increase by a very large factor indeed, even
to the extent of completely crippling the performance of an entire
application.
So I'm getting errors when there's a call to COALESCE with only a single
parameter. (Why would we write code like that? - because nobody thought
to spot it as a special case in our query generation code, perhaps.)
So what does the Firebird book say? - well, my copy appears to say
COALESCE
So I've got this transaction which tries to create records in a table
and gets
"violation of PRIMARY or UNIQUE KEY constrain"
There are, I believe, no records in the table /visible to the same
transaction/ with the same primary key, as the insertion code checks
first, and doesn't attempt to
On 23/02/2016 15:38, 'Zoran' zoran...@gmail.com [firebird-support] wrote:
23.02.2016 16:03, 'Zoran' zoran...@gmail.com [firebird-support] wrote:
>> Why would you use transaction for select statements?
> For data consistency. People like consistent data in reports.
If other clients are using
On 27/01/2016 13:15, blumy2...@yahoo.com [firebird-support] wrote:
in my Builder c++ 6 application i have a SQL query for a table, in
Firebird 1.5.6 fdb database
" where STRADA " + = QuotedStr(edText->Text). Field STRADA in table is
define WIN1251
in edText, the are Romanian characters,
I've got a long running (hours) PHP script which does large numbers
(tens of thousands) of database operations along the lines of
start explicit transaction
do something in that transaction
commit that transaction
the idea being not to hold any individual transaction open for a
gbak:adjusting an invalid decompression length from -33 to -19
gbak: ERROR:value exceeds the range for valid timestamps
gbak: ERROR:gds_$send failed
gbak:Exiting before completion due to errors
Anyone any idea what any of that means?
--
Tim Ward
So I've got this stored procedure which takes DECIMAL(18,6) parameters
and returns DECIMAL(18,12) results, and internally copies stuff into and
out of DOUBLE PRECISION variables which it uses to call a UDF to do the
actual calculations.
And the results are different (in the 8th decimal place
On 18/01/2016 17:34, 'Leyne, Sean' s...@broadviewsoftware.com
[firebird-support] wrote:
Tim,
> So I've got this stored procedure which takes DECIMAL(18,6)
parameters and
> returns DECIMAL(18,12) results, and internally copies stuff into and
out of
> DOUBLE PRECISION variables which it uses
I know the folklore around forced writes
- turning forced writes on is safer
- turning forced writes on is slower
- the safety bit is much more of an issue with Windows than with Linux,
to the extent that it used not to work on Linux and nobody noticed for
years.
But I haven't found any
On 08/01/2016 11:50, Luigi Siciliano luigi...@tiscalinet.it
[firebird-support] wrote:
> Hallo,
> I have a small database (less 100MB) that works on Firebird 2.5.5
> SS64bit over a machine with Win7 64bit with 4GB Ram, CPU Pentium G620.
>
> I seems to work very well in local but with the 3
Hi,
We've got a system which does different things depending on whether
"forced writes" is switched on or not (and, possibly, on /when/ it's
switched on or off).
It seems to me that this is wrong - turning forced writes on or off
should only affect performance, it shouldn't make an
On 04/12/2015 00:07, Christian Gütter n...@guetter.org
[firebird-support] wrote:
> In Windows this is not an abuse, executable files have
> provision for version metadata ("resource") and you're supposed
> to use it properly. Pity this doesn't apply portably to all file
types, innit.
True,
On 03/12/2015 14:48, Christian Gütter n...@guetter.org
[firebird-support] wrote:
Or, if you are a big fan of abusing file formats, you might want to
try to append the information to your executable file.
In Windows this is /not /an abuse, executable files have provision for
version metadata
Thanks for the replies.
Don't worry folks, I'm not going to try this, I was just curious.
Yes I do know it's not a real deadlock, I was using the word because I
knew it would be understood and because, I'm pretty sure?, I've seen it
in one of the relevant error messages.
--
Tim Ward
I know that if two concurrent transactions try to make changes to the
same record at the same time one of them gets a deadlock.
What about if two concurrent transactions are both trying to *delete*
the *same* record at once? - from the point of the view of the user's
objectives there's no
Any idea how to start diagnosing this?
It's not actually a network error, as client and server are running on
the same machine.
We have multiple processes running for hours doing the same sorts of
things to the database, and every once in a while one of the client
processes crashes with this
There are a number of areas where something slightly unusual works in
Firebird but Database Workbench can't cope with it.
Have you tried running it by typing EXECUTE PROCEDURE into isql?
On 03/11/2015 16:09, 'stwizard' stwiz...@att.net [firebird-support] wrote:
I’m sorry I should have been a
What are the implications of holding a connection to the database open
forever (and running millions and millions of tiny transactions flat out
through that connection)?
We have a system whose performance gradually gets worse and worse, and
we have a feeling that one of the things that gets it
I lost the logging code some time ago so can't quote it I'm afraid. I
defined an external table, mapped to a file, with columns for timestamp,
a couple of numeric values, and a text message. Then a procedure which
wrote a record to this table. Then called the procedure at points in my
code
I did it by writing a logging procedure which wrote timestamps to an
external file mapped to a text file, then calling it where I was interested.
An alternative is Monte Carlo profiling - I've also got a script which
polls the call stack from the RDB$ tables. The procedure or statement it
f the user, remember) are ASC and some DESC?
I think we'll have to continue to think about it!
On 06/10/2015 21:50, setysvar setys...@gmail.com [firebird-support] wrote:
Den 06.10.2015 17:38, skrev Tim Ward t...@telensa.com [firebird-support]:
> Given that a query needed to return data for a p
There is I'm afraid something of a difference between "the UX we might
want" and "the UI we've got to which we're trying to add particular
features".
On 07/10/2015 10:40, 'Louis van Alphen' lo...@nucleo.co.za
[firebird-support] wrote:
I have taken the approach that it is undesirable to
Given that a query needed to return data for a page of a grid is of the form
SELECT FIRST 25 SKIP
.ID (and some other fields of human-readable data)
FROM < plus tables as needed for other fields in the
SELECT, WHERE and ORDER BY clauses>
WHERE
On 16/09/2015 07:51, brucedickin...@wp.pl [firebird-support] wrote:
I need to rebuild some records in my database. I have to choices:
1. Firstly I delete set of records and then insert new ones.
2. I update the existing ones.
What solution is preferable? Will scenerio number 1. cause more
SELECT FIRST 1 FROM MYTAB ORDER BY MYKEY1, MYKEY2;
PLAN (MYTAB ORDER PK_MYTAB)
Current memory = 3437420
Delta memory = 152
Max memory = 3586952
Elapsed time= 0.04 sec
Buffers = 150
Reads = 232
Writes 0
Fetches = 132082
There may be several thousand records in the table, but the primary key
is
Well, with all transaction numbers within a few hundred of each other
Oldest transaction391428664
Oldest active391428665
Oldest snapshot391428665
Next transaction391429145
it isn't noticeably better
Elapsed time= 0.01 sec
Buffers = 150
Reads =
Please can someone explain to me, again, why
select Max(MYCOL) from MYTAB
doesn't use the primary key
PLAN (MYTAB NATURAL)
Current memory = 3074072
Delta memory = -20
Max memory = 3217516
Elapsed time= 0.27 sec
Buffers = 150
Reads = 1811
Writes 0
On 11/06/2015 16:05, Jack Mason jackma...@mindspring.com
[firebird-support] wrote:
Thanks,
However, that won't help us. Our concern is that we have been backing
up our databases for years and it has been a fruitless exercise. We
cannot restore them.
*Any* backup procedure for *any*
How about something along the lines of:
A table that small is going to fit into a single disk page. So a table
scan involves reading one disk page.
Using the index would involve reading the index as well, which is a
second disk page, so twice as slow.
?
(Other RDBMS which have a covering
On 22/04/2015 09:26, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
Create a new column, assign/convert the values from the old column, drop
the old column, rename the new column (optional).
... and sort out, manually, however many hundreds of dependencies you
have (triggers,
On 15/04/2015 18:50, hv...@users.sourceforge.net [firebird-support] wrote:
---In firebird-support@yahoogroups.com, listas@... wrote :
Re: [firebird-support] Re: Plan question, what is a stream and what
isn't?
Note, stored procedures and triggers are prepared\optimized once when
On 14/04/2015 11:39, Tim Ward wrote:
If SET STATISTICS is done on one connection, when does it take effect?
What about a transaction that was already running at the time someone
else did SET STATISTICS, does that use the new statistics for any new
statements it runs (where all the code
If SET STATISTICS is done on one connection, when does it take effect?
What about a transaction that was already running at the time someone
else did SET STATISTICS, does that use the new statistics for any new
statements it runs (where all the code running is in stored procedures)?
What about
Yes, we are planning a migration to 2.5, but we have to do more than one
thing at a time, we can't afford to serialise all our projects! Not
least because it'll be quite a while before we get all installations
upgraded and we'll need to maintain the 2.1 installations in the meantime.
So does
On 08/04/2015 19:44, andrew_s_...@yahoo.com [firebird-support] wrote:
After more than a decade of Firebird I'm more than used to using the
+0 to get the results desired from the engine
I'm used to writing compilers, in which world it is inconceivable that a
+ 0 wouldn't get optimised
On 31/03/2015 20:00, Ann Harrison aharri...@ibphoenix.com
[firebird-support] wrote:
On Mar 30, 2015, at 7:01 AM, Tim Ward t...@telensa.com
[firebird-support] firebird-support@yahoogroups.com wrote:
Sorry about this, but I really can't work out what's going on here, and
could do with some
On 31/03/2015 20:24, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
The problem is mainly that when the connection character set is UTF8,
and the field character set is anything other than NONE or OCTETS, the
server will return the field as UTF8. The length of a field in UTF8
Sorry about this, but I really can't work out what's going on here, and
could do with some clues.
The basic problem is that I'm getting string values of columns into PHP
padded on the right to four times their correct length.
I've tried various combinations of things and got various weird
On 26/03/2015 12:35, Svein Erling Tysvær
svein.erling.tysv...@kreftregisteret.no [firebird-support] wrote:
Here, I find that
SELECT CAST(123456789.12345678 as decimal) FROM RDB$DATABASE
succeeds, whereas
SELECT CAST(123456789.123456789 as decimal) FROM RDB$DATABASE
fails. I don't know why.
On 24/03/2015 18:27, Dmitry Yemanov dim...@users.sourceforge.net
[firebird-support] wrote:
24.03.2015 18:42, Tim Ward wrote:
[#] Yes, well, there's then the question about how come you're allowed
to get a database into such an illegal state in the first place, isn't
there.
I'd say this is
gbak: ERROR:validation error for column BOXNUMBER, value *** null ***
gbak: ERROR: warning -- record could not be restored
gbak:Exiting before completion due to errors
So, at some point prior to the backup someone had added this NOT NULL
column, and hadn't gone round setting the values in the
Re (1), I somehow managed to miss that sentence - thanks.
Re (2), let me put the question another way.
Given that it's going to close the connection every time, rather than
re-use it, if I'm wanting to do this hundreds or thousands of times from
within a single stored procedure call in
Yes, I did, of course, you will see that not only do I quote the
documentation but also that my questions are on points that the
documentation doesn't answer, which is why I asked them here.
On 27/02/2015 18:57, hv...@users.sourceforge.net [firebird-support] wrote:
Read the documentation
Trying to work out whether this feature might form part of some new
design we're thinking of doing., and I can find very little discussion
of this feature so I'm wondering whether anyone much is using it and
what experience of it there is.
My main concern is performance.
Reading various
On 18/02/2015 11:05, Svein Erling Tysvær
svein.erling.tysv...@kreftregisteret.no [firebird-support] wrote:
Note that I removed your right join since your where clause logically
and practically makes it an inner join.
It might nonetheless have been deliberate - sometimes swapping between
Sorry, you must all be really bored with these, but I just can't get my
head round it.
We're looking to upgrade our (Linux) operating system, and with that is
likely to come an upgrade from 32 bit Firebird 2.1 Superserver to 64 bit
Firebird 2.5, but what architecture?
We need more performance
Why?? Why does that have to be a failure?? Why can't Firebird just
ignore it??
Is there any switch to turn off this behaviour??
(I've got some immensely complicated query generation code which, it now
appears, can occasionally include a common table expression in the query
that isn't
On 17/02/2015 09:44, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
On Tue, 17 Feb 2015 09:41:56 +, Tim Ward t...@telensa.com
[firebird-support] firebird-support@yahoogroups.com wrote:
Why?? Why does that have to be a failure?? Why can't Firebird just
ignore
You could try an outer join ... mucky in the extreme but it sometimes
forces the optimiser to look at the sane table first ... (yes I know one
shouldn't have to do that sort of thing).
On 03/02/2015 12:17, Fulvio Senore mail...@fsoft.it [firebird-support]
wrote:
I have a database
On 29/01/2015 12:29, 'checkmail' check_m...@satron.de [firebird-support]
wrote:
Is there a simpler statement possible than my stored procedure (recursive)
Oooh, it's the transitive closure of sparse connectivity matrix
problem again. (With, in this case, the arcs of the directed graph being
On 26/01/2015 09:53, masb...@za-management.com [firebird-support] wrote:
Hi Dimitry,
thank you for your response.
I think in my case I can replace the outer join with an inner join,
because it is the same sp with the same query parameters I am calling
twice.
Are there any future plans to
On 20/01/2015 19:49, Eduardo guse...@gmail.com [firebird-support] wrote:
Hello:
Yesterday I sent an e-mail to the list but I didn´t receive it. I
received other mails from the list but didn´t receive my own message.
The list works like that. Really clever - not! - as it means your
On 18/01/2015 17:43, Craig Cox craig_...@coxcolvin.com
[firebird-support] wrote:
Thanks to everyone for your thoughts. I understand that this is
really not the forum for such a discussion and I appreciate everyone’s
advice. I failed to note an important detail in my original
discussion.
On 15/01/2015 19:19, Hugo Eyng hugoe...@msn.com [firebird-support] wrote:
Hello.
I will develop an App for Android and I want to conect FB running on
windows.
Did somebody tried doing this? Some hint, article or information about
how can I implement that? Driver?
Agree with the other
On 13/12/2014 09:14, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
On 12-12-2014 15:38, Tim Ward t...@telensa.com [firebird-support] wrote:
On 12/12/2014 14:15, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
What is the default character set of your database
I've got a column defined as
MODACTION D_MODACTION ,
where the domain is defined as
CREATE DOMAIN D_MODACTION AS
CHAR(1) CHARACTER SET ASCII
NOT NULL
CHECK (VALUE IN ( 'A', 'U', 'D', 'M', 'S' ))
COLLATE ASCII;
I've got a record which appears to have 'A' in this field.
On 12/12/2014 14:15, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
What is the default character set of your database (if I had to guess it
is UTF8), and what is your connection character set (if I had to guess
it's
NONE or not specified)?
Database charset is UTF8.
Anyone done any of this?
Testing a stored procedure involves
- set up test data
- run the procedure
- check and report on results
- any clean up needed (remove or restore output data, reset generators,
ect ect)
and setting this all up is somewhat non-trivial, but then so is manually
checking
On 25/11/2014 13:29, sirhamac...@gmail.com [firebird-support] wrote:
select
iif('em...@testdomain.com' similar to
'([_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)','ok','fail')
from rdb$database
Says 'invalid string' and 'invalid pattern', but the pattern it´s the
same in
SELECT CASE_NUMBER, COUNT(*) FROM ACCT_CASE_COURT GROUP BY CASE_NUMBER
That what you want? (The sorting comes for free.)
On 28/10/2014 12:13, 'Softtech Support' stwiz...@att.net
[firebird-support] wrote:
Greetings All,
Firebird 1.5.3
Should be elementary but, I'm drawing a blank on how to
Means exactly what it says. You don't have TRANS_DATE and TRANSTIME in
either the GROUP BY or in an aggregate function.
As the query can process many records with different values for these
columns what do you expect the query to return?
On 25/09/2014 14:38, 'Andrew Gable'
I've got a query like:
SELECT ... FROM TBL WHERE COALESCE( FIELD1, FIELD2 ) = 12345
where FIELD2 is the primary key and FIELD1 also has an index (in fact
it's a foreign key back to FIELD2). This results in a table scan.
However expanding the COALESCE by hand:
SELECT ... FROM TBL WHERE (
You want to be looking around your external CSV file being an external
table - that's the only way to write to files from stored procedures
AFAIK, so, no matter how convoluted the code ends up, that's probably
the approach you'll have to take.
(Unless there's new stuff in 2.5 I don't know
On 25/07/2014 06:46, brucedickin...@wp.pl [firebird-support] wrote:
Hi,
1. I've deleted 50 records from TABLE A. I've commited transaction.
2. I made SELECT * FROM TABLE A. Transaction was starting for a very
long time.
I just wanted to make sure that there is no way to prevent this
On 18/07/2014 13:31, Mark Rotteveel m...@lawinegevaar.nl
[firebird-support] wrote:
That would give an entirely different error. The database file either
doesn't exist, or the user account running the Firebird service does not
have access to this folder.
Yes, I've noticed that on Linux - you
Beckmann thomas.beckm...@assfinet.de
[firebird-support] wrote:
userClause is probably null. Then the entire string will be null.
Am 25.06.2014 16:08, schrieb Tim Ward t...@telensa.com [firebird-support]:
Anyone know what this error message actually means?
Yes I am trying to run
Anyone know what this error message actually means?
Yes I am trying to run an EXECUTE STATEMENT, but it's not clear to me
what an argument means in this context, or what it is that something
is trying to convert to a string, or why it's trying to do so, or why it
can't be done.
On 23/06/2014 13:12, Dmitry Yemanov dim...@users.sourceforge.net
[firebird-support] wrote:
23.06.2014 14:48, Tim Ward t...@telensa.com [firebird-support] wrote:
I've got an INSERT statement like:
INSERT INTO table( list of columns )
SELECT list of columns
FROM table whose name
Hi,
I see that this has been discussed before, but the only discussions I
could find were in Russian and I was not able to understand them.
I've got an INSERT statement like:
INSERT INTO table( list of columns )
SELECT list of columns
FROM table whose name is not known until run
Thanks - the procedure does actually compile if I do that, which is a
good indication! (I can't actually try running it just yet.)
On 23/06/2014 13:12, Dmitry Yemanov dim...@users.sourceforge.net
[firebird-support] wrote:
23.06.2014 14:48, Tim Ward t...@telensa.com [firebird-support] wrote
On 27/05/2014 16:17, jakef...@yahoo.com [firebird-support] wrote:
In general, does it make a difference whether the filter conditions
are in the JOIN or WHERE clause?
In particular, if there are outer joins you can get different results.
--
Tim Ward
90 matches
Mail list logo