golemcloud/golem/golem-add-ignite-scala

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Using Apache Ignite from a Scala Golem agent through golem.host.Rdbms.Ignite. Use when the user asks to connect to Apache Ignite 2, run SQL over Ignite, or use Ignite from Scala agent code.

Install

npx vskill@latest install golemcloud/golem/golem-add-ignite-scala

SKILL.md

Using Apache Ignite from a Scala Agent

The Scala SDK already wraps golem:rdbms/ignite2@1.5.0 in golem.host.Rdbms.

Imports

scala
import golem.host.Rdbms
import golem.host.Rdbms._

Open a Connection

Ignite uses thin-client URLs like ignite://host:10800.

scala
Rdbms.Ignite.open("ignite://127.0.0.1:10800")

open, query, execute, commit, and rollback all return Either[DbError, T] instead of throwing.

If the user asks for a method that returns a plain String, keep the public method signature as String and handle host errors inside the method (e.g. with .fold(e => throw new RuntimeException(e.toString), identity)) rather than changing the signature to Either[DbError, _].

Query Data

Ignite placeholders use ?.

scala
val message =
for {
conn <- Rdbms.Ignite.open("ignite://127.0.0.1:10800")
result <- conn.query("SELECT ?", List(IgniteDbValue.DbString("hello")))
row <- result.rows.headOption.toRight(DbError.Other("query returned no rows"))
value <- row.values.headOption.toRight(DbError.Other("query returned no columns"))
text <- value match {
case IgniteDbValue.DbString(value) => Right(value)
case other => Left(DbError.Other(s"Unexpected Ignite value: $other"))
}
} yield text

Execute Statements

scala
conn.execute(
"""CREATE TABLE IF NOT EXISTS notes (
| id INT PRIMARY KEY,
| body VARCHAR
|) WITH "CACHE_NAME=notes"""".stripMargin,
List.empty,
)

When creating Ignite tables through SQL, include WITH "CACHE_NAME=...".

Transactions

scala
for {
conn <- Rdbms.Ignite.open(url)
tx <- conn.beginTransaction()
_ <- tx.execute(
"INSERT INTO notes (id, body) VALUES (?, ?)",
List(IgniteDbValue.DbInt(1), IgniteDbValue.DbString("hello")),
)
_ <- tx.commit()
} yield ()

If you need transactional tables, create them with ATOMICITY=TRANSACTIONAL in the table options.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
1,516
Repository forks
210
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/golemcloud/golem/golem-add-ignite-scala/badge)](https://verified-skill.com/skills/golemcloud/golem/golem-add-ignite-scala)

Something wrong with this skill or its page? Tell us.