root/livinglogic.python.orasql/NEWS.rst @ 292:756a39d157ce

Revision 292:756a39d157ce, 20.7 KB (checked in by Walter Doerwald <walter@…>, 9 years ago)

Fix typo.

Line 
1Changes in 1.27.1 (released 03/31/2009)
2---------------------------------------
3
4*   Fixed a bug in the dependency checking for :meth:`Connnection.itertables`.
5
6*   ``oradelete`` now has a new option to use ``truncate table`` instead of
7    ``delete from``.
8
9
10Changes in 1.27 (released 03/31/2009)
11-------------------------------------
12
13*   Added a new script ``oradelete`` that can be used to delete all records from
14    all tables and to reset all sequences.
15
16*   :class:`Connection` has a new method :meth:`itersequences`.
17
18*   Fixed a bug in the generated SQl code for triggers (the name always included
19    the name of the original schema).
20
21
22Changes in 1.26 (released 03/27/2009)
23-------------------------------------
24
25*   :mod:`ll.orasql` now requires cx_Oracle 5.0 compiled in Unicode mode
26    (i.e. with ``WITH_UNICODE=1``). Lots of unicode handling stuff has been
27    rewritten to take advantage of Unicode mode.
28
29*   ``orafind`` has a new option ``--encoding`` to decode the searchstring on the
30    commandline.
31
32*   The :class:`Pool` constructor now supports the additional arguments
33    :var:`getmode` and :var:`homogeneous` from cx_Oracle 5.0.
34
35*   Fix a typo in :meth:`Privilege.grantddl`.
36
37
38Changes in 1.25.4 (released 01/21/2009)
39---------------------------------------
40
41*   Procedures and functions with timestamp arguments can now be called.
42
43
44Changes in 1.25.3 (released 11/07/2008)
45---------------------------------------
46
47*   Procedures and functions now should handle arguments of type ``BLOB``
48    correctly.
49
50
51Changes in 1.25.2 (released 08/29/2008)
52---------------------------------------
53
54*   :class:`Record` has a new method :meth:`get` which works like the dictionary
55    method :meth:`get`.
56
57
58Changes in 1.25.1 (released 07/21/2008)
59---------------------------------------
60
61*   ``orafind.py`` now has an additional options :option:`readlobs` (defaulting
62    to false). If this option is set, the value of LOBs in the records found,
63    will be printed.
64
65
66Changes in 1.25 (released 06/17/2008)
67-------------------------------------
68
69*   A new script has been added: ``orafind.py`` will search for a specified
70    string in all columns of all tables in a schema.
71
72
73Changes in 1.24.1 (released 05/30/2008)
74---------------------------------------
75
76*   Fixed two bugs in :meth:`Callable._calcargs` and :meth:`Connection.getobject`.
77
78
79Changes in 1.24 (released 05/20/2008)
80---------------------------------------
81
82*   :meth:`Connection.getobject`, :class:`Procedure` and :class:`Function` now
83    support functions and procedures in packages.
84
85*   Added :meth:`__repr__` to the exception classes.
86
87
88Changes in 1.23.4 (released 04/04/2008)
89---------------------------------------
90
91*   All database scripts now have an additional option :option:`encoding` that
92    specifies the encoding for the output script.
93
94
95Changes in 1.23.3 (released 04/03/2008)
96---------------------------------------
97
98*   Fixed a regression in the scripts ``oracreate.py``, ``oradrop.py`` and
99    ``oragrant.py``.
100
101
102Changes in 1.23.2 (released 04/01/2008)
103---------------------------------------
104
105*   When calling functions/procedures, arguments are now wrapped in variable
106    objects for their real type instead of ones for the type the function or
107    procedure expects.
108
109
110Changes in 1.23.1 (released 03/25/2008)
111---------------------------------------
112
113*   Added a :meth:`__contains__` to :class:`Record` for checking the existence
114    of a field.
115
116
117Changes in 1.23 (released 03/25/2008)
118-------------------------------------
119
120*   Calling procedures and functions has been rewritten: :mod:`ll.orasql` will
121    only pass those parameters to the procedure/function that are passed to the
122    call (or variables for out parameters). Internally this is handled by
123    executing the call as a parameterized query calling the procedure/function
124    with named arguments.
125
126*   :class:`FetchRecord` has been renamed to :class:`Record` (and is used for
127    the result of procedure and function calls now, which required some internal
128    changes to :class:`FetchRecord`). The former :class:`Record` has been renamed
129    to :class:`Args` as its only use now is collecting arguments for
130    procedure/function calls. (The method :meth:`fromdata` has been dropped.)
131
132*   The :meth:`__repr__` output of :class:`Argument` objects now shows the
133    datatype.
134
135
136Changes in 1.22 (released 03/19/2008)
137-------------------------------------
138
139*   Added a new method :meth:`_getobject` to :class:`Connection` that does
140    what :meth:`getobject` does, but is case sensitive (This is used internally
141    by :meth:`Synonym.getobject`).
142
143*   The methods :meth:`xfetchone`, :meth:`xfetchmany`, :meth:`xfetchall`,
144    :meth:`xfetch`, :meth:`xexecute` and :meth:`xexecutemany` have been dropped
145    again. Fetch result objects are now of type :class:`FetchRecord`. Field
146    access is available via index (i.e. ``row[0]``), key (``row["name"]``)
147    and attribute (``row.name``). These result objects are generated via the
148    :attr:`rowfactory` attribute (which was added in cx_Oracle 4.3.2).
149    All fetch and execute methods support unicode values.
150
151
152Changes in 1.21.1 (released 03/17/2008)
153---------------------------------------
154
155*   Updated the scripts to work with the new execute methods.
156
157
158Changes in 1.21 (released 03/13/2008)
159-------------------------------------
160
161*   :class:`Connection` has a new method :meth:`getobject`, which returns the
162    schema object with a specified name.
163
164*   :class:`Synonym` has a new method :meth:`getobject`, that returns the object
165    for which the :class:`Synonym` object is a synonym.
166
167*   The name of :class:`Procedure` and :class:`Function` objects now is case
168    sensitive when calling the procedure or function.
169
170
171
172Changes in 1.20 (released 02/07/2008)
173-------------------------------------
174
175*   The fancy fetch methods have been renamed to :meth:`xfetchone`,
176    :meth:`xfetchmany`, :meth:`xfetchall` and :meth:`xfetch`. :meth:`__iter__`
177    no longer gets overwritten. New methods :meth:`xexecute` and
178    :meth:`xexecutemany` have been added, that support passing unicode
179    parameters.
180
181
182Changes in 1.19 (released 02/01/2008)
183-------------------------------------
184
185*   All docstrings use ReST now.
186
187
188Changes in 1.18 (released 01/07/2008)
189-------------------------------------
190
191*   Updated the docstrings to XIST 3.0.
192
193*   Added ReST versions of the documentation.
194
195
196Changes in 1.17.5 (released 08/09/2007)
197---------------------------------------
198
199*   Fixed a bug in the error handling of wrong arguments when calling
200    functions or procedures.
201
202
203Changes in 1.17.4 (released 04/30/2007)
204---------------------------------------
205
206*   The threshold for string length for procedure and function arguments has
207    been reduced to 4000.
208
209
210Changes in 1.17.3 (released 03/08/2007)
211---------------------------------------
212
213*   ``BLOB`` arguments for procedures and functions are always passed as
214    variables now.
215
216
217Changes in 1.17.2 (released 03/07/2007)
218---------------------------------------
219
220*   Arguments for procedures and functions that are longer that 32000 characters
221    are passed as variables now (the threshold was 32768 before and didn't work).
222
223
224Changes in 1.17.1 (released 03/02/2007)
225---------------------------------------
226
227*   Fix an inverted logic bug in :meth:`Record.fromdata` that surfaced in unicode
228    mode: ``BLOB``\s were treated as string and ``CLOB``\s as binary data.
229
230
231Changes in 1.17 (released 02/23/2007)
232-------------------------------------
233
234*   The :var:`readlobs` and :var:`unicode` parameters are now honored when
235    calling procedures and functions via :class:`Procedure` and
236    :class:`Function` objects.
237
238
239Changes in 1.16 (released 02/21/2007)
240-------------------------------------
241
242*   A parameter :var:`unicode` has been added to various constructors and methods.
243    This parameter can be used to get strings (i.e. ``VARCHAR2`` and ``CLOB``\s)
244    as :class:`unicode` object instead of :class:`str` objects.
245
246
247Changes in 1.15 (released 02/17/2007)
248-------------------------------------
249
250*   Fixed an output bug in ``oradiff.py`` when running in full output mode.
251
252*   A parameter :var:`readlobs` has been added to various constructors and
253    methods that can be used to get small (or all) ``LOB`` values as strings in
254    cursor fetch calls.
255
256
257Changes in 1.14 (released 02/01/2007)
258-------------------------------------
259
260*   A new method :meth:`iterprivileges` has been added to :class:`Connection`.
261
262*   A script ``oragrant.py`` has been added for copying privileges.
263
264
265Changes in 1.13 (released 11/06/2006)
266-------------------------------------
267
268*   Two new methods (:meth:`itertables` and :meth:`iterfks`) have been added to
269    :class:`Connection`. They yield all table definitions or all foreign keys
270    respectively.
271
272*   A new method :meth:`isenabled` has been added to :class:`ForeignKey`.
273
274*   A :meth:`__str__` method has been added to :class:`Object`.
275
276*   A bug in ``oramerge.py`` has been fixed: In certain situations ``oramerge.py``
277    used merging actions that were meant to be used for the preceeding object.
278
279
280Changes in 1.12.2 (released 10/18/2006)
281---------------------------------------
282
283*   Fixed a bug that showed up when an index and a foreign key of the same name
284    existed.
285
286
287Changes in 1.12.1 (released 09/19/2006)
288---------------------------------------
289
290*   Fixed a bug in :meth:`Index.__xattrs__`.
291
292
293Changes in 1.12 (released 09/06/2006)
294-------------------------------------
295
296*   :class:`Function` objects are now callable too. They return the return value
297    and a :class:`Record` containing the modified input parameters.
298
299
300Changes in 1.11.1 (released 08/29/2006)
301---------------------------------------
302
303*   Fixed a bug in :meth:`Column.modifyddl`.
304
305
306Changes in 1.11 (released 08/22/2006)
307-------------------------------------
308
309*   The class :class:`Column` has gained a few new methods: :meth:`datatype`,
310    :meth:`default`, :meth:`nullable` and :meth:`comment`.
311
312*   Calling a procedure will now raise a :class:`SQLObjectNotFoundError` error,
313    if the procedure doesn't exist.
314
315
316Changes in 1.10 (released 08/11/2006)
317-------------------------------------
318
319*   The classes :class:`Proc` and :class:`LLProc` have been removed. The
320    functionality of :class:`Proc` has been merged into
321    :class:`ProcedureDefinition` (with has been renamed to :class:`Procedure`).
322    Information about the procedure arguments is provided by the
323    :meth:`iteraguments` method.
324
325*   All other subclasses of :class:`Definition` have been renamed to remove the
326    "Definition" for the name to reduce typing. (Methods have been renamed
327    accordingly too.)</li>
328
329*   :func:`oramerge.main` and :func:`oradiff.main` now accept option arrays as
330    arguments.
331
332*   ``oradiff.py`` has finally been fixed.
333
334
335Changes in 1.9.4 (released 08/09/2006)
336--------------------------------------
337
338*   Fixed a bug in ``oradiff.py``.
339
340
341Changes in 1.9.3 (released 08/08/2006)
342--------------------------------------
343
344*   Fixed a bug in ``oramerge.py``.
345
346
347Changes in 1.9.2 (released 08/04/2006)
348--------------------------------------
349
350*   Fixed a bug in :meth:`TableDefinition.iterdefinitions`.
351
352
353Changes in 1.9.1 (released 08/02/2006)
354--------------------------------------
355
356*   Fixed a bug in ``oracreate.py``.
357
358
359Changes in 1.9 (released 07/24/2006)
360------------------------------------
361
362*   Dependencies involving :class:`MaterializedViewDefinition` and
363    :class:`IndexDefinition` objects generated by constraints work properly now,
364    so that iterating all definitions in create order really results in a
365    working SQL script.
366
367*   A method :meth:`table` has been added to :class:`PKDefinition`,
368    :class:`FKDefinition`, :class:`UniqueDefinition` and
369    :class:`IndexDefinition`. This method returns the :class:`TableDefinition` to
370    object belongs to.
371
372*   A method :meth:`pk` has been added to :class:`FKDefinition`. It returns the
373    primary key that this foreign key references.
374
375*   Indexes and constraints belonging to skipped tables are now skipped too in
376    ``oracreate.py``.
377
378*   Arguments other than ``sys.argv[1:]`` can now be passed to the
379    ``oracreate.py`` and ``oradrop.py`` :func:`main` functions.
380
381
382Changes in 1.8.1 (released 07/17/2006)
383--------------------------------------
384
385*   :mod:`ll.orasql` can now handle objects name that are not in uppercase.
386
387
388Changes in 1.8 (released 07/14/2006)
389------------------------------------
390
391*   :meth:`Connection.iterobjects` has been renamed to :meth:`iterdefinitions`.
392
393*   Each :class:`Definition` subclass has a new classmethod
394    :meth:`iterdefinitions` that iterates through all definitions of this type
395    in a schema (or all schemas).
396
397*   Each :class:`Definition` subclass has new methods :meth:`iterreferences` and
398    :meth:`iterreferencedby` that iterate through related definitions. The
399    methods :meth:`iterreferencesall` and :meth:`iterreferencedbyall` do this
400    recursively. The method :meth:`iterdependent` is gone now.
401
402*   The method :meth:`iterschema` of :class:`Connection` now has an additional
403    parameter :var:`schema`. Passing ``"all"`` for :var:`schema` will give you
404    statistics for the complete database not just one schema.
405
406*   A new definition class :class:`MaterializedViewDefinition` has been added
407    that handles materialized views. Handling of create options is rudimentary
408    though. Patches are welcome.
409
410*   :class:`TableDefinition` has a three new methods: :meth:`ismview` returns
411    whether the table is a materialized view; :meth:`itercomments` iterates
412    through comments and :meth:`iterconstraints` iterates through primary keys,
413    foreign keys and unique constraints.
414
415*   The method :meth:`getcursor` will now raise a :class:`TypeError` if it can't
416    get a cursor.
417
418
419Changes in 1.7.2 (released 07/05/2006)
420--------------------------------------
421
422*   ``RAW`` fields in tables are now output properly in
423    :meth:`TableDefinition.createddl`.
424
425*   A class :class:`PackageBodyDefinition` has been added. ``oracreate.py`` will
426    output package body definitions and ``oradrop.py`` will drop them.
427
428
429Changes in 1.7.1 (released 07/04/2006)
430--------------------------------------
431
432*   Duplicate code in the scripts has been removed.
433
434*   Fixed a bug in ``oramerge.py``: If the source to be diffed was long enough
435    the call to ``diff3`` deadlocked.
436
437
438Changes in 1.7 (released 06/29/2006)
439------------------------------------
440
441*   The method :meth:`iterobjects` has been moved from :class:`Cursor` to
442    :class:`Connection`.
443
444*   The method :meth:`itercolumns` has been moved from :class:`Cursor` to
445    :class:`TableDefinition`.
446
447*   :class:`LLProc` now recognizes the ``c_out`` parameter used by
448    :mod:`ll.toxic` 0.8.
449
450*   Support for positional arguments has been added for :class:`Proc` and
451    :class:`LLProc`. Error messages for calling procedures have been enhanced.
452
453*   :class:`SequenceDefinition` now has a new method :meth:`createddlcopy` that
454    returns code that copies the sequence value. ``oracreate.py`` has a new
455    option :option:`-s`/:option:`--seqcopy` that uses this feature.
456
457*   :mod:`setuptools` is now supported for installation.
458
459
460Changes in 1.6 (released 04/26/2006)
461------------------------------------
462
463*   Added a :class:`SessionPool` (a subclass of :class:`SessionPool` in
464    :mod:`cx_Oracle`) whose :meth:`acquire` method returns
465    :mod:`ll.orasql.Connection` objects.
466
467
468Changes in 1.5 (released 04/05/2006)
469------------------------------------
470
471*   Added a class :class:`IndexDefinition` for indexes. ``oracreate.py`` will
472    now issue create statements for indexes.
473
474
475Changes in 1.4.3 (released 12/07/2005)
476--------------------------------------
477
478*   Fixed a bug with empty lines in procedure sources.
479
480*   Remove spurious spaces at the start of procedure and function definitions.
481
482
483Changes in 1.4.2 (released 12/07/2005)
484--------------------------------------
485
486*   Fixed a bug that the DDL output of Java source.
487
488*   Trailing whitespace in each line of procedures, functions etc. is now stripped.
489
490
491Changes in 1.4.1 (released 12/06/2005)
492--------------------------------------
493
494*   Fixed a bug that resulted in omitted field lengths.
495
496
497Changes in 1.4 (released 12/05/2005)
498------------------------------------
499
500*   The option :option:`-m`/:option:`--mode` has been dropped from the script
501    ``oramerge.py``.
502
503*   A new class :class:`ColumnDefinition` has been added to :mod:`ll.orasql`.
504    The :class:`Cursor` class has a new method :meth:`itercolumns` that iterates
505    the :class:`ColumnDefinition` objects of a table.
506
507*   ``oramerge.py`` now doesn't output a merged ``create table`` statement, but
508    the appropriate ``alter table`` statements.
509
510
511Changes in 1.3 (released 11/24/2005)
512------------------------------------
513
514*   Added an option :option:`-i` to ``oracreate.py`` and ``oradrop.py`` to
515    ignore errors.
516
517*   The argument :var:`all` of the cursor method :meth:`iterobjects` is now
518    named :var:`schema` and may have three values: ``"own"``, ``"dep"`` and
519    ``"all"``.
520
521*   Added an script ``oramerge.py`` that does a three way merge of three database
522    schemas and outputs the resulting script.
523
524*   DB links are now copied over in :class:`SynonymDefinition` objects.
525
526
527Changes in 1.2 (released 10/24/2005)
528------------------------------------
529
530*   Added a argument to :meth:`createddl` and :meth:`dropddl` to specify if
531    terminated or unterminated DDL is wanted (i.e. add ``;`` or ``/`` or not).
532
533*   :class:`CommentsDefinition` has been renamed to :class:`CommentDefinition`
534    and holds the comment for one field only.
535
536*   :class:`JavaSourceDefinition` has been added.
537
538*   The scripts ``oracreate.py``, ``oradrop.py`` and ``oradiff.py`` now skip
539    objects with ``"$"`` in their name by default. This can be changed with the
540    :option:`-k` option (but this will lead to unexecutable scripts).
541
542*   ``oradiff.py`` has a new options :option:`-b`: This allows you to specify
543    how whitespace should be treated.
544
545*   Added an option :option:`-x` to ``oracreate.py`` to make it possible to
546    directly execute the DDL in another database.
547
548*   Fixed a bug in :class:`SequenceDefinition` when the ``CACHE`` field was ``0``.
549
550
551Changes in 1.1 (released 10/20/2005)
552------------------------------------
553
554*   A script ``oradiff.py`` has been added which can be used for diffing Oracle
555    schemas.
556
557*   Definition classes now have two new methods :meth:`cdate` and :meth:`udate`
558    that give the creation and modification time of the schema object
559    (if available).
560
561*   A ``"flat"`` iteration mode has been added to :meth:`Cursor.iterobjects` that
562    returns objects unordered.
563
564*   :class:`Connection` has a new method :meth:`connectstring`.
565
566*   A class :class:`LibraryDefinition` has been added.
567
568*   :meth:`CommentsDefinition.createddl` returns ``""`` instead of ``"\n"`` now
569    if there are no comments.
570
571*   :class:`SQLObjectNotfoundError` has been renamed to
572    :class:`SQLObjectNotFoundError`.
573
574
575Changes in 1.0 (released 10/13/2005)
576------------------------------------
577
578*   :mod:`ll.orasql` requires version 1.0 of the core package now.
579
580*   A new generator method :func:`iterobjects` has been added to the
581    :class:`Cursor` class. This generator returns "definition objects" for all
582    the objects in a schema in topological order (i.e. if the name of an object
583    (e.g. a table) is generated it will only depend on objects whose name has
584    been yielded before). SQL for recreating and deleting these SQL objects can
585    be generated from the definition objects.
586
587*   Two scripts (``oracreate.py`` and ``oradrop.py``) have been added, that
588    create SQL scripts for recreating or deleting the content of an Oracle schema.
589
590
591Changes in 0.7 (released 08/09/2005)
592------------------------------------
593
594*   The commands generated by :func:`iterdrop` no longer have a terminating ``;``,
595    as this seems to confuse Oracle/cx_Oracle.
596
597
598Changes in 0.6 (released 06/20/2005)
599------------------------------------
600
601*   Two new functions have been added: :func:`iterdrop` is a generator that
602    yields information about how to clear the schema (i.e. drop all table,
603    sequences, etc.). :func:`itercreate` yields information about how to recreate
604    a schema.
605
606
607Changes in 0.5 (released 06/07/2005)
608------------------------------------
609
610*   Date values are now supported as ``OUT`` parameters.
611
612
613Changes in 0.4.1 (released 03/22/2005)
614--------------------------------------
615
616*   Added a note about the package init file to the installation documentation.
617
618
619Changes in 0.4 (released 01/03/2005)
620------------------------------------
621
622*   :mod:`ll.orasql` now requires ll-core.
623
624*   Procedures can now be called with string arguments longer that 32768
625    characters. In this case the argument will be converted to a variable before
626    the call. The procedure argument must be a ``CLOB`` in this case.
627
628*   Creating :class:`Record` instances from database data is now done by the
629    class method :meth:`Record.fromdata`. This means it's now possible to use any
630    other class as long as it provides this method.
631
632
633Changes in 0.3 (released 12/09/2004)
634------------------------------------
635
636*   :mod:`ll.orasql` requires cx_Oracle 4.1 now.
637
638
639Changes in 0.2.1 (released 09/09/2004)
640--------------------------------------
641
642*   Fixed a regression bug in :meth:`Proc._calcrealargs` as cursors will now
643    always return :class:`Record` objects.
644
645
646Changes in 0.2 (released 09/08/2004)
647------------------------------------
648
649*   Now generating :class:`Record` object is done automatically in a subclass of
650    :class:`cx_Oracle.Cursor`. So now it's possible to use :mod:`ll.orasql` as an
651    extended :mod:`cx_Oracle`.
652
653
654Changes in 0.1 (released 07/15/2004)
655------------------------------------
656
657*   Initial release.
Note: See TracBrowser for help on using the browser.