[
  {
    "namePrefix": "should not find errors",
    "beforeCursor": "ANALYZE TABLE students COMPUTE STATISTICS NOSCAN;",
    "afterCursor": "",
    "noErrors": true,
    "containsKeywords": [
      "SELECT"
    ],
    "expectedResult": {
      "lowerCase": false
    }
  },
  {
    "namePrefix": "should not find errors",
    "beforeCursor": "ANALYZE TABLE students PARTITION (student_id = 111111) COMPUTE STATISTICS;",
    "afterCursor": "",
    "noErrors": true,
    "containsKeywords": [
      "SELECT"
    ],
    "expectedResult": {
      "lowerCase": false
    }
  },
  {
    "namePrefix": "should not find errors",
    "beforeCursor": "ANALYZE TABLE students COMPUTE STATISTICS FOR COLUMNS name;;",
    "afterCursor": "",
    "noErrors": true,
    "containsKeywords": [
      "SELECT"
    ],
    "expectedResult": {
      "lowerCase": false
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE ",
    "afterCursor": "",
    "containsKeywords": [
      "TABLE"
    ],
    "expectedResult": {
      "lowerCase": false
    }
  },
  {
    "namePrefix": "should suggest tables",
    "beforeCursor": "ANALYZE TABLE ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestTables": {},
      "suggestDatabases": {
        "appendDot": true
      }
    }
  },
  {
    "namePrefix": "should suggest tables",
    "beforeCursor": "ANALYZE TABLE foo.",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestTables": {
        "identifierChain": [
          {
            "name": "foo"
          }
        ]
      }
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "PARTITION",
        "COMPUTE STATISTICS"
      ]
    }
  },
  {
    "namePrefix": "should suggest columns",
    "beforeCursor": "ANALYZE TABLE bar PARTITION (",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestColumns": {
        "tables": [
          {
            "identifierChain": [
              {
                "name": "bar"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar PARTITION (a = 1) ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "COMPUTE STATISTICS"
      ]
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar PARTITION (a = 1) COMPUTE ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "STATISTICS"
      ]
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar COMPUTE ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "STATISTICS"
      ]
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar COMPUTE STATISTICS ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "FOR ALL COLUMNS",
        "FOR COLUMNS",
        "NOSCAN"
      ]
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar COMPUTE STATISTICS FOR ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "ALL COLUMNS",
        "COLUMNS"
      ]
    }
  },
  {
    "namePrefix": "should suggest keywords",
    "beforeCursor": "ANALYZE TABLE bar COMPUTE STATISTICS FOR ALL ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestKeywords": [
        "COLUMNS"
      ]
    }
  },
  {
    "namePrefix": "should suggest columns",
    "beforeCursor": "ANALYZE TABLE foo.bar PARTITION (a = 1) COMPUTE STATISTICS FOR COLUMNS ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestColumns": {
        "tables": [
          {
            "identifierChain": [
              {
                "name": "foo"
              },
              {
                "name": "bar"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "namePrefix": "should suggest columns",
    "beforeCursor": "ANALYZE TABLE foo.bar PARTITION (a = 1) COMPUTE STATISTICS FOR COLUMNS a, b, ",
    "afterCursor": "",
    "expectedResult": {
      "lowerCase": false,
      "suggestColumns": {
        "tables": [
          {
            "identifierChain": [
              {
                "name": "foo"
              },
              {
                "name": "bar"
              }
            ]
          }
        ]
      }
    }
  }
]
