@@ -1325,7 +1325,7 @@ function jSQLParseQuery(query){
13251325 return jSQLParseDeleteTokens ( tokens ) ;
13261326 break ;
13271327 case "DROP TABLE" :
1328-
1328+ return jSQLParseDropTokens ( tokens ) ;
13291329 break ;
13301330 }
13311331
@@ -1616,6 +1616,12 @@ function jSQLParseDeleteTokens(tokens){
16161616 return query ;
16171617}
16181618
1619+ function jSQLParseDropTokens ( tokens ) {
1620+ var token = tokens . shift ( ) ;
1621+ var table_name = jSQLParseQuery . validateTableNameToken ( token ) ;
1622+ return jSQL . dropTable ( table_name ) ;
1623+ }
1624+
16191625function jSQLParseWhereClause ( query , tokens , table_name ) {
16201626 var orderColumns = [ ] ;
16211627 while ( tokens . length ) {
@@ -2676,66 +2682,10 @@ function jSQLReset(){
26762682}
26772683
26782684function jSQLMinifier ( sql ) {
2679- var cleanSQL = "" ;
2680- var lines = sql . split ( "\n" ) ;
2681- var inQuote = false ;
2682- var quoteType = "" ;
2683- var quotes = [ "'" , "`" , '"' ] ;
2684- var inMultiLineComment = false ;
2685- for ( var i = 0 ; i < lines . length ; i ++ ) {
2686- for ( var n = 0 ; n < lines [ i ] . length ; n ++ ) {
2687- var char = lines [ i ] [ n ] ;
2688- if ( ! inQuote && quotes . indexOf ( char ) > - 1 ) {
2689- inQuote = true ;
2690- quoteType = char ;
2691- cleanSQL += char ;
2692- continue ;
2693- } else if ( inQuote && quoteType === char ) {
2694- inQuote = false ;
2695- quoteType = "" ;
2696- cleanSQL += char ;
2697- continue ;
2698- } else if ( inQuote ) {
2699- cleanSQL += char ;
2700- continue ;
2701- }
2702- // not in a quote
2703- var isCommentStart =
2704- char === "/" &&
2705- lines [ i ] . length > n &&
2706- lines [ i ] [ n + 1 ] == "*"
2707- var isCommentEnd =
2708- char === "*" &&
2709- lines [ i ] . length > n &&
2710- lines [ i ] [ n + 1 ] == "/"
2711- if ( ! inMultiLineComment && isCommentStart ) {
2712- inMultiLineComment = true ;
2713- continue ;
2714- } else if ( isCommentEnd && inMultiLineComment ) {
2715- n ++ ;
2716- inMultiLineComment = false ;
2717- continue ;
2718- }
2719- if ( inMultiLineComment )
2720- continue ;
2721- // not in multiline comment
2722- var isSLCommentStart =
2723- char === "#" ||
2724- ( char === "-" &&
2725- lines [ i ] . length > n &&
2726- lines [ i ] [ n + 1 ] == "-" ) ;
2727- if ( isSLCommentStart )
2728- break ;
2729- else
2730- cleanSQL += char ;
2731- }
2732- cleanSQL += "\n" ;
2733- }
2734- return cleanSQL
2735- . replace ( / \t / g, ' ' )
2736- . replace ( / ( \r \n | \n | \r ) / gm, " " )
2737- . replace ( / + (? = ) / g, '' )
2738- . trim ( ) ;
2685+ var tokens = new jSQLLexer ( sql ) . getTokens ( ) ;
2686+ var minified_sql = [ ] ;
2687+ for ( var i = 0 ; i < tokens . length ; i ++ ) minified_sql . push ( tokens [ i ] . literal ) ;
2688+ return minified_sql . join ( ' ' ) ;
27392689}
27402690
27412691function removeQuotes ( str ) {
0 commit comments