javascript - Parse SQLite ALTER, CREATE & UPDATE -


my project involves running ad hoc sql statements against sqlite database. i'm looking javascript regex expression parse out alter, create , update sql statements. here's examples , results i'm looking for.

create index

create index christy... create index if not exists christy... create unique index christy... create unique index if not exists christy... 

result

a = [..."create", "index", "christy"] 

create table without table constraint

create table vicky (id integer primary key autoincrement,name text,score real default .10 check (weight<=1)); create table if not exists vicky (id integer primary key autoincrement,name text,score real default .10 check (weight<=1)); 

result

a = [..."create", "table", "vicky", "id integer primary key autoincrement","name text","score real default .10 check (weight<=1)"] 

create table table constraint

create table vicky (id integer primary key autoincrement,name text,score real default .10 check (weight<=1)),primary key (id, name)); create table if not exists vicky (id integer primary key autoincrement,name text,score real default .10 check (weight<=1)),primary key (id, name)); 

result

a = [..."create", "table", "vicky", "id integer primary key autoincrement","name text","score real default .10 check (weight<=1)","primary key (id, name))"] 

create trigger

create trigger arwen... create trigger if not exists arwen... 

result

a = [..."create", "trigger", "arwen"] 

create view

create view snow... create view if not exists snow... 

result

a = [..."create", "view", "snow"] 

alter table

alter table vicky... 

result

a = [..."alter", "table", "vicky"] 

update table

update vicky... update or rollback vicky... update or abort vicky... update or replace vicky... update or fail vicky... update or ignore vicky... 

result

a = [..."update", "table", "vicky"]  


here's links sqlite's docs these sql statements.

alter table
create index
create table
create trigger
create view
update

thanks,
headdatazombie

are trying parse them validate accuracy? validity? security?

parsing sql isn't easy, , doubt you'll able in regex many patterns. perhaps this link might help. see previous question parsing-sql-create-table-statement-using-jquery , notice mention of trimquery, might js implementation.

if you're trying log activities these modification (create/alter/update) statements running, perhaps creating triggers insert logging table might suffice.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -