umbrello 2.39.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
sqlimport.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2015 Ralf Habacker <ralf.habacker@freenet.de>
3
4 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5*/
6
7#ifndef SQLIMPORT_H
8#define SQLIMPORT_H
9
10#include "nativeimportbase.h"
11
12class UMLEntity;
13class UMLObject;
14
23public:
24 explicit SQLImport(CodeImpThread *thread = nullptr);
25 virtual ~SQLImport();
26
27 bool parseStmt();
28
29protected:
31 public:
33 : primaryKey(false),
34 uniqueKey(false),
35 notNullConstraint(false),
36 autoIncrement(false)
37 {
38 }
39
44 QString collate;
45 QString defaultValue;
47 QString characterSet;
48 };
49
51 public:
53 : primaryKey(false),
54 uniqueKeys(false),
55 notNullConstraint(false),
56 autoIncrement(false),
57 checkConstraint(false)
58 {
59 }
60
67 QStringList primaryKeyFields;
69 QStringList uniqueKeysFields;
70 QString collate;
71 QString defaultValue;
73 };
74
75 virtual QString advance();
76
77 void fillSource(const QString &word);
78 bool parseCreateTable(QString &token);
79 bool parseAlterTable(QString &token);
80 QString parseIdentifier(QString &token);
81 QString parseDefaultExpression(QString &token);
82 QStringList parseFieldType(QString &token);
83 QStringList parseIdentifierList(QString &token);
86 bool parseCreateDefinition(QString &token, UMLEntity *entity);
87 UMLObject *addDatatype(const QStringList &type);
88 bool addPrimaryKey(UMLEntity *entity, const QString &name, const QStringList &fields);
89 bool addUniqueConstraint(UMLEntity *entity, const QString &name, const QStringList &fields);
90 bool addForeignConstraint(UMLEntity *entityA, const QString &name, const QStringList &fieldNames,
91 const QString &referencedTable, const QStringList &referencedFields);
92};
93
94#endif
95
Definition codeimpthread.h:22
Base class for native implementations of language import.
Definition nativeimportbase.h:40
Definition sqlimport.h:30
bool autoIncrement
Definition sqlimport.h:43
QString constraintName
Definition sqlimport.h:46
bool primaryKey
Definition sqlimport.h:40
bool notNullConstraint
Definition sqlimport.h:42
QString defaultValue
Definition sqlimport.h:45
ColumnConstraints()
Definition sqlimport.h:32
bool uniqueKey
Definition sqlimport.h:41
QString characterSet
Definition sqlimport.h:47
QString collate
Definition sqlimport.h:44
Definition sqlimport.h:50
bool primaryKey
Definition sqlimport.h:61
bool autoIncrement
Definition sqlimport.h:64
QStringList primaryKeyFields
Definition sqlimport.h:67
TableConstraints()
Definition sqlimport.h:52
QString collate
Definition sqlimport.h:70
bool notNullConstraint
Definition sqlimport.h:63
QString uniqueKeyName
Definition sqlimport.h:68
bool checkConstraint
Definition sqlimport.h:65
bool uniqueKeys
Definition sqlimport.h:62
QString defaultValue
Definition sqlimport.h:71
QString checkExpression
Definition sqlimport.h:66
QString constraintName
Definition sqlimport.h:72
QStringList uniqueKeysFields
Definition sqlimport.h:69
Definition sqlimport.h:22
bool parseCreateDefinition(QString &token, UMLEntity *entity)
Definition sqlimport.cpp:531
QStringList parseIdentifierList(QString &token)
Definition sqlimport.cpp:132
bool parseCreateTable(QString &token)
Definition sqlimport.cpp:652
virtual ~SQLImport()
Definition sqlimport.cpp:52
SQLImport(CodeImpThread *thread=nullptr)
Definition sqlimport.cpp:44
QString parseDefaultExpression(QString &token)
Definition sqlimport.cpp:230
QString parseIdentifier(QString &token)
Definition sqlimport.cpp:102
virtual QString advance()
Definition sqlimport.cpp:841
void fillSource(const QString &word)
Definition sqlimport.cpp:59
bool addForeignConstraint(UMLEntity *entityA, const QString &name, const QStringList &fieldNames, const QString &referencedTable, const QStringList &referencedFields)
Definition sqlimport.cpp:955
ColumnConstraints parseColumnConstraints(QString &token)
Definition sqlimport.cpp:290
TableConstraints parseTableConstraints(QString &token)
Definition sqlimport.cpp:471
bool parseAlterTable(QString &token)
Definition sqlimport.cpp:699
QStringList parseFieldType(QString &token)
Definition sqlimport.cpp:158
bool addPrimaryKey(UMLEntity *entity, const QString &name, const QStringList &fields)
Definition sqlimport.cpp:871
bool addUniqueConstraint(UMLEntity *entity, const QString &name, const QStringList &fields)
Definition sqlimport.cpp:915
bool parseStmt()
Definition sqlimport.cpp:785
UMLObject * addDatatype(const QStringList &type)
Definition sqlimport.cpp:848
Non-graphical Information for an Entity.
Definition entity.h:30
The base class for UML objects.
Definition umlobject.h:70