Subject | RE: [firebird-support] cant save to a database on a linux centos server. |
---|---|
Author | Svein Erling Tysvær |
Post date | 2007-10-15T07:53:42Z |
Hi Rick!
There could be at least two reasons for what you observe.
First, Firebird doesn't add to the end of any file every time you store a record. When you tell it to store a record, it sees if it has any free space available, and if not it asks the operating system for some more space. And if you delete records, no space is given back to the operating system (even if you delete millions of records or ten thousand tables) - Firebird reuse the space some time later when you insert or update. Hence, looking at the file size is futile - it doesn't say anything about changes to your database (well, unless you insert a lot of records. If there's never been more than 100 records in your only table in the database and you insert 1000000, I would expect the file size to increase). To see whether something is in the database or not, you have to do something like 'SELECT <whatever> FROM <wherever> WHERE <criteria to find the record(s)>'.
Secondly, you don't mention transactions. Virtually everything you do in Firebird, you do within a transaction. What you do within your transaction, will normally become visible to other transactions only when you COMMIT the transaction (even then, it is not necessarily visible to transactions that was started before the commit). A transaction is finished either by doing COMMIT or ROLLBACK. It is possible that you insert/update records and then those changes are rolled back due to you not committing. If so, you won't find any changes after the transaction finishes.
HTH,
Set
-----Original Message-----
From: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com] On Behalf Of ricksaul59
Sent: 14. oktober 2007 10:48
To: firebird-support@yahoogroups.com
Subject: [firebird-support] cant save to a database on a linux centos server.
Hi, I am new to firebird and have set up a database acsaa for use in
aged care accreditation according to instructions. I have set up the
server on a linux centos box and all works well except that none of my
changes to the database are saved. I have checked file/folder
permissions and ownership and all seems ok. The last write date time
on the datebase changes as I use it but the size never changes.. Any
help appreciated.
There could be at least two reasons for what you observe.
First, Firebird doesn't add to the end of any file every time you store a record. When you tell it to store a record, it sees if it has any free space available, and if not it asks the operating system for some more space. And if you delete records, no space is given back to the operating system (even if you delete millions of records or ten thousand tables) - Firebird reuse the space some time later when you insert or update. Hence, looking at the file size is futile - it doesn't say anything about changes to your database (well, unless you insert a lot of records. If there's never been more than 100 records in your only table in the database and you insert 1000000, I would expect the file size to increase). To see whether something is in the database or not, you have to do something like 'SELECT <whatever> FROM <wherever> WHERE <criteria to find the record(s)>'.
Secondly, you don't mention transactions. Virtually everything you do in Firebird, you do within a transaction. What you do within your transaction, will normally become visible to other transactions only when you COMMIT the transaction (even then, it is not necessarily visible to transactions that was started before the commit). A transaction is finished either by doing COMMIT or ROLLBACK. It is possible that you insert/update records and then those changes are rolled back due to you not committing. If so, you won't find any changes after the transaction finishes.
HTH,
Set
-----Original Message-----
From: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com] On Behalf Of ricksaul59
Sent: 14. oktober 2007 10:48
To: firebird-support@yahoogroups.com
Subject: [firebird-support] cant save to a database on a linux centos server.
Hi, I am new to firebird and have set up a database acsaa for use in
aged care accreditation according to instructions. I have set up the
server on a linux centos box and all works well except that none of my
changes to the database are saved. I have checked file/folder
permissions and ownership and all seems ok. The last write date time
on the datebase changes as I use it but the size never changes.. Any
help appreciated.