Object method parameters cannot share names with attributes
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
Piste de recherche
Start by reading plisql_build_variable_from_funcargs(), which the issue identifies as the source of the duplicate-argument check, and review the provided SQL reproduction. The linked open pull request indicates work is already underway. Done means the type body compiles and the query returns 12.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What happened?
CREATE TYPE BODY fails with duplicate declaration in function args when a constructor or member routine has a formal parameter with the same name as one of the object's attributes. This prevents otherwise valid object types from being compiled or migrated. Suggested severity: medium.
Reproduced on master 2c5e8dd6676c443571549b801543e6590a260246, using a debug/assert-enabled build and Oracle compatibility mode.
Reproduction
CREATE TYPE shadow_obj AS OBJECT
(
value integer,
MEMBER FUNCTION add_value(value integer) RETURN integer
);
/
CREATE TYPE BODY shadow_obj AS
MEMBER FUNCTION add_value(value integer) RETURN integer IS
BEGIN
RETURN self.value + value;
END;
END;
/
SELECT objects.v.add_value(2)
FROM (SELECT shadow_obj(10) v FROM dual) objects;
The type specification succeeds, but its body fails:
ERROR: duplicate declaration in function args
CONTEXT: compilation of PL/iSQL package "shadow_obj" near line 1
Expected behavior
The body should compile, and the query should return 12: value is the formal argument, while self.value is the attribute.
The same problem affects user-defined constructors and member procedures such as self.value := value. Oracle's constructor documentation describes this naming pattern explicitly. This report uses the documented behavior as its compatibility reference; no Oracle instance was used.
Cause and related work
plisql_build_variable_from_funcargs() inserts unqualified attribute aliases immediately after materializing SELF. Its subsequent duplicate-argument check finds that alias when processing an identically named formal parameter.
This differs from the explicit/implicit SELF collision already fixed in #1483: the reproduction has no explicit SELF parameter and still fails on the merged code. All-state issue/PR searches on 2026-10-29 found no matching report or pending fix.
Assisted-by: OpenAI:GPT-6
Percentage of AI-generated code: 100%
- Langage dominant
- C
- Étoiles
- 1.1k
- Forks
- 232
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 8
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de IvorySQL/IvorySQL
-
PostgreSQL::Version rejects documented full psql version outputPeut-être pris @feitiansiyan l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
IvorySQL/IvorySQL#2999 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
UTL_FILE.NEW_LINE silently ignores negative line countsPeut-être pris @X-LightYear l’a pris il y a 9 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
IvorySQL/IvorySQL#2634 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Character function regression assumes normal identifier case on default interchange clustersPeut-être pris @zhouxj52 l’a pris il y a 16 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
IvorySQL/IvorySQL#2470 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
xml2 no-libxslt expected files do not match PG/Oracle input scriptsPeut-être pris @zhouxj52 l’a pris il y a 16 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
IvorySQL/IvorySQL#2468 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Title: Build failure in DBMS_SCHEDULER due to incorrect placement of pg_noreturnPeut-être pris @darshan-s-44 l’a pris il y a 23 jours. Ouvertebug good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de IvorySQL/IvorySQL
Issues similaires
-
bug core p3
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
RunanywhereAI/runanywhere-sdks#1258 ·
Les mainteneurs répondent en général sous 1 jour
-
Plugin mapper: latency_samples is 0 for eight UAD 11.8.3 plug-ins that delay by 55-56 samplesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
rolotrealanis98/open-apollo#126 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
cython/cython#8110 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
onehumanbeing/esp32-iphone-agent#62 ·
Les mainteneurs répondent en général sous 1 jour
-
ai-driven-fuzzing bug claude Minor
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
linagora/open-bastion#425 ·
Les mainteneurs répondent en général sous 1 jour