root/livinglogic.python.orasql/NEWS.xml @ 182:0d4d435866b6

Revision 182:0d4d435866b6, 15.7 KB (checked in by Walter Doerwald <walter@…>, 13 years ago)

Add class Privilege that models an object grant.

Add Connection.iterprivileges() for getting all privileges.

Add a script oragrant.py for copying privileges.

Update copyright year.

Line 
1<section><title>Changes in 1.13 (released 02/01/2007)</title>
2<ulist>
3<item>A new method <method>iterprivileges</method> has been added to
4<class>Connection</class>.</item>
5<item>A script <filename>oragrant.py</filename> has been added for copying
6privileges.</item>
7</ulist>
8</section>
9
10
11<section><title>Changes in 1.13 (released 11/06/2006)</title>
12<ulist>
13<item>Two new methods (<method>itertables</method> and <method>iterfks</method>)
14have been added to <class>Connection</class>. They yield all table definitions
15or all foreign keys respectively.</item>
16<item>A new method <method>isenabled</method> has been added to
17<class>ForeignKey</class>.</item>
18<item>A <method>__str__</method> method has been added to <class>Object</class>.</item>
19<item>A bug in <filename>oramerge.py</filename> has been fixed: In certain
20situations <filename>oramerge.py</filename> used merging actions that were
21meant to be used for the preceeding object.</item>
22</ulist>
23</section>
24
25
26<section><title>Changes in 1.12.2 (released 10/18/2006)</title>
27<ulist>
28<item>Fixed a bug that showed up when an index and a foreign key
29of the same name existed.</item>
30</ulist>
31</section>
32
33
34<section><title>Changes in 1.12.1 (released 09/19/2006)</title>
35<ulist>
36<item>Fixed a bug in <method>Index.__xattrs__</method>.</item>
37</ulist>
38</section>
39
40
41<section><title>Changes in 1.12 (released 09/06/2006)</title>
42<ulist>
43<item><class>Function</class> objects are now callable too. They return
44the return value and a <class>Record</class> containing the modified
45input parameters.</item>
46</ulist>
47</section>
48
49
50<section><title>Changes in 1.11.1 (released 08/29/2006)</title>
51<ulist>
52<item>Fixed a bug in <method>Column.modifyddl</method>.</item>
53</ulist>
54</section>
55
56
57<section><title>Changes in 1.11 (released 08/22/2006)</title>
58<ulist>
59<item>The class <class>Column</class> has gained a few new methods:
60<method>datatype</method>, <method>default</method>, <method>nullable</method>
61and <method>comment</method>.</item>
62
63<item>Calling a procedure will now raise a <class>SQLObjectNotFoundError</class>
64error, if the procedure doesn't exist.</item>
65</ulist>
66</section>
67
68
69<section><title>Changes in 1.10 (released 08/11/2006)</title>
70<ulist>
71<item>The classes <class>Proc</class> and <class>LLProc</class> have
72been removed. The functionality of <class>Proc</class> has been merged
73into <class>ProcedureDefinition</class> (with has been renamed to
74<class>Procedure</class>). Information about the procedure arguments
75is provided by the <method>iteraguments</method> method.</item>
76
77<item>All other subclasses of <class>Definition</class> have been renamed
78to remove the <z>Definition</z> for the name to reduce typing. (Methods
79have been renamed accordingly too.</item>
80
81<item><function>oramerge.main</function> and <function>oradiff.main</function>
82now accept option arrays as arguments.</item>
83
84<item><filename>oradiff.py</filename> has finally been fixed.</item>
85</ulist>
86</section>
87
88
89<section><title>Changes in 1.9.4 (released 08/09/2006)</title>
90<ulist>
91<item>Fixed a bug in <filename>oradiff.py</filename>.</item>
92</ulist>
93</section>
94
95
96<section><title>Changes in 1.9.3 (released 08/08/2006)</title>
97<ulist>
98<item>Fixed a bug in <filename>oramerge.py</filename>.</item>
99</ulist>
100</section>
101
102
103<section><title>Changes in 1.9.2 (released 08/04/2006)</title>
104<ulist>
105<item>Fixed a bug in <method>TableDefinition.iterdefinitions</method>.</item>
106</ulist>
107</section>
108
109
110<section><title>Changes in 1.9.1 (released 08/02/2006)</title>
111<ulist>
112<item>Fixed a bug in <filename>oracreate.py</filename>.</item>
113</ulist>
114</section>
115
116
117<section><title>Changes in 1.9 (released 07/24/2006)</title>
118<ulist>
119<item>Dependencies involving <class>MaterializedViewDefinition</class>s and
120<class>IndexDefinition</class>s generated by constraints work properly now,
121so that iterating all definitions in create order really results in a
122working &sql; script.</item>
123
124<item>A method <method>table</method> has been added to <class>PKDefinition</class>,
125<class>FKDefinition</class>, <class>UniqueDefinition</class> and
126<class>IndexDefinition</class>. This method returns the <class>TableDefinition</class>
127to object belongs to.</item>
128
129<item>A method <method>pk</method> has been added to <class>FKDefinition</class>.
130It returns the primary key that this foreign key references.</item>
131
132<item>Indexes and constraints belonging to skipped tables are now skipped too
133in <filename>oracreate.py</filename>.</item>
134
135<item>Arguments other than <lit>sys.argv[1:]</lit> can now be passed to the
136<filename>oracreate.py</filename> and <filename>oradrop.py</filename>
137<function>main</function> functions.</item>
138
139</ulist>
140</section>
141
142
143<section><title>Changes in 1.8.1 (released 07/17/2006)</title>
144<ulist>
145<item><module>ll.orasql</module> can now handle objects name that
146are not in uppercase.</item>
147</ulist>
148</section>
149
150
151<section><title>Changes in 1.8 (released 07/14/2006)</title>
152<ulist>
153<item><method>Connection.iterobjects</method> has been renamed to
154<method>iterdefinitions</method>.</item>
155
156<item>Each <class>Definition</class> subclass has a new classmethod
157<method>iterdefinitions</method> that iterates through all definitions
158of this type in a schema (or all schemas).</item>
159
160<item>Each <class>Definition</class> subclass has new methods
161<method>iterreferences</method> and <method>iterreferencedby</method> that
162iterate through related definitions. The methods <method>iterreferencesall</method>
163and <method>iterreferencedbyall</method> do this recursively. The method
164<method>iterdependent</method> is gone now.</item>
165
166<item>The method <method>iterschema</method> of <class>Connection</class>
167now has an additional parameter <arg>schema</arg>. Passing <lit>"all"</lit>
168for <arg>schema</arg> will give you statistics for the complete database
169not just one schema.</item>
170
171<item>A new definition class <class>MaterializedViewDefinition</class> has
172been added that handles materialized views. Handling of create options is
173rudimentary though. Patches are welcome.</item>
174
175<item><class>TableDefinition</class> has a three new methods:
176<method>ismview</method> returns whether the table is a materialized view;
177<method>itercomments</method> iterates through comments and
178<method>iterconstraints</method> iterates through primary keys, foreign keys
179and unique constraints.</item>
180
181<item>The method <method>getcursor</method> will now raise a <class>TypeError</class>
182if it can't get a cursor.</item>
183</ulist>
184</section>
185
186
187<section><title>Changes in 1.7.2 (released 07/05/2006)</title>
188<ulist>
189<item><lit>RAW</lit> fields in tables are now output properly in
190<method>TableDefinition.createddl</method>.</item>
191
192<item>A class <class>PackageBodyDefinition</class> has been added.
193<filename>oracreate.py</filename> will output package body definitions
194and <filename>oradrop.py</filename> will drop them.</item>
195</ulist>
196</section>
197
198
199<section><title>Changes in 1.7.1 (released 07/04/2006)</title>
200<ulist>
201<item>Duplicate code in the scripts has been removed.</item>
202<item>Fixed a bug in <filename>oramerge.py</filename>: If the source
203to be diffed was long enough the call to <filename>diff3</filename> deadlocked.</item>
204</ulist>
205</section>
206
207
208<section><title>Changes in 1.7 (released 06/29/2006)</title>
209<ulist>
210<item>The method <method>iterobjects</method> has been moved from
211<class>Cursor</class> to <class>Connection</class>.</item>
212<item>The method <method>itercolumns</method> has been moved from
213<class>Cursor</class> to <class>TableDefinition</class>.</item>
214<item><class>LLProc</class> now recognizes the <lit>c_out</lit>
215parameter used by <module>ll.toxic</module> 0.8.</item>
216<item>Support for positional arguments has been added for <class>Proc</class>
217and <class>LLProc</class>. Error messages for calling procedures
218have been enhanced.</item>
219<item><class>SequenceDefinition</class> now has a new method
220<method>createddlcopy</method> that returns code that copies the
221sequence value. <filename>oracreate.py</filename> has a new
222option <option>-s</option>/<option>--seqcopy</option> that
223uses this feature.</item>
224<item><module>setuptools</module> is now supported for installation.</item>
225</ulist>
226</section>
227
228
229<section><title>Changes in 1.6 (released 04/26/2006)</title>
230<ulist>
231<item>Added a <class>SessionPool</class> (a subclass of <module>cx_Oracle</module>s
232<class>SessionPool</class>) whose <method>acquire</method> method
233returns <module>ll.orasql.Connection</module> objects.</item>
234</ulist>
235</section>
236
237
238<section><title>Changes in 1.5 (released 04/05/2006)</title>
239<ulist>
240<item>Added a class <class>IndexDefinition</class> for indexes.
241<filename>oracreate.py</filename> will now issue create statements
242for indexes.</item>
243</ulist>
244</section>
245
246
247<section><title>Changes in 1.4.3 (released 12/07/2005)</title>
248<ulist>
249<item>Fixed a bug with empty lines in procedure sources.</item>
250<item>Remove spurious spaces at the start of procedure and function
251definitions.</item>
252</ulist>
253</section>
254
255
256<section><title>Changes in 1.4.2 (released 12/07/2005)</title>
257<ulist>
258<item>Fixed a bug that the DDL output of Java source.</item>
259<item>Trailing whitespace in each line of procedures, functions etc.
260is now stripped.</item>
261</ulist>
262</section>
263
264
265<section><title>Changes in 1.4.1 (released 12/06/2005)</title>
266<ulist>
267<item>Fixed a bug that resulted in omitted field lengths.</item>
268</ulist>
269</section>
270
271
272<section><title>Changes in 1.4 (released 12/05/2005)</title>
273<ulist>
274<item>The option <option>-m</option>/<option>--mode</option> has been dropped
275from the script <filename>oramerge.py</filename>.</item>
276<item>A new class <class>ColumnDefinition</class> has been added to
277<module>ll.orasql</module>. The <class>Cursor</class> class has a new method
278<method>itercolumns</method> that iterates the <class>ColumnDefinition</class>s
279of a table.</item>
280<item><filename>oramerge.py</filename> now doesn't output a merged
281<lit>create table</lit> statement, but the appropriate <lit>alter table</lit>
282statements.</item>
283</ulist>
284</section>
285
286
287<section><title>Changes in 1.3 (released 11/24/2005)</title>
288<ulist>
289<item>Added an option <option>-i</option> to <filename>oracreate.py</filename>
290and <filename>oradrop.py</filename> to ignore errors.</item>
291<item>The argument <arg>all</arg> of the cursor method <method>iterobjects</method>
292is now named <arg>schema</arg> and may have three values: <lit>"own"</lit>,
293<lit>"dep"</lit> and <lit>"all"</lit>.</item>
294<item>Added an script <filename>oramerge.py</filename> that does a three
295way merge of three database schemas and outputs the resulting script.</item>
296<item>DB links are now copied over in <class>SynonymDefinition</class>s.</item>
297</ulist>
298</section>
299
300
301<section><title>Changes in 1.2 (released 10/24/2005)</title>
302<ulist>
303<item>Added a argument to <method>createddl</method> and <method>dropddl</method>
304to specify if terminated or unterminated DDL is wanted (i.e. add <lit>;</lit> or
305<lit>/</lit> or not).</item>
306
307<item><class>CommentsDefinition</class> has been renamed to <class>CommentDefinition</class>
308and holds the comment for one field only.</item>
309
310<item><class>JavaSourceDefinition</class> has been added.</item>
311
312<item>The scripts <filename>oracreate.py</filename>, <filename>oradrop.py</filename>
313and <filename>oradiff.py</filename> now skip objects with <lit>"$"</lit> in their
314name by default. This can be changed with the <option>-k</option> option (but
315this will lead to unexecutable scripts).</item>
316
317<item><filename>oradiff.py</filename> has a new options <option>-b</option>:
318This allows you to specify how whitespace should be treated.</item>
319
320<item>Added an option <option>-x</option> to <filename>oracreate.py</filename> to
321make it possible to directly execute the DDL in another database.</item>
322
323<item>Fixed a bug in <class>SequenceDefinition</class> when the <lit>CACHE</lit>
324field was <lit>0</lit>.</item>
325</ulist>
326
327</section>
328
329
330<section><title>Changes in 1.1 (released 10/20/2005)</title>
331<ulist>
332<item>A script <filename>oradiff.py</filename> has been added which can be
333used for diffing Oracle schemas.</item>
334
335<item>Definition classes now have two new methods <method>cdate</method> and
336<method>udate</method> that give the creation and modification time of the
337schema object (if available).</item>
338
339<item>A <lit>"flat"</lit> iteration mode has been added to
340<method>Cursor.iterobjects</method> that returns objects unordered.</item>
341
342<item><class>Connection</class> has a new method <method>connectstring</method>.</item>
343
344<item>A class <class>LibraryDefinition</class> has been added.</item>
345
346<item><method>CommentsDefinition.createddl</method> returns <lit>""</lit>
347instead of <lit>"\n"</lit> now if there are no comments.</item>
348
349<item><class>SQLObjectNotfoundError</class> has been renamed to
350<class>SQLObjectNotFoundError</class>.</item>
351</ulist>
352</section>
353
354
355<section><title>Changes in 1.0 (released 10/13/2005)</title>
356<ulist>
357<item><module>ll.orasql</module> requires version 1.0 of the core package now.</item>
358
359<item>A new generator method <function>iterobjects</function> has been added
360to the <class>Cursor</class> class. This generator returns <z>definition objects</z>
361for all the objects in a schema in topological order (i.e. if the name of an
362object (e.g. a table) is generated it will only depend on objects whose name has
363been yielded before). &sql; for recreating and deleting these &sql; objects
364can be generated from the definition objects.</item>
365
366<item>Two scripts (<filename>oracreate.py</filename> and
367<filename>oradrop.py</filename>) have been added, that create &sql; scripts
368for recreating or deleting the content of an Oracle schema.</item>
369</ulist>
370</section>
371
372
373<section><title>Changes in 0.7 (released 08/09/2005)</title>
374<ulist>
375<item>The commands generated by <function>iterdrop</function> no longer have
376a terminating <lit>;</lit>, as this seems to confuse Oracle/cx_Oracle.</item>
377</ulist>
378</section>
379
380
381<section><title>Changes in 0.6 (released 06/20/2005)</title>
382<ulist>
383<item>Two new functions have been added: <function>iterdrop</function> is
384a generator that yields information about how to clear the schema (i.e. drop
385all table, sequences, etc.). <function>itercreate</function> yields information
386about how to recreate a schema.</item>
387</ulist>
388</section>
389
390
391<section><title>Changes in 0.5 (released 06/07/2005)</title>
392<ulist>
393<item>Date values are now supported as <lit>OUT</lit> parameters.</item>
394</ulist>
395</section>
396
397
398<section><title>Changes in 0.4.1 (released 03/22/2005)</title>
399<ulist>
400<item>Added a note about the package init file to the installation
401documentation.</item>
402</ulist>
403</section>
404
405
406<section><title>Changes in 0.4 (released 01/03/2005)</title>
407<ulist>
408<item><module>ll.orasql</module> now requires <app>ll-core</app>.</item>
409<item>Procedures can now be called with string arguments longer that 32768
410characters. In this case the argument will be converted to a variable before
411the call. The procedure argument must be a <lit>CLOB</lit> in this case.</item>
412<item>Creating <class>Record</class> instances from database data is now done
413by the class method <method>Record.fromdata</method>. This means it's now
414possible to use any other class as long as it provides this method.</item>
415</ulist>
416</section>
417
418
419<section><title>Changes in 0.3 (released 12/09/2004)</title>
420<ulist>
421<item><module>ll.orasql</module> requires <app>cx_Oracle 4.1</app> now.</item>
422</ulist>
423</section>
424
425
426<section><title>Changes in 0.2.1 (released 09/09/2004)</title>
427<ulist>
428<item>Fixed a regression bug in <method>Proc._calcrealargs</method> as
429cursors will now always return <class>Record</class> objects.</item>
430</ulist>
431</section>
432
433
434<section><title>Changes in 0.2 (released 09/08/2004)</title>
435<ulist>
436<item>Now generating <class>Record</class> object is done automatically
437in a subclass of <class>cx_Oracle.Cursor</class>. So now it's possible
438to use <module>ll.orasql</module> as an extended <module>cx_Oracle</module>.</item>
439</ulist>
440</section>
441
442
443<section><title>Changes in 0.1 (released 07/15/2004)</title>
444<ulist>
445<item>Initial release.</item>
446</ulist>
447</section>
Note: See TracBrowser for help on using the browser.