Cleanup and fix raw sql

This commit is contained in:
Pablu
2025-12-02 10:44:28 +01:00
parent b7147d03c2
commit f6ca16b1f0
4 changed files with 48 additions and 51 deletions

View File

@@ -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 {