docs: emailurile actualizarii si compatibilitatea scripturilor cu 10g/11g
Log-ul de actualizare (PACK_UPDATE.EmailLog, din baza) si buletinul informativ (trimis de serverul de update) sunt doua fluxuri diferite, cu destinatari configurati in locuri diferite. Scripturile de migrare se scriu la nivelul Oracle 10.2 si trebuie sa ruleze si pe 11.x; tabel cu versiunea minima a constructiilor uzuale si limitele XE. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TM9Cxpzrn9wBSkyBNr22Qc
This commit is contained in:
@@ -27,17 +27,36 @@ Reguli confirmate de Marius (24.07.2026):
|
||||
## Compatibilitate cu serverele clientilor
|
||||
|
||||
Serverul de dezvoltare e mai nou decat serverele clientilor, deci un script care trece local poate
|
||||
pica la client si opri actualizarea. **ROMCONSTRUCT e singurul client ramas pe Oracle 10.2** — el da
|
||||
masura pentru orice se pune in comune.
|
||||
pica la client si opri actualizarea.
|
||||
|
||||
Constructii care merg pe dev si pica pe 10g:
|
||||
Parcul de servere (03.08.2026): **un client pe Oracle 10.2** (ROMCONSTRUCT), cativa pe **XE 11 si
|
||||
11g** standard, restul pe **XE 18/19/21 si 18/21**.
|
||||
|
||||
| Constructie | Ce iese pe 10g |
|
||||
|---|---|
|
||||
| identificator peste 30 de caractere (tabela, index, constrangere, coloana) | `ORA-00972` (12.2+ accepta 128) |
|
||||
| `REGEXP_COUNT` (functie din 11g) | `ORA-00904` in SQL / `PLS-00201` in PL/SQL |
|
||||
| `CONTINUE` (instructiune PL/SQL din 11g) | `PLS-00201: identificatorul 'CONTINUE' trebuie declarat` |
|
||||
| `FORALL` cu campuri de record din colectie (`S(i).camp`) | `PLS-00436` / `PLS-00382` |
|
||||
**Regula: orice script care ajunge in comune se scrie la nivelul Oracle 10.2 si trebuie sa ruleze pe
|
||||
10.2 si pe 11.x.** Numitorul comun e 10.2 — nu se folosesc facilitati 11g si cu atat mai putin 12c+,
|
||||
oricat de comod ar fi pe dev. Proba inainte de publicare se face pe serverul cel mai vechi
|
||||
(ROMCONSTRUCT), nu pe dev.
|
||||
|
||||
Constructii care merg pe dev si pica mai jos:
|
||||
|
||||
| Constructie | Disponibila de la | Ce iese sub ea |
|
||||
|---|---|---|
|
||||
| identificator peste 30 de caractere (tabela, index, constrangere, coloana) | 12.2 | `ORA-00972` |
|
||||
| `REGEXP_COUNT` | 11.1 | `ORA-00904` in SQL / `PLS-00201` in PL/SQL |
|
||||
| `CONTINUE` (instructiune PL/SQL) | 11.1 | `PLS-00201: identificatorul 'CONTINUE' trebuie declarat` |
|
||||
| `LISTAGG` | 11.2 | `ORA-00904` |
|
||||
| `PIVOT` / `UNPIVOT` | 11.1 | eroare de sintaxa |
|
||||
| trigger compus (`COMPOUND TRIGGER`) | 11.1 | eroare de compilare |
|
||||
| `secventa.NEXTVAL` direct intr-o atribuire PL/SQL | 11.1 | `PLS-00357` (pe 10g: `select ... into` din `dual`) |
|
||||
| `FETCH FIRST n ROWS`, `CROSS APPLY`, `LATERAL` | 12.1 | eroare de sintaxa (pe 10g/11g: `rownum`) |
|
||||
| `IDENTITY`, `DEFAULT ON NULL`, coloane invizibile | 12.1 | eroare de sintaxa |
|
||||
| `VALIDATE_CONVERSION`, `CAST ... DEFAULT ON CONVERSION ERROR` | 12.2 | `ORA-00904` |
|
||||
| `FORALL` cu campuri de record din colectie (`S(i).camp`) | 11.1 | `PLS-00436` / `PLS-00382` |
|
||||
|
||||
Editiile **XE** adauga limite proprii, independent de sintaxa: XE 11.2 nu are partitionare, executie
|
||||
paralela si nici masina virtuala Java in baza; XE 18/19/21 au setul de facilitati al editiei mari,
|
||||
dar plafonate pe resurse (12 GB de date, 2 GB RAM, 2 fire de executie). Deci nimic care sa depinda de
|
||||
partitionare sau de Java in baza, si nicio operatie care sa presupuna spatiu/memorie de server mare.
|
||||
|
||||
Plus, independent de versiune: **un obiect nu se poate referi la ceva creat de un script ulterior.**
|
||||
Pe dev obiectul exista deja, deci pachetul compileaza; la client scriptele se aplica in ordine si
|
||||
|
||||
Reference in New Issue
Block a user