Esempio n. 1
0
def p_alterStmt(t):
    """alterStmt : R_ALTER R_DATABASE idOrString alterDb
    | R_ALTER R_TABLE idOrString alterTableList
    """
    if t[2] == "DATABASE":
        t[0] = instruction2.AlterDataBase(t[4][0], t[3], t[4][1])
    else:
        t[0] = instruction2.AlterTable(t[3], t[4])
    repGrammar.append(t.slice)
Esempio n. 2
0
def p_alterStmt(t):
    """alterStmt : R_ALTER R_DATABASE idOrString alterDb
    | R_ALTER R_TABLE idOrString alterTableList
    | R_ALTER R_INDEX ifExists idOrString R_RENAME R_TO idOrString
    | R_ALTER R_INDEX ifExists idOrString R_ALTER column idOrString idOrNumber
    """
    if t[2] == "DATABASE":
        t[0] = instruction2.AlterDataBase(t[4][0], t[3], t[4][1],
                                          t.slice[1].lineno, t.slice[1].lexpos)
    elif t[2] == "TABLE":
        t[0] = instruction2.AlterTable(t[3], t.slice[1].lineno,
                                       t.slice[1].lexpos, t[4])
    else:
        if t[5] == "RENAME":

            t[0] = instruction2.AlterIndex(t[4], t[3], t[7], t.slice[1].lineno,
                                           t.slice[1].lexpos)
        else:
            t[0] = instruction2.AlterIndex(t[4], t[3], t[7], t.slice[1].lineno,
                                           t.slice[1].lexpos, t[8])
    repGrammar.append(t.slice)