aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/db/dbsqlite3.cpp
blob: 296b7d102773caf368663f4583628f82d2603620 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "dbsqlite3.h"

DbSqlite3::DbSqlite3(const QString& name, const QString& path, const QHash<QString, QVariant>& connOptions) :
    AbstractDb3(name, path, connOptions)
{
}

DbSqlite3::DbSqlite3(const QString& name, const QString& path) :
    DbSqlite3(name, path, QHash<QString,QVariant>())
{
}

bool DbSqlite3::complete(const QString& sql)
{
    return Sqlite3::complete(sql.toUtf8().constData());
}

bool DbSqlite3::isDbFile(const QString &path)
{
    QFile file(path);
    if (!file.open(QIODevice::ReadOnly)) {
        return false;
    }

    QByteArray data = file.read(16);
    file.close();
    if (data.size() < 16)
        return false;

    return data == QByteArrayLiteral("SQLite format 3\000");
}

Db* DbSqlite3::clone() const
{
    return new DbSqlite3(name, path, connOptions);
}

QString DbSqlite3::getTypeClassName() const
{
    return "DbSqlite3";
}