Cleanup and fix raw sql
This commit is contained in:
17
manager.go
17
manager.go
@@ -54,8 +54,6 @@ func NewManager(path string) (*Manager, error) {
|
||||
schema := strings.Join(sqls, ";\n")
|
||||
schema += ";"
|
||||
|
||||
fmt.Println(schema)
|
||||
|
||||
return &Manager{
|
||||
parser: engine.NewParser(strings.NewReader(schema)),
|
||||
conn: db,
|
||||
@@ -67,7 +65,6 @@ func (m *Manager) Start() error {
|
||||
for {
|
||||
stmt, err := m.parser.Parse()
|
||||
if err != nil && errors.Is(err, io.EOF) {
|
||||
fmt.Println("Finished parsing")
|
||||
break
|
||||
} else if err != nil {
|
||||
return err
|
||||
@@ -131,16 +128,14 @@ func (m *Manager) RunSql(sqlText string) (Table, error) {
|
||||
|
||||
selectStmt, ok := stmt.(*engine.SelectStatement)
|
||||
if !ok {
|
||||
panic("HELP ITS NOT A SELECT STATMET")
|
||||
return Table{}, fmt.Errorf("Input statement is not of correct Syntax, select statement")
|
||||
}
|
||||
|
||||
table, ok := m.GetTable(selectStmt.From)
|
||||
if !ok {
|
||||
panic("HELP TABLE NOT FOUND")
|
||||
return Table{}, fmt.Errorf("Selected Table does not exist, have you perhaps misstyped the table Name?")
|
||||
}
|
||||
|
||||
table.Rows = make([]Row, 0)
|
||||
|
||||
fields := make([]Column, 0)
|
||||
if slices.Contains(selectStmt.Fields, "*") {
|
||||
fields = table.Columns
|
||||
@@ -159,7 +154,11 @@ func (m *Manager) RunSql(sqlText string) (Table, error) {
|
||||
table.Columns = fields
|
||||
|
||||
err = m.loadTableRaw(&table, fields, sqlText)
|
||||
return table, err
|
||||
if err != nil {
|
||||
return Table{}, err
|
||||
}
|
||||
|
||||
return table, nil
|
||||
}
|
||||
|
||||
func (m *Manager) loadTableRaw(table *Table, fields []Column, s string, args ...any) error {
|
||||
@@ -167,6 +166,7 @@ func (m *Manager) loadTableRaw(table *Table, fields []Column, s string, args ...
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
table.Rows = make([]Row, 0)
|
||||
|
||||
for rows.Next() {
|
||||
@@ -292,7 +292,6 @@ func (m *Manager) references(cts *engine.CreateTableStatement) error {
|
||||
|
||||
refTable, ok := m.GetTable(tableName)
|
||||
if !ok {
|
||||
fmt.Println(m.tables)
|
||||
return fmt.Errorf("Reference table '%v' not found", tableName)
|
||||
} else {
|
||||
colIndex := slices.IndexFunc(refTable.Columns, func(c Column) bool {
|
||||
|
||||
Reference in New Issue
Block a user