Skip to content

Commit

Permalink
finished implementing support for SQLite
Browse files Browse the repository at this point in the history
  • Loading branch information
barthisrael committed Nov 9, 2020
1 parent e67c184 commit 05d5007
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 216 deletions.
90 changes: 45 additions & 45 deletions OmniDB/OmniDB_app/include/OmniDatabase/SQLite.py
Original file line number Diff line number Diff line change
Expand Up @@ -508,8 +508,6 @@ def QueryTablesIndexes(self, p_table=None):
''', True)

for v_table in v_tables.Rows:
v_index_count = -1

v_indexes = self.v_connection.Query('''
PRAGMA index_list('{0}')
'''.format(
Expand All @@ -518,10 +516,8 @@ def QueryTablesIndexes(self, p_table=None):

for v_index in v_indexes.Rows:
if v_index['origin'] == 'c':
v_index_count += 1

v_indexes_all.AddRow([
'idx_{0}'.format(v_index_count),
v_index['name'],
v_table['name'],
'Unique' if v_index['unique'] == '1' else 'Non Unique'
])
Expand Down Expand Up @@ -553,8 +549,6 @@ def QueryTablesIndexesColumns(self, p_index, p_table=None):
''', True)

for v_table in v_tables.Rows:
v_index_count = -1

v_indexes = self.v_connection.Query('''
PRAGMA index_list('{0}')
'''.format(
Expand All @@ -563,9 +557,7 @@ def QueryTablesIndexesColumns(self, p_index, p_table=None):

for v_index in v_indexes.Rows:
if v_index['origin'] == 'c':
v_index_count += 1

if ('idx_{0}'.format(v_index_count)) == p_index:
if v_index['name'] == p_index:
v_index_columns = self.v_connection.Query('''
PRAGMA index_info('{0}')
'''.format(
Expand All @@ -574,7 +566,7 @@ def QueryTablesIndexesColumns(self, p_index, p_table=None):

for v_index_column in v_index_columns.Rows:
v_indexes_all.AddRow([
'idx_{0}'.format(v_index_count),
v_index['name'],
v_index_column['name'],
v_table['name']
])
Expand Down Expand Up @@ -835,13 +827,16 @@ def QueryTableRecords(self, p_column_list, p_table, p_filter, p_count=-1):
)

def TemplateCreateView(self):
return Template('')

def TemplateAlterView(self):
return Template('')
return Template('''CREATE
--TEMPORARY
VIEW view_name
--( column_definition, ... )
AS
--SELECT...
''')

def TemplateDropView(self):
return Template('')
return Template('DROP VIEW #view_name#')

def TemplateCreateTable(self):
return Template('''CREATE
Expand Down Expand Up @@ -870,47 +865,52 @@ def TemplateDropTable(self):
return Template('DROP TABLE #table_name#')

def TemplateCreateColumn(self):
return Template('')

def TemplateAlterColumn(self):
return Template('')

def TemplateDropColumn(self):
return Template('')

def TemplateCreatePrimaryKey(self):
return Template('')

def TemplateDropPrimaryKey(self):
return Template('')

def TemplateCreateUnique(self):
return Template('')

def TemplateDropUnique(self):
return Template('')

def TemplateCreateForeignKey(self):
return Template('')

def TemplateDropForeignKey(self):
return Template('')
return Template('''ALTER TABLE #table_name#
ADD COLUMN columnd_definition
''')

def TemplateCreateIndex(self):
return Template('')
return Template('''CREATE
--UNIQUE
INDEX index_name ON #table_name# ( column_name, ... )
--WHERE expression
''')

def TemplateAlterIndex(self):
return Template('')
def TemplateReindex(self):
return Template('REINDEX #index_name#')

def TemplateDropIndex(self):
return Template('')
return Template('DROP INDEX #index_name#')

def TemplateDelete(self):
return Template('''DELETE FROM
#table_name#
WHERE condition
''')

def TemplateCreateTrigger(self):
return Template('''CREATE
--TEMPORARY
TRIGGER trigger_name
--BEFORE
--AFTER
--INSTEAD OF
--DELETE
--INSERT
--UPDATE
--OF column_name
ON #table_name#
--FOR EACH ROW
WHEN expression
BEGIN
statement
;
END
''')

def TemplateDropTrigger(self):
return Template('DROP TRIGGER #trigger_name#')

def GetAutocompleteValues(self, p_columns, p_filter):
return None

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -191,37 +191,7 @@ function getTreeSqlite(p_div) {
}]
},
'cm_column': {
elements: [{
text: 'Alter Column',
icon: 'fas cm-all fa-edit',
action: function(node) {
tabSQLTemplate(
'Alter Column',
node.tree.tag.alter_column.replace(
'#table_name#',
node.parent.parent.text
).replace(
/#column_name#/g,
node.text
)
);
}
}, {
text: 'Drop Column',
icon: 'fas cm-all fa-times',
action: function(node) {
tabSQLTemplate(
'Drop Column',
node.tree.tag.drop_column.replace(
'#table_name#',
node.parent.parent.text
).replace(
/#column_name#/g,
node.text
)
);
}
}]
elements: []
},
'cm_pks': {
elements: [{
Expand All @@ -236,18 +206,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Create Primary Key',
icon: 'fas cm-all fa-edit',
action: function(node) {
tabSQLTemplate(
'Create Primary Key',
node.tree.tag.create_primarykey.replace(
'#table_name#',
node.parent.text
)
);
}
}]
},
'cm_pk': {
Expand All @@ -263,21 +221,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Drop Primary Key',
icon: 'fas cm-all fa-times',
action: function(node) {
tabSQLTemplate(
'Drop Primary Key',
node.tree.tag.drop_primarykey.replace(
'#table_name#',
node.parent.parent.text
).replace(
'#constraint_name#',
node.text
)
);
}
}]
},
'cm_fks': {
Expand All @@ -293,18 +236,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Create Foreign Key',
icon: 'fas cm-all fa-edit',
action: function(node) {
tabSQLTemplate(
'Create Foreign Key',
node.tree.tag.create_foreignkey.replace(
'#table_name#',
node.parent.text
)
);
}
}]
},
'cm_fk': {
Expand All @@ -320,20 +251,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Drop Foreign Key',
icon: 'fas cm-all fa-times',
action: function(node) {
tabSQLTemplate(
'Drop Foreign Key', node.tree.tag.drop_foreignkey.replace(
'#table_name#',
node.parent.parent.text
).replace(
'#constraint_name#',
node.text
)
);
}
}]
},
'cm_uniques': {
Expand All @@ -349,18 +266,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Create Unique',
icon: 'fas cm-all fa-edit',
action: function(node) {
tabSQLTemplate(
'Create Unique',
node.tree.tag.create_unique.replace(
'#table_name#',
node.parent.text
)
);
}
}]
},
'cm_unique': {
Expand All @@ -376,21 +281,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Drop Unique',
icon: 'fas cm-all fa-times',
action: function(node) {
tabSQLTemplate(
'Drop Unique',
node.tree.tag.drop_unique.replace(
'#table_name#',
node.parent.parent.text
).replace(
'#constraint_name#',
node.text
)
);
}
}]
},
'cm_indexes': {
Expand Down Expand Up @@ -443,24 +333,6 @@ function getTreeSqlite(p_div) {
node.expandNode();
}
}
}, {
text: 'Alter Index',
icon: 'fas cm-all fa-edit',
action: function(node) {
tabSQLTemplate(
'Alter Index',
node.tree.tag.alter_index.replace(
'#index_name#',
node.text.replace(
' (Unique)',
''
).replace(
' (Non Unique)',
''
)
)
);
}
}, {
text: 'Reindex',
icon: 'fas cm-all fa-edit',
Expand Down Expand Up @@ -624,28 +496,6 @@ function getTreeSqlite(p_div) {
'v'
);
}
}, {
text: 'Edit View',
icon: 'fas cm-all fa-edit',
action: function(node) {
v_connTabControl.tag.createQueryTab(
node.text
);

getViewDefinitionSqlite(node);
}
}, {
text: 'Alter View',
icon: 'fas cm-all fa-edit',
action: function(node) {
tabSQLTemplate(
'Alter View',
node.tree.tag.alter_view.replace(
/#view_name#/g,
node.text
)
);
}
}, {
text: 'Drop View',
icon: 'fas cm-all fa-times',
Expand Down Expand Up @@ -890,25 +740,19 @@ function getTreeDetailsSqlite(node) {
node.tree.tag = {
version: p_return.v_data.v_database_return.version,
create_view: p_return.v_data.v_database_return.create_view,
alter_view: p_return.v_data.v_database_return.alter_view,
drop_view: p_return.v_data.v_database_return.drop_view,
create_table: p_return.v_data.v_database_return.create_table,
alter_table: p_return.v_data.v_database_return.alter_table,
drop_table: p_return.v_data.v_database_return.drop_table,
create_column: p_return.v_data.v_database_return.create_column,
alter_column: p_return.v_data.v_database_return.alter_column,
drop_column: p_return.v_data.v_database_return.drop_column,
create_primarykey: p_return.v_data.v_database_return.create_primarykey,
drop_primarykey: p_return.v_data.v_database_return.drop_primarykey,
create_unique: p_return.v_data.v_database_return.create_unique,
drop_unique: p_return.v_data.v_database_return.drop_unique,
create_foreignkey: p_return.v_data.v_database_return.create_foreignkey,
drop_foreignkey: p_return.v_data.v_database_return.drop_foreignkey,
create_index: p_return.v_data.v_database_return.create_index,
alter_index: p_return.v_data.v_database_return.alter_index,
reindex: p_return.v_data.v_database_return.reindex,
drop_index: p_return.v_data.v_database_return.drop_index,
delete: p_return.v_data.v_database_return.delete
delete: p_return.v_data.v_database_return.delete,
create_trigger: p_return.v_data.v_database_return.create_trigger,
drop_trigger: p_return.v_data.v_database_return.drop_trigger
}

var node_tables = node.createChildNode(
Expand Down
Loading

0 comments on commit 05d5007

Please sign in to comment.