you would probably be better off using C++ to handle everything, less
chances of forgetting to close something.

do not build your own classes, use existing one!

2017-04-14 10:44 GMT-04:00 Igor Korot <ikoro...@gmail.com>:

> Keith,
>
> On Fri, Apr 14, 2017 at 10:37 AM, Keith Medcalf <kmedc...@dessus.com>
> wrote:
> >
> > To further clarify, the result of doing multiple sqlite3_open calls and
> saving the results to the save db handle is the same as doing
> >
> > fh = fopen(...)
> > fh = fopen(...)
> > fh = fopen(...)
> >
> > You have opened multiple files but are only keeping track of 1.  So
> although three files are opened fclose(fh) will only close the last one,
> and the first two are still open, you just discarded your reference to them
> and they are inaccessible to you.
> >
> > If you do this sort of thing a lot then you program will eventually
> crash when it fills up with unreferenced (leaked) memory objects that you
> forgot (and have overwritten the handle) to close.
>
> Thank you for clarifying.
> It means that the call to sqlite3_open() does not close previously
> opened database and I have to explicitly close it
> with sqlite3_close().
>
> I was just couldn't find it anywhere in the docs. Probably missed it.
>
> >
> > --
> > ˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı
> >
> >
> >> -----Original Message-----
> >> From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org
> ]
> >> On Behalf Of Keith Medcalf
> >> Sent: Friday, 14 April, 2017 08:32
> >> To: SQLite mailing list
> >> Subject: Re: [sqlite] Create database
> >>
> >>
> >> No, a new database will be opened and you will be given an sqlite3* to
> it.
> >>
> >> Just like the fopen() call can be used to open multiple files,
> >> sqlite3_open* opens a database.  The way to close an sqlite3* (handle to
> >> a) database is to use sqlite3_close specifying the database you want to
> >> close.
> >>
> >> --
> >> ˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı
> >>
> >>
> >> > -----Original Message-----
> >> > From: sqlite-users [mailto:sqlite-users-bounces@
> mailinglists.sqlite.org]
> >> > On Behalf Of Igor Korot
> >> > Sent: Friday, 14 April, 2017 08:26
> >> > To: Discussion of SQLite Database; General Discussion of SQLite
> Database
> >> > Subject: [sqlite] Create database
> >> >
> >> >  Hi,
> >> > If I have a database open with sqlite3_open() and then want to issue
> >> > another sqlite3_open(),
> >> > the old database will be closed and the new one will open?
> >> > Or I have to explicitly call sqlite3_close()?
> >> >
> >> > Thank you.
> >> > _______________________________________________
> >> > sqlite-users mailing list
> >> > sqlite-users@mailinglists.sqlite.org
> >> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >>
> >>
> >>
> >> _______________________________________________
> >> sqlite-users mailing list
> >> sqlite-users@mailinglists.sqlite.org
> >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >
> >
> >
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@mailinglists.sqlite.org
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>



-- 
Daniel
*L'action accède à la perfection quand, bien que vivant, vous êtes déjà
mort*
*Bunan*
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to