t8y2/dbx · error

table is required

Error message

table is required

What it means

A resolve helper (resolving schema/table pairs, e.g. for table-level metadata or DDL routing) trims the table name and rejects empty values with this error. Schema may be defaulted, but a table name is mandatory.

Source

Thrown at agents/drivers/xugu/main.go:2832

			item.CharacterMaximumLength = &value
		}
		result = append(result, item)
	}
	return emptyIfNil(result), nil
}

func (s *server) fallbackTableIdentity(schema, table string) (string, string, error) {
	schema = strings.TrimSpace(schema)
	if schema == "" {
		var err error
		schema, err = s.currentSchema()
		if err != nil {
			return "", "", err
		}
	}
	table = strings.TrimSpace(table)
	if table == "" {
		return "", "", errors.New("table is required")
	}
	return schema, table, nil
}

func isXuguTableNotFoundError(err error) bool {
	return strings.Contains(strings.ToUpper(err.Error()), "TABLE NOT FOUND:")
}

func (s *server) primaryKeyColumns(schema, table string) (map[string]bool, error) {
	rows, err := s.queryRows(xuguTableCatalogQuery(xuguPrimaryKeyColumnsSQL, schema, table), nil)
	if err != nil {
		if isXuguMetadataUnavailableError(err) {
			return map[string]bool{}, nil
		}
		return nil, err
	}
	defer s.closeRows(rows)
	result := map[string]bool{}

View on GitHub (pinned to c0390bff16)

Solutions

  1. Supply a non-empty table name in the RPC params
  2. Validate the table identifier client-side before the call
  3. Fix upstream resolution so the table name is populated from a prior list-tables result

Example fix

// before
agent.GetTableMetadata(ctx, schema, "")
// after
if strings.TrimSpace(table) == "" { return errors.New("table is required") }
agent.GetTableMetadata(ctx, schema, table)
Defensive patterns

Strategy: validation

Validate before calling

if strings.TrimSpace(table) == "" { return errors.New("table is required") }

Type guard

func validTableRef(table string) bool { return strings.TrimSpace(table) != "" }

Try / catch

meta, err := agent.GetTableMetadata(ctx, schema, table)
if err != nil && strings.Contains(err.Error(), "table is required") { return ErrTableRefMissing }

Prevention

When it happens

Trigger: Calling a table-scoped RPC with an empty or whitespace-only table parameter; upstream resolution left the table unset; identifier parsing produced an empty table part.

Common situations: Sidebar/tooling invoking table operations before a table is selected; programmatic callers passing "" for unqualified object references; copy/paste or interpolation bugs producing blank names.

Understand the failure class

Background: Missing required parameter errors: what 'X is required' and 'the required X param is missing' mean, and how to fix them — this error's family across 27 libraries.

Related errors


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/984324c296f752cd. Report an issue: GitHub.