On Thu, May 17, 2012 at 08:58:39PM +0530, Rajesh Kumar scratched on the wall:
> Hi Richard,
>
> Thanks for the reply. fsync() is related to system call, which is
> working fine.
I believe you're missing Richard's point. I'm sure fsync() is
returning a success error code. That doesn't mean it is working
correctly. fsync() is a hardware call that dives deep, deep into the
OS, hardware, and even storage sub-system of your device. All of
those items need to function correctly for the return code of fsync()
to actually mean anything.
As the URL provided points out, many commercial hard drives and
storage systems, designed for desktops and server systems, get this
wrong-- or flat out lie about it. If the hardware lies about what's
going on, there is nothing the OS-- or SQLite-- can do about it. Nor
is there anything an additional API call is going to fix.
I wouldn't be all that shocked to find out an embedded system has an
fsync() call that looks like this:
int fsync( int fd ) { return 0; }
> But I am looking for a C API that can do the commit thing,
> which is same as commit on command promt.
There isn't one. But even if there was, it wouldn't work any
differently, or any better. It wouldn't fix the corruption issues
you're seeing.
-j
> On Thu, May 17, 2012 at 8:52 PM, Richard Hipp <[email protected]> wrote:
>
> > On Thu, May 17, 2012 at 11:18 AM, Rajesh Kumar <[email protected]>
> > wrote:
> >
> > > Hi all,
> > >
> > > Am using sqlite database on my ARM processor based Embedded system .
> > > Whenever power failures or due to uneven shutdown of device, my database
> > > is being corrupted which leading to data lost.
> >
> >
> > That should never happen. It suggests that fsync() is not working on your
> > OS. Further information: http://www.sqlite.org/atomiccommit.html and
> > http://www.sqlite.org/howtocorrupt.html
> >
> >
> >
> > > Am using C API interface for
> > > accessing database. Is there any C API that I can use to commit my DB
> > > manually. I know sqlite has own auto commit mechanism but it's not
> > working
> > > for me.
> > >
> > > Thanks in advance.
> > >
> > > --
> > > *
> > > Thanks & Regards,
> > > Rajesh Kumar P
> > > *
> > > _______________________________________________
> > > sqlite-users mailing list
> > > [email protected]
> > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> > >
> >
> >
> >
> > --
> > D. Richard Hipp
> > [email protected]
> > _______________________________________________
> > sqlite-users mailing list
> > [email protected]
> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> >
>
>
>
> --
> *
> Thanks & Regards,
> Rajesh Kumar P
> *
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
--
Jay A. Kreibich < J A Y @ K R E I B I.C H >
"Intelligence is like underwear: it is important that you have it,
but showing it to the wrong people has the tendency to make them
feel uncomfortable." -- Angela Johnson
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users