First keyword was DROP
()
| 813 | |
| 814 | // First keyword was DROP |
| 815 | func (m *Sqlbridge) parseDrop() (*SqlDrop, error) { |
| 816 | |
| 817 | req := NewSqlDrop() |
| 818 | m.Next() // Consume DROP token |
| 819 | req.Raw = m.l.RawInput() |
| 820 | |
| 821 | // DROP TEMPORARY TABLE x |
| 822 | if m.Cur().T == lex.TokenTemp { |
| 823 | m.Next() |
| 824 | req.Temp = true |
| 825 | } |
| 826 | |
| 827 | // DROP (TABLE|VIEW|SOURCE|CONTINUOUSVIEW) <identity> |
| 828 | switch m.Cur().T { |
| 829 | case lex.TokenTable, lex.TokenView, lex.TokenSource, lex.TokenContinuousView, |
| 830 | lex.TokenSchema, lex.TokenDatabase: |
| 831 | req.Tok = m.Next() |
| 832 | case lex.TokenIdentity: |
| 833 | // triggers, indexes |
| 834 | req.Tok = m.Next() |
| 835 | default: |
| 836 | return nil, m.ErrMsg("Expected view, database,schema, table, source, continuousview for DROP got") |
| 837 | } |
| 838 | |
| 839 | switch m.Cur().T { |
| 840 | case lex.TokenTable, lex.TokenIdentity: |
| 841 | req.Identity = m.Next().V |
| 842 | default: |
| 843 | return nil, m.ErrMsg("Expected identity after DROP (TABLE|VIEW|SOURCE|SCHEMA|DATABASE) ") |
| 844 | } |
| 845 | |
| 846 | switch req.Tok.T { |
| 847 | case lex.TokenTable: |
| 848 | // just table |
| 849 | case lex.TokenSource, lex.TokenSchema: |
| 850 | // schema |
| 851 | case lex.TokenContinuousView, lex.TokenView: |
| 852 | // view |
| 853 | default: |
| 854 | // triggers, index, etc |
| 855 | } |
| 856 | |
| 857 | // WITH |
| 858 | discardComments(m) |
| 859 | with, err := ParseWith(m.SqlTokenPager) |
| 860 | if err != nil { |
| 861 | return nil, err |
| 862 | } |
| 863 | req.With = with |
| 864 | return req, nil |
| 865 | } |
| 866 | |
| 867 | func (m *Sqlbridge) parseTransaction() (*SqlCommand, error) { |
| 868 |
no test coverage detected