Error with Oracle
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 28/100
Línea de trabajo
Comienza reproduciendo el problema con la Oracle Docker image y el gist enlazado. Inspecciona FSharp.Data.Sql.SqlDataProvider, SqlTypeProvider y el error informado de GetProperties/get_Col para identificar el esquema de Oracle que provoca miembros duplicados. Se considera terminado cuando la misma consulta simple compila sin la provided-type exception, con una prueba de regresión si el repositorio tiene una ubicación de pruebas adecuada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
When doing simple queries on some oracle tables, the TP raises an exception
Repro steps
-
Use Oracle Docker Image
-
Use the following gist as a project: https://gist.github.com/imetallica/0dff42841a7273c61fd7149ea0e42e8d
Actual behavior
This is the exception it raises
Unexpected exception from provided type 'FSharp.Data.Sql.SqlDataProvider,DatabaseVendor="4",ConnectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLPDB1.localdomain)));User Id=sys;Password=Oradoc_db1;DBA Privilege=SYSDBA;",UseOptionTypes="True"+dataContext+SYSSchema' member 'GetProperties': The type provider 'FSharp.Data.Sql.SqlTypeProvider' reported an error: GetMethodImpl. not support overloads, name = 'get_Col', methods - '[|Method get_Col; Method get_Col|]', callstack = '" at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at ProviderImplementation.ProvidedTypes.ProvidedTypeDefinition.GetMethodImpl(String name, BindingFlags bindingFlags, Binder _binderBinder, CallingConventions _callConvention, Type[] _types, ParameterModifier[] _modifiers)
at System.Type.GetMethod(String name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers)
at ProviderImplementation.ProvidedTypes.ProvidedTypesContext.convMethodRefToTgt(MethodInfo m)
at ProviderImplementation.ProvidedTypes.Utils.PropertyInfo.get_IsStatic(PropertyInfo )
at <StartupCode$FSharp-Data-SqlProvider>.$ProvidedTypes.staticOrPublic@1501.Invoke(MemberInfo _arg4)
at Microsoft.FSharp.Collections.ArrayModule.Choose[T,TResult](FSharpFunc`2 chooser, T[] array)
at ProviderImplementation.ProvidedTypes.ProvidedTypeDefinition.GetProperties(BindingFlags bindingFlags)
at FSharp.Compiler.ExtensionTyping.ValidateProvidedTypeAfterStaticInstantiation@914-4.Invoke(ProvidedType st)
at FSharp.Compiler.Tainted`1.Protect[a](FSharpFunc`2 f, range range)
at FSharp.Compiler.Tainted`1.PApplyArray[U](FSharpFunc`2 f, String methodName, range range)
at FSharp.Compiler.ExtensionTyping.TryTypeMemberArray[a,b](Tainted`1 st, String fullName, String memberName, range m, FSharpFunc`2 f)
at FSharp.Compiler.ExtensionTyping.ValidateProvidedTypeAfterStaticInstantiation@911.GenerateNext(IEnumerable`1& next)
at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at Microsoft.FSharp.Collections.SeqModule.ToArray[T](IEnumerable`1 source)
at FSharp.Compiler.ExtensionTyping.ValidateProvidedTypeAfterStaticInstantiation(range m, Tainted`1 st, String[] expectedPath, String expectedName)
at FSharp.Compiler.Import.ImportTypeRefData(ImportMap env, range m, ILScopeRef scoref, String[] path, String typeName)
at FSharp.Compiler.Import.ImportILTypeRefUncached(ImportMap env, range m, ILTypeRef tref)
at FSharp.Compiler.Import.ImportILTypeRef(ImportMap env, range m, ILTypeRef tref)
at FSharp.Compiler.Import.ImportProvidedNamedType(ImportMap env, range m, Tainted`1 st)
at FSharp.Compiler.Import.ImportProvidedType(ImportMap env, range m, Tainted`1 st)
at FSharp.Compiler.Infos.GetCompiledReturnTyOfProvidedMethodInfo(ImportMap amap, range m, Tainted`1 mi)
at FSharp.Compiler.Infos.MethInfo.GetCompiledReturnTy(ImportMap amap, range m, FSharpList`1 minst)
at FSharp.Compiler.MethodCalls.CalledMeth`1..ctor(InfoReader infoReader, FSharpOption`1 nameEnv, Boolean isCheckingAttributeCall, FSharpFunc`2 freshenMethInfo, range m, AccessorDomain ad, MethInfo minfo, FSharpList`1 calledTyArgs, FSharpList`1 callerTyArgs, FSharpOption`1 pinfoOpt, FSharpList`1 callerObjArgTys, FSharpList`1 curriedCallerArgs, Boolean allowParamArgs, Boolean allowOutAndOptArgs, FSharpOption`1 tyargsOpt)
at FSharp.Compiler.TypeChecker.makeOneCalledMeth@9781(Boolean isCheckingAttributeCall, cenv cenv, TcEnv env, FSharpOption`1 tyargsOpt, range mMethExpr, range mItem, FSharpOption`1 objTyOpt, AccessorDomain ad, FSharpList`1 callerObjArgTys, FSharpList`1 callerArgs, MethInfo tupledArg0, FSharpOption`1 tupledArg1, Boolean tupledArg2)
at FSharp.Compiler.TypeChecker.preArgumentTypeCheckingCalledMethGroup@9790.GenerateNext(IEnumerable`1& next)
at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
at FSharp.Compiler.TypeChecker.TcMethodApplication(Boolean isCheckingAttributeCall, cenv cenv, TcEnv env, SyntacticUnscopedTyparEnv tpenv, FSharpOption`1 tyargsOpt, FSharpList`1 objArgs, range mMethExpr, range mItem, String methodName, FSharpOption`1 objTyOpt, AccessorDomain ad, Mutates mut, Boolean isProp, FSharpList`1 calledMethsAndProps, AfterResolution afterResolution, ValUseFlag isSuperInit, FSharpList`1 curriedCallerArgs, TType exprTy, FSharpList`1 delayed)
at FSharp.Compiler.TypeChecker.TcMethodApplicationThen(cenv cenv, TcEnv env, TType overallTy, FSharpOption`1 objTyOpt, SyntacticUnscopedTyparEnv tpenv, FSharpOption`1 callerTyArgs, FSharpList`1 objArgs, range m, range mItem, String methodName, AccessorDomain ad, Mutates mut, Boolean isProp, FSharpList`1 meths, AfterResolution afterResolution, ValUseFlag isSuperInit, FSharpList`1 args, ExprAtomicFlag atomicFlag, FSharpList`1 delayed)
at FSharp.Compiler.TypeChecker.TcExpr(cenv cenv, TType ty, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr expr)
at FSharp.Compiler.TypeChecker.TcExprOfUnknownType(cenv cenv, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr expr)
at FSharp.Compiler.TypeChecker.TcStmt(cenv cenv, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr synExpr)
at FSharp.Compiler.TypeChecker.TcStmtThatCantBeCtorBody(cenv cenv, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr expr)
at FSharp.Compiler.TypeChecker.TcLinearExprs(FSharpFunc`2 bodyChecker, cenv cenv, TcEnv env, TType overallTy, SyntacticUnscopedTyparEnv tpenv, Boolean isCompExpr, SynExpr expr, FSharpFunc`2 cont)
at FSharp.Compiler.TypeChecker.TcExpr(cenv cenv, TType ty, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr expr)
at FSharp.Compiler.TypeChecker.TcIteratedLambdas(cenv cenv, Boolean isFirst, TcEnv env, TType overallTy, FSharpSet`1 takenNames, SyntacticUnscopedTyparEnv tpenv, SynExpr e)
at FSharp.Compiler.TypeChecker.TcIteratedLambdas(cenv cenv, Boolean isFirst, TcEnv env, TType overallTy, FSharpSet`1 takenNames, SyntacticUnscopedTyparEnv tpenv, SynExpr e)
at FSharp.Compiler.TypeChecker.TcExprUndelayed(cenv cenv, TType overallTy, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr synExpr)
at FSharp.Compiler.TypeChecker.TcExpr(cenv cenv, TType ty, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr expr)
at FSharp.Compiler.TypeChecker.TcExprThatCantBeCtorBody(cenv cenv, TType overallTy, TcEnv env, SyntacticUnscopedTyparEnv tpenv, SynExpr expr)
at FSharp.Compiler.TypeChecker.f@514-18(cenv cenv, FSharpOption`1 safeThisValOpt, SafeInitData safeInitInfo, SynExpr rhsExpr, TType overallExprTy, SyntacticUnscopedTyparEnv tpenv, TcEnv envinner, Boolean isCtor, Unit unitVar0)
at FSharp.Compiler.TypeChecker.TcNormalizedBinding(DeclKind declKind, cenv cenv, TcEnv env, SyntacticUnscopedTyparEnv tpenv, TType overallTy, FSharpOption`1 safeThisValOpt, SafeInitData safeInitInfo, FSharpList`1 enclosingDeclaredTypars, ExplicitTyparInfo _arg9, NormalizedBinding bind)
at FSharp.Compiler.TypeChecker.TcNonRecursiveBinding(DeclKind declKind, cenv cenv, TcEnv env, SyntacticUnscopedTyparEnv tpenv, TType ty, SynBinding b)
at FSharp.Compiler.TypeChecker.TcLetBinding@11098.Invoke(SyntacticUnscopedTyparEnv tpenv, SynBinding b)
at Microsoft.FSharp.Primitives.Basics.List.mapFold[TState,T,TResult](FSharpFunc`2 f, TState acc, FSharpList`1 xs)
at FSharp.Compiler.TypeChecker.TcLetBinding(cenv cenv, Boolean isUse, TcEnv env, ContainerInfo containerInfo, DeclKind declKind, SyntacticUnscopedTyparEnv tpenv, FSharpList`1 synBinds, range synBindsRange, range scopem)
at FSharp.Compiler.TypeChecker.TcLetBindings(cenv cenv, TcEnv env, ContainerInfo containerInfo, DeclKind declKind, SyntacticUnscopedTyparEnv tpenv, FSharpList`1 binds, range bindsm, range scopem)
at FSharp.Compiler.TypeChecker.TcModuleOrNamespaceElementNonMutRec@17085-1.Invoke(Unit unitVar)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.catch@912-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.catch@912-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.catch@912-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.catch@912-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.bind@903-1.Invoke(CompilationThreadToken ctok)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.loop@875-24[a,b](Int64 timeShareInMilliseconds, CancellationToken ct, FSharpFunc`2 runner, Stopwatch sw, CompilationThreadToken ctok, Eventually`1 ev2)
at FSharp.Compiler.AbstractIL.Internal.Library.EventuallyModule.loop@875-25.Invoke(CompilationThreadToken ctok, Eventually`1 ev2)
at FSharp.Compiler.SourceCodeServices.Parser.CheckOneFile@1731-22.Invoke(CompilationThreadToken ctok)
at <StartupCode$FSharp-Compiler-Private>.$Reactor.EnqueueAndAwaitOpAsync@174-2.Invoke(CompilationThreadToken ctok)
at <StartupCode$FSharp-Compiler-Private>.$Reactor.loop@70-113.Invoke(FSharpOption`1 _arg2)
at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation`1 ctxt, FSharpFunc`2 userCode, b result1)
at <StartupCode$FSharp-Compiler-Private>.$Reactor.loop@57-111.Invoke(AsyncActivation`1 ctxt)
at <StartupCode$FSharp-Core>.$Mailbox.processFirstArrival@344-8.Invoke(AsyncActivation`1 ctxt)
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction)
at Microsoft.FSharp.Control.TrampolineHolder.ExecuteWithTrampoline(FSharpFunc`2 firstAction)
at <StartupCode$FSharp-Core>.$Async.-ctor@167-1.Invoke(Object o)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()"'
Known workarounds
Not that I'm aware
Related information
- Oracle 12.2.0.1-slim Docker Image
- Windows 10
- 1.1.65
- .NET Core 2.2
- Lenguaje dominante
- F#
- Estrellas
- 627
- Forks
- 147
- Merge medio
- 2 h 2 min
- PR fusionados (30 d)
- 1
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fsprojects/SQLProvider
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
fsprojects/SQLProvider#872 · 2 comentarios ·
-
Repo Assist? Abiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
fsprojects/SQLProvider#870 · 1 comentario ·
-
postgresql
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
fsprojects/SQLProvider#869 · 2 comentarios ·
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
fsprojects/SQLProvider#868 · 2 comentarios ·
-
sql server
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fsprojects/SQLProvider#851 · 1 comentario ·
Todos los issues de fsprojects/SQLProvider
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
AstrBotDevs/AstrBot#10205 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
OHDSI/Data2Evidence#3394 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100