#750 Increase the size of pramen_table varchar column.#751
Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThis PR widens watcher table name columns (128→255, offset 256→600), adds a PramenDb migration to alter existing columns and increments MODEL_VERSION to 12, updates Slick imports, and applies a small type-pattern change plus an sbt version bump. ChangesWatcher Table Name Column Extension & Migration
Type Pattern and Build Tooling
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pramen/core/src/main/scala/za/co/absa/pramen/core/rdb/PramenDb.scala`:
- Around line 170-176: The alterColumn method currently builds
PostgreSQL-specific SQL ("ALTER COLUMN ... TYPE ...") which breaks other
engines; update alterColumn in PramenDb to branch on the active slickProfile (or
getProfile()) and emit engine-appropriate DDL: for Postgres/H2 keep "ALTER TABLE
... ALTER COLUMN ... TYPE ...", for MySQL/Oracle use "ALTER TABLE ... MODIFY
COLUMN ...", for SQL Server use "ALTER TABLE ... ALTER COLUMN ..." (without
TYPE), and for SQLite either skip with a clear warning or implement a safe
migrate-by-recreate flow; ensure you still execute the resulting statement via
slickDb.run(sqlu"...").execute() and use slickProfile.quoteIdentifier for
identifiers in each branch.
In `@pramen/project/build.properties`:
- Line 16: Update the sbt.version property value from 1.12.11 to 1.12.10 in the
build properties so the project uses the stable sbt release; locate the
sbt.version entry (the key "sbt.version") and change its value to "1.12.10",
then run a quick build/test to confirm no regressions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9d88e4ee-65c5-472e-bbb6-cda4b97e4afe
📒 Files selected for processing (8)
pramen/core/src/main/scala/za/co/absa/pramen/core/ExternalChannelFactoryReflect.scalapramen/core/src/main/scala/za/co/absa/pramen/core/bookkeeper/model/BookkeepingTable.scalapramen/core/src/main/scala/za/co/absa/pramen/core/bookkeeper/model/MetadataTable.scalapramen/core/src/main/scala/za/co/absa/pramen/core/bookkeeper/model/OffsetTable.scalapramen/core/src/main/scala/za/co/absa/pramen/core/bookkeeper/model/SchemaTable.scalapramen/core/src/main/scala/za/co/absa/pramen/core/journal/model/JournalTable.scalapramen/core/src/main/scala/za/co/absa/pramen/core/rdb/PramenDb.scalapramen/project/build.properties
| # | ||
|
|
||
| sbt.version=1.11.6 | ||
| sbt.version=1.12.11 |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What is the latest stable version of sbt (Scala Build Tool) and are there any known issues with sbt version 1.12.11?
💡 Result:
Latest stable version of sbt (as of 2026-05-20): sbt 1.12.10. [1][2] Known issues with sbt 1.12.11: 1) The sbt project announced sbt 1.12.11 and its headline change was rolling back an “eviction error in Test configuration” because it broke Scala Native builds. [3] 2) No specific widely-documented security advisories or release-blocking bugs for sbt 1.12.11 were found in the sources I checked. However, sbt 1.12.7 (and earlier affected versions) had a Windows command-injection issue (CVE-2026-32948) fixed in sbt 1.12.7/1.12.8 depending on branch; this means you should ensure your sbt is at least at a version that includes that fix rather than relying on 1.12.11 alone. [4][5][6] 3) Separately, there is a known regression in sbt 1.12.6 where a specific sbt plugin configuration (sbt-site 1.4.1) could cause resolution to hang; this is not about 1.12.11, but it’s an example of known issues around nearby 1.12.x versions. [7] If you want, tell me your OS (Windows/Linux/macOS) and whether you use sbt “source dependencies” (VCS/project refs). I can map those facts to the most relevant advisory/upgrade guidance for your exact risk profile.
Citations:
- 1: https://github.com/sbt/sbt/releases/latest
- 2: https://github.com/sbt/sbt/releases/tag/v1.12.10
- 3: https://eed3si9n.com/sbt-1.12.11
- 4: https://github.com/sbt/sbt/releases/tag/v1.12.7
- 5: https://www.scala-lang.org/blog/2026/03/31/sbt-security-advisory.html
- 6: https://eed3si9n.com/sbt-1.12.7
- 7: sbt 1.12.6 gets stuck trying to resolve sbt-site 1.4.1 sbt/sbt#8917
Consider using sbt 1.12.10 instead of 1.12.11.
As of May 2026, sbt 1.12.10 is the latest stable release, while 1.12.11 appears to be a newer post-stable version. While 1.12.11 does exist and includes a rollback of an eviction error change that broke Scala Native builds, using a non-stable version may introduce unexpected issues. If Scala Native compatibility is not a concern for this project, 1.12.10 is the safer choice.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@pramen/project/build.properties` at line 16, Update the sbt.version property
value from 1.12.11 to 1.12.10 in the build properties so the project uses the
stable sbt release; locate the sbt.version entry (the key "sbt.version") and
change its value to "1.12.10", then run a quick build/test to confirm no
regressions.
Unit Test Coverage
Files
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pramen/core/src/main/scala/za/co/absa/pramen/core/rdb/PramenDb.scala`:
- Around line 174-194: The MySQL and SQL Server branches in the slickProfile
match (cases for MySQLProfile and SQLServerProfile | HsqldbProfile in
PramenDb.scala) only use #$columnType and therefore drop NOT NULL constraints
for non-Option Slick columns; update the SQL in those branches to append " NOT
NULL" (e.g. change ALTER TABLE ... MODIFY COLUMN #$quotedColumnName #$columnType
to ALTER TABLE ... MODIFY COLUMN #$quotedColumnName #$columnType NOT NULL and
likewise ALTER TABLE ... ALTER COLUMN #$quotedColumnName #$columnType to ...
#$columnType NOT NULL) so the DDL preserves column nullability for the affected
columns declared as column[String] in the Slick tables, leaving other profile
branches unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 635e95c9-5230-49dd-b705-17788a5a4b8d
📒 Files selected for processing (1)
pramen/core/src/main/scala/za/co/absa/pramen/core/rdb/PramenDb.scala
Summary by CodeRabbit
New Features
Chores