Hello,

I have tried to create an in memory database according to the
documentation on this link
https://www.sqlite.org/inmemorydb.html

The documentation lists: (C code)

rc = sqlite3_open("file:memdb1?mode=memory&cache=shared", &db);

It creates a file on disk.... this is not supposed to happen.

I compiled with version 3.8.11 , i checked (see c-code below) that i
used the correct include file and library

I also checked via /proc/[processid]/ if it was loading the correct
version of the library (3.8.11), this all was correct

below is the 33 line code I used , again, a file is created on disk,
this shoudnt happen.

Regards
Jacob Bogers


CODE START:
=============
#include <stdio.h>
#include <sqlite3.h>

#include <sys/types.h>
#include <unistd.h>

int main(int argc, char ** argv )
{

    sqlite3 *db;

    int rc = sqlite3_open("file:memdb?mode=memory&cache=shared" , &db);

    printf("libversion macro is:[%s]\n", SQLITE_VERSION );
    printf("libversion is:[%s]\n", sqlite3_libversion() );

    printf("return code:%d\n", rc);

    pid_t pid = getpid();

    printf("process id:%ld", (long) pid);

    getchar();

    sqlite3_close(db);



    return 0;

}
===========
CODE END:
===========

Reply via email to