示例#1
0
 public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
 {
     retrieveIdMethod = RetrieveIdMethod.ReturnValue;
     if (createAndRetrieveIdPlaceholderValues == null)
     {
         lock (this) {
             if (createAndRetrieveIdPlaceholderValues == null)
             {
                 createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>();
                 createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, "; SELECT LAST_IDENTITY()");
             }
         }
     }
     return(createAndRetrieveIdPlaceholderValues);
 }
示例#2
0
        public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
        {
            retrieveIdMethod = RetrieveIdMethod.OutputParameter;
            if (createAndRetrieveIdPlaceholderValues == null)
            {
                lock (this) {
                    if (createAndRetrieveIdPlaceholderValues == null)
                    {
                        createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>();
                        string afterStatement;
                        if (IsLinkedServerEntity)
                        {
                            afterStatement = "; SELECT oshe_globals.getidentity INTO " + outputParameterName + " FROM dual";
                        }
                        else
                        {
                            afterStatement = " RETURNING " + idColumnName + " INTO " + outputParameterName;
                        }
#if JAVA
                        createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.BeforeStatement, "BEGIN ");
                        afterStatement += "; END;";
#endif
                        createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, afterStatement);
                    }
                }
            }
            return(createAndRetrieveIdPlaceholderValues);
        }
 public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
 {
     retrieveIdMethod = RetrieveIdMethod.ReturnValue;
     if (createAndRetrieveIdPlaceholderValues == null)
     {
         lock (andLoll) {
             if (createAndRetrieveIdPlaceholderValues == null)
             {
                 createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>();
                 createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.BeforeStatement, "SELECT " + idColumnName + " FROM FINAL TABLE (");
                 createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, ")");
             }
         }
     }
     return(createAndRetrieveIdPlaceholderValues);
 }
 /// <summary>
 /// Returns additional DML expression to be inserted in the <code>SELECT</code> statement
 /// generated by the platform for the <code>Create</code> entity action, when it's necessary
 /// to retrieve the <code>Id</code> of the record created.
 /// <para>This implementation returns Null and sets <code>retrieveIdMethod</code> to <code>ReturnValue</code>.</para>
 /// </summary>
 /// <param name="idColumnName">Column that stores the identifiers.</param>
 /// <param name="outputParameterName">If the <code>retrieveIdMethod</code> is <code>OutputParameter</code>, this is the name of the parameter that will hold the value stored
 /// in <code>idColumnName</code>, otherwise it should be ignored.</param>
 /// <param name="retrieveIdMethod">Method used by the platform to retrieve the identifier.</param>
 /// <returns>An <see cref="IDictionary{TKey,TValue}"/> with the DML expressions.</returns>
 public virtual IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
 {
     retrieveIdMethod = RetrieveIdMethod.ReturnValue;
     return(null);
 }
 public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
 {
     retrieveIdMethod = RetrieveIdMethod.ReturnValue;
     if (createAndRetrieveIdPlaceholderValues == null)
     {
         lock (this) {
             if (createAndRetrieveIdPlaceholderValues == null)
             {
                 createAndRetrieveIdPlaceholderValues = GetSQLPlaceholderValuesForCreate(true);
             }
         }
     }
     return(createAndRetrieveIdPlaceholderValues);
 }
 public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
 {
     #warning "How to accomplish this in Snowflake?"
     retrieveIdMethod = RetrieveIdMethod.ReturnValue;
     if (createAndRetrieveIdPlaceholderValues == null)
     {
         lock (this)
         {
             if (createAndRetrieveIdPlaceholderValues == null)
             {
                 createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>();
                 //createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, "; SELECT LAST_INSERT_ID()");
             }
         }
     }
     return(createAndRetrieveIdPlaceholderValues);
 }
示例#7
0
        public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
        {
            retrieveIdMethod = RetrieveIdMethod.ReturnValue;

            return(new Dictionary <InsertPlaceholder, string>()
            {
                { InsertPlaceholder.AfterStatement, "RETURNING " + idColumnName }
            });
        }
 public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod)
 {
     retrieveIdMethod = RetrieveIdMethod.ReturnValue;
     if (createAndRetrieveIdPlaceholderValues == null)
     {
         lock (andLoll) {
             if (createAndRetrieveIdPlaceholderValues == null)
             {
                 createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>();
                 //Removed using IDENTITY_VAL_LOCAL as it always return previously inserted value for DB2 LUW
                 createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.BeforeStatement, "SELECT " + idColumnName + " from NEW TABLE (");
                 createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, ")");
             }
         }
     }
     return(createAndRetrieveIdPlaceholderValues);
 }