mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
Author:halw
Date:2008-12-07T17:38:05.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@127 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
* Fixed missing detection of VREG and VRFT errors for labels of a named tuples which is used as an actual generic parameter of a type (fixes eweasel test#tuple012 and test#tuple013), thus some of your code might be broken since the compiler failed to check this before.
|
||||
* Fixed eweasel test#valid222 where compiler properly detects VDRS-4 errors when you redefine a repeatedly inherited routine in at least one but not all branches, but fail to provide a local definition.
|
||||
* Now a formal generic parameter only conforms to a formal generic parameter, that is to say assignment to a formal generic parameter where the source is of type NONE (i.e <eiffel>Void</eiffel>) will now be rejected by the compiler.
|
||||
* Dropped support for older Microsoft C/C++ compilers on Windows platforms. We only support VS 2005 or greater.
|
||||
|
||||
==Bug fixes==
|
||||
|
||||
|
||||
@@ -10,7 +10,9 @@ Use the [[ref:/libraries/store/reference/db_change_flatshort|DB_CHANGE]] class
|
||||
<code>
|
||||
modification: DB_CHANGE
|
||||
-- Modification tool.
|
||||
|
||||
...
|
||||
|
||||
create modification.make
|
||||
modification.modify ("Update CONTACTS set Firstname = ' John'")
|
||||
</code>
|
||||
@@ -19,7 +21,9 @@ Use the [[ref:/libraries/store/reference/db_change_flatshort|DB_CHANGE]] class
|
||||
<code>
|
||||
session_control: DB_CONTROL
|
||||
-- Session control.
|
||||
|
||||
...
|
||||
|
||||
session_control.commit
|
||||
</code>
|
||||
|
||||
|
||||
@@ -9,7 +9,10 @@ Use the [[ref:/libraries/store/reference/db_selection_flatshort|DB_SELECTION]]
|
||||
* You can carry out 'select' queries in an intuitive way using directly the SQL language:
|
||||
<code>
|
||||
selection: DB_SELECTION
|
||||
-- Selection tool
|
||||
|
||||
...
|
||||
|
||||
create selection.make
|
||||
selection.set_query ("select * from CONTACTS where firstname = 'John'")
|
||||
selection.execute
|
||||
|
||||
@@ -17,7 +17,9 @@ To use DB_RESULT, process in 2 steps:
|
||||
<code>
|
||||
selection: DB_SELECTION
|
||||
my_result: DB_RESULT
|
||||
|
||||
...
|
||||
|
||||
selection.query ("...")
|
||||
if selection.is_ok then
|
||||
selection.load_result
|
||||
@@ -29,6 +31,9 @@ To use DB_RESULT, process in 2 steps:
|
||||
<code>
|
||||
selection: DB_SELECTION
|
||||
container: ARRAYED_LIST [DB_RESULT]
|
||||
|
||||
...
|
||||
|
||||
create container.make (Max_results)
|
||||
...
|
||||
selection.set_container (container)
|
||||
@@ -54,12 +59,16 @@ To use DB_RESULT, process in 2 steps:
|
||||
redefine
|
||||
execute, found
|
||||
end
|
||||
|
||||
...
|
||||
|
||||
execute
|
||||
do
|
||||
i := i + 1
|
||||
end
|
||||
|
||||
...
|
||||
|
||||
found: BOOLEAN
|
||||
do
|
||||
Result := i >= Max_result
|
||||
@@ -69,7 +78,9 @@ To use DB_RESULT, process in 2 steps:
|
||||
<code>
|
||||
selection: DB_SELECTION
|
||||
action: MY_ACTION
|
||||
|
||||
...
|
||||
|
||||
selection.set_action (action)
|
||||
selection.query ("...")
|
||||
if selection.is_ok then
|
||||
@@ -85,7 +96,9 @@ A DB_RESULT object merely carries data retrieved from the database. You have to
|
||||
<code>
|
||||
selection: DB_SELECTION
|
||||
tuple: DB_TUPLE
|
||||
|
||||
...
|
||||
|
||||
create tuple
|
||||
tuple.copy (selection.cursor)
|
||||
if tuple.count >= 2 and then tuple.column_name (2).is_equal ("Firstname") then
|
||||
|
||||
Reference in New Issue
Block a user