Udf in dml statements

can we select udf which contains dml statements?

1007109 wrote:
can we select udf which contains dml statements?
Excellent question! And one that illustrates just how careful you have to be when you ASK questions or provide answers.
As with many things Oracle the correct answer is: it depends.
Yes - you can. And no - you can't. And also, yes - you can!
ANY one of those answers is correct, depending on what assumptions the questioner is making and/or what assumptions that you, the answerer are making.
Sometimes a interviewer will ask this old 'trick' question and then get mad at you if you don't give them the answer that they want even if you give them an answer that is CORRECT and even if you explain WHY your answer is correct.
Some questioners are looking for the answer that Frank gave:
>
A function that performs DML (or that calls another sub-program that performs DML) can NOT be used in a SQL statement, such as SELECT.
>
If you just read the 'restrictions' section in the Advanced App Developer's guide you might come up with the answer that Frank gave.
http://docs.oracle.com/cd/E11882_01/appdev.112/e25518/adfns_packages.htm#i1008107
>
Restrictions
When a new SQL statement is run, checks are made to see if it is logically embedded within the execution of a running SQL statement. This occurs if the statement is run from a trigger or from a subprogram that was in turn invoked from the running SQL statement. In these cases, further checks determine if the new SQL statement is safe in the specific context.
These restrictions are enforced on subprograms:
  A subprogram invoked from a query (SELECT statement) or DML statement cannot end the current transaction, create or rollback to a savepoint, or ALTER the system or session.
  A subprogram invoked from a query or parallelized DML statement cannot run a DML statement or otherwise modify the database.
  A subprogram invoked from a DML statement cannot read or modify the particular table being modified by that DML statement.
>
But then if you read the very next sentence in that doc you will see this:
>
You can avoid these restrictions if the execution of the new SQL statement is not logically embedded in the context of the running statement. PL/SQL autonomous transactions provide one escape (see "Autonomous Transactions" ).
>
And finally if the term DML includes the SELECT statement and the SQL Language doc DOES use it that way
http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_1001.htm#i2099257
>
The SELECT statement is a limited form of DML statement in that it can only access data in the database. It cannot manipulate data stored in the database, although it can manipulate the accessed data before returning the results of the query.
>
That doc also lists statements other than the traditional SELECT, INSERT, UPDATE or DELETE
>
Data Manipulation Language (DML) Statements
Data manipulation language (DML) statements access and manipulate data in existing schema objects. These statements do not implicitly commit the current transaction. The data manipulation language statements are:
CALL
DELETE
EXPLAIN PLAN
INSERT
LOCK TABLE
MERGE
SELECT
UPDATE
>
So the CORRECT answer is:
1. No, Frank's answer, if by DML you are only considering INSERT, UPDATE or DELETE statements and you do NOT use the AUTONOMOUS_TRANSACTION pragma.
2. Yes - if DML includes SELECT (LOCK TABLE also works) - you don't need the pragma. A common use of functions is in LOOKUP operations. These functions can be, but should NOT be, called from a sql statement.
3. Yes - if the AUTONOMOUS_TRANSACTION pragma is used. This is NOT recommended.
Try some of the following code examples
>
create or replace function get_dname(p_deptno IN number) return varchar2 is
v_dname dept.dname%type;
begin
  select dname into v_dname from dept where deptno = p_deptno;
  return v_dname;
end;
select empno, ename, deptno, get_dname(deptno) from emp e
where rownum < 4
EMPNO,ENAME,DEPTNO,GET_DNAME(DEPTNO)
7369,SMITH,20,RESEARCH*
7499,ALLEN,30,SALES**
7521,WARD,30,SALES**
create or replace function get_dname1(p_deptno IN number) return varchar2 is
v_dname dept.dname%type;
begin
  update dept set dname = dname || '*' where deptno = p_deptno;
  select dname into v_dname from dept where deptno = p_deptno;
  return v_dname;
end;
select empno, ename, deptno, get_dname1(deptno) from emp e
where rownum < 4
ORA-14551: cannot perform a DML operation inside a query
ORA-06512: at "SCOTT.GET_DNAME1", line 4
create or replace function get_dname2(p_deptno IN number) return varchar2 is
PRAGMA AUTONOMOUS_TRANSACTION;
v_dname dept.dname%type;
begin
  update dept set dname = dname || '*' where deptno = p_deptno;
  commit;
  select dname into v_dname from dept where deptno = p_deptno;
  return v_dname;
end;
select empno, ename, deptno, get_dname2(deptno) from emp e
where rownum < 4
EMPNO,ENAME,DEPTNO,GET_DNAME2(DEPTNO)
7369,SMITH,20,RESEARCH**
7499,ALLEN,30,SALES***
7521,WARD,30,SALES****
create or replace function get_dname3(p_deptno IN number) return varchar2 is
v_dname dept.dname%type;
begin
  lock table emp_copy in share mode;
  select dname into v_dname from dept where deptno = p_deptno;
  return v_dname;
end;
select empno, ename, deptno, get_dname3(deptno) from emp e
where rownum < 4
EMPNO,ENAME,DEPTNO,GET_DNAME2(DEPTNO)
7369,SMITH,20,RESEARCH**
7499,ALLEN,30,SALES***
7521,WARD,30,SALES****
>

Similar Messages

  • If we use DML statement in function then that function can be used inside s

    if we use DML statement in function then that function can be used inside select query or any DML query?

    select f from t2;I think you meant to query t1.
    It works if the function is an autonomous transaction:
    create or replace function f return number
    is
    PRAGMA AUTONOMOUS_TRANSACTION;
    begin
        update t1 set c=2;
        commit;
        return 1;
    end;
    select f from t1But as Billy said why would you want to do DML this way. And this is not the way autonomous procedures should be used either.
    An an answer to an interview question though nothing wrong with it.

  • PLS-00435: DML statement without BULK In-BIND cannot be used

    My requirement
    I am dynamically creating a staging table my_stg, and then populate it. Seems simple, but not sure why i get this error,
    create table gtest4(myid varchar2(10), mykey varchar2(10));
    create table gtest5(myid varchar2(10), mykey varchar2(10));
    insert into gtest4 values(1,3);
    insert into gtest4 values(2,7);
    insert into gtest5 values(5,3);
    insert into gtest5 values (1,7);
    commit;
    /* Formatted on 2012/01/27 17:52 (Formatter Plus v4.8.8) */
    CREATE OR REPLACE PROCEDURE px
    IS
    TYPE rectype IS RECORD (
    myid VARCHAR2 (100),
    mykey VARCHAR2 (100)
    TYPE tabtype IS TABLE OF rectype
    INDEX BY BINARY_INTEGER;
    rec tabtype;
    cur sys_refcursor;
    BEGIN
    EXECUTE IMMEDIATE 'create table my_stg(myid varchar2(100), mykey varchar2(100)) ';
    OPEN cur FOR 'select a.myid, b.mykey
    from gtest4 a, gtest5 b
    where a.mykey = b.mykey';
    LOOP
    FETCH cur
    BULK COLLECT INTO rec LIMIT 500;
    FORALL i IN 1 .. rec.COUNT
    EXECUTE IMMEDIATE 'insert into my_stg(myid, mykey) values (rec(i).myid,
    rec(i).mykey)';
    EXIT WHEN cur%NOTFOUND;
    END LOOP;
    END;
    I compile the above proc, and get
    PLS-00435: DML statement without BULK In-BIND cannot be used
    the reason I do insert in execute immediate is because the table my_stg does not exist, it is created on the fly

    I tried the below, used plsql table variables instead of record type
    CREATE OR REPLACE PROCEDURE px
    IS
    TYPE rectype IS RECORD (
    myid VARCHAR2 (100),
    mykey VARCHAR2 (100)
    TYPE tabtype1 IS TABLE OF varchar2(100)
    INDEX BY BINARY_INTEGER;
    TYPE tabtype2 IS TABLE OF varchar2(100)
    INDEX BY BINARY_INTEGER;
    rec1 tabtype1;
    rec2 tabtype2;
    cur sys_refcursor;
    BEGIN
    EXECUTE IMMEDIATE 'create table my_stg(myid varchar2(100), mykey varchar2(100)) ';
    OPEN cur FOR 'select a.myid, b.mykey
    from gtest4 a, gtest5 b
    where a.mykey = b.mykey';
    LOOP
    FETCH cur
    BULK COLLECT INTO rec1, rec2 LIMIT 500;
    FORALL i IN 1 .. rec.COUNT
    execute immediate 'insert into my_stg(myid, mykey) values (:1,:2)
    using rec1(i).myid, rec2(i).mykey;
    EXIT WHEN cur%NOTFOUND;
    END LOOP;
    END;
    I get error
    PLS-00103: Encountered the symbol "insert into my_stg(myi
    mykey) values (:1,:2)
    using rec1(i).myi" when expecting one of the following:
    ( - + case mod new not null <an identifier>
    <a double-quoted delimited-identifier> <a bind variable>
    count current exists max min prior sql stddev sum varianc
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal
    Please help

  • Will Materialized view log reduces the performance of DML statements on the master table

    Hi all,
    I need to refresh a on demand fast refresh Materialized view in Oracle 11GR2. For this purpose I created a Materialized view log on the table (Non partitioned) in which records will be inserted @ rate of 5000/day as follows.
    CREATE MATERIALIZED VIEW LOG ON NOTES NOLOGGING WITH PRIMARY KEY INCLUDING NEW VALUES;
    This table already has 20L records and adding this Mview log will reduce the DML performance on the table ?
    Please guide me on this.

    Having the base table maintain a materialised view log will have an impact on the speed of DML statements - they are doing extra work, which will take extra time. A more sensible question would be to ask whether it will have a significant impact, to which the answer is almost certainly "no".
    5000 records inserted a day is nothing. Adding a view log to the heap really shouldn't cause any trouble at all - but ultimately only your own testing can establish that.

  • Can we do Dml statements on materialize views

    I want to know can we do Dml statements on materialize views .If yes, how

    Can you? Maybe. Depends on how you created the materialized view. Should you? Maybe. Are you running a multi-master environment? Or are you using materialized views for one-way replication? If you are doing one-way replication, do you want your DML changes to be retained beyond the next refresh of the materialized view?
    Justin

  • Golden Gate - DML statements are not replicated to target database

    Hi,
    Testing Environment
    Source:
    OS: RHEL 4.6, Database: 11gR2, Golden Gate 10.4, ASM
    extract ext1
    connection to database
    userid ggate, password qwerty
    hostname and port for trail
    rmthost win2003, mgrport 7800
    path and name for trial
    rmttrail C:\app\admin\GOLDENGATE\dirdat\lt
    EXTTRAIL /u01/oracle/goldengate/dirdat/lt
    --TRANLOGOPTIONS ASMUSER SYS@ASM, ASMPASSWORD sys ALTARCHIVELOGDEST /u03/app/arch/ORCL/archivelog
    --DDL support
    ddl include mapped objname sender.*;
    --DML
    table sender.*;
    Target:
    OS: Windows 2003, Database: 11gR2, Golden Gate 10.4
    --replicate group
    replicat rep1
    --source and target defintions
    ASSUMETARGETDEFS
    --target database login
    userid ggate, password ggate
    --file for discared transaction
    discardfile C:\app\admin\GOLDENGATE\discard\rep1_disc.txt, append, megabytes 10
    --ddl support
    DDL
    --specifying table mapping
    map sender.* ,target receiver.* ;
    I've Successfully setup Oracle Golden Gate test environment as above.
    DDL statements are replicating successfully to target database.
    while DML statements are not being replicated to target database.
    Pl. try to solve the problem
    Regards,
    Edited by: Vihang Astik on Jul 2, 2010 2:33 PM

    Almost ok but how you will handle the overlapping (transactions captured by expdp & captured by Extract too) of transactions for the new table ?
    Metalink doc ID 1332674.1 has the complete steps. Follow the "without HANDLECOLLISIONS" approach.

  • How to monitor DML statements

    Hi pals,
    I want to know how i can monitor DML statements, i can able to monitor select statments but don't DML statements, is there any way or script in following format:
    Executer,Statement,%Completed,%left,Exec_Time,Time_left
    Where
    Executer is a user who runs the statement
    Statement which statement runs
    %completed how much DML operation completed
    %left how much DML operation left
    Exec_Time elapsed time
    time_left how much time remaining in complete operation
    I really apperciate you pals if you can give me some idea how this can be possible??
    Thanks in advance
    Hassan Khan

    Hi,
    These info can be found in V$SESSION_LOGOPS. But the view isn't populated for every query and sometimes it's a bit weird (I actually had queries that ouput 290% of "work" - parallel query side effect). Also notice that this is for long ops, and not everything will be reported there.
    HTH,
    Yoann.

  • How to Split ddl or dml statement

    Hi guys,
    i'm using oracle 11.2
    i've the following question.
    i've a string that can contains multiple ddl or dml statement and i need to split them in more statement.
    i.e. i can have a string like the below and i need 2 string each one with a statement:
    insert into TEST_KIT_USER1.table1 values (1,'a');
    insert into TEST_KIT_USER1.table1 values (2,'b');
    otherwise i can have a string like the below and i need 2 string each one with a statement:
    create table TEST_KIT_USER1.table2
    name char(10),
    surname CHAR(10 BYTE)
    create table TEST_KIT_USER1.table3
    id number,
    description CHAR(10 BYTE)
    is there a simple way to do this?

    Have you tried using iMovie?
    I know that iMovie HD '06 can do this, I'm not sure if '08 can.
    If you have iLife '08, you can download iMovie HD '06 from apple's site here.
    Good luck!

  • Constructing Database Update DML Statements

    This is a very common problem I am sure but want to know how others handle it. I am creating a web application via Servlets and JSPs. I am working with Oracle 10g.
    Here's the problem/question.
    When I present an html form to a user to update an existing record, how do I know what has changed in the record to create the dml statement? I could just update the entire record with the values supplied via the POST data on submit but that does not seem right since maybe only 1 out of 10 fields actually changed. This would also write needless audit and logging information to the database. I have thought about comparing the Request parameters sent with the post with the original java bean used to populate the form in the first place by adding it back to the request as an attribute. Is this the only way to do it or is there a better way?
    Thanks everyone,
    -Brian

    What database drivers are you using? I recall there being some bug in
    sp2 that caused delayed transaction commits for a very specific
    combination of transaction settings and database drivers.
    I think it was third-party type II Oracle drivers and local
    transactions, but I'm not sure.
    In any case, I'd contact support as there is a patch available.
    David
    Gurjit wrote:
    Hi all,
    I have posted something of this sort earlier too. The problem is that
    the database is not reflecting what has been updated using queries from the
    application.
    THe structure of the application is as follows.
    DB = Oracel 8.1.6
    Web Server = iPlanet 4.0
    App Server = iPlanet 6.0 sp2
    The database is connected to via the EJB's. No Database transactions are
    being used except for Bean transactions which are container managed. The
    setAutoCommit flag is set to true. Each query is a transaction. The jsp's
    call these ejb's through wrapper classes. As stated earlier the database
    updates (Inserts, update, delete statements) are not getting reflected in
    the database immediately. The updates happen after a gap of about 7-10
    minutes. Why is this sort of behaviour coming up. This is almost like batch
    updates happening on the database. Is there a setting in IPlanet for
    removing this kind of problem.
    Regards,
    Gurjit

  • Forall with multi dml statements

    hi
    I am trying to write a procedure for learning purpose, but it gives error message.
    Normally we use for loops, it is slow but for loop is a block and you can execute many select and dml statements inside for loop.
    I want to achieve this with bulk collect and for all but I can not. Can you help me?
    /* Formatted on 2009/07/28 07:34 (Formatter Plus v4.8.8) */
    CREATE OR REPLACE PROCEDURE bulk_collect_query
    IS
    TYPE employee_tt IS TABLE OF employees.employee_id%TYPE
    INDEX BY BINARY_INTEGER;
    TYPE salary_tt IS TABLE OF employees.salary%TYPE
    INDEX BY BINARY_INTEGER;
    TYPE hire_date_tt IS TABLE OF employees.hire_date%TYPE
    INDEX BY BINARY_INTEGER;
    hire_datet hire_date_tt;
    employeet employee_tt;
    salariet salary_tt;
    BEGIN
    DBMS_OUTPUT.put_line ('Before Bulk Collect: ' || SYSTIMESTAMP);
    SELECT employee_id, salary, hire_date
    BULK COLLECT INTO employeet, salariet, hire_datet
    FROM employees;
    DBMS_OUTPUT.put_line ('After Bulk Collect: ' || SYSTIMESTAMP);
    FORALL indx IN employeet.FIRST .. employeet.LAST
    begin
    INSERT INTO t_emp_history
    (employee_id, salary, hire_date
    VALUES (employeet (indx), salariet (indx), hire_datet (indx)
    INSERT INTO t_emp_history
    (employee_id, salary, hire_date
    VALUES (employeet (indx), salariet (indx), hire_datet (indx)
    end;
    DBMS_OUTPUT.put_line ('After FORALL: ' || SYSTIMESTAMP);
    COMMIT;
    END;
    /

    /* Formatted on 2009/07/28 07:34 (Formatter Plus v4.8.8) */
    CREATE OR REPLACE PROCEDURE bulk_collect_query
    IS
    type v_datareturn IS record(
    employee_id employees.employee_id%TYPE,
    salary employees.salary%TYPE,
    hire_date employees.hire_date%TYPE
    TYPE employee_tt IS TABLE OF v_datareturn
    INDEX BY BINARY_INTEGER;
    employeet employee_tt;
    CURSOR c IS
    SELECT employee_id, salary, hire_date
    FROM employees;
    BEGIN
    DBMS_OUTPUT.put_line ('Before Bulk Collect: ' || SYSTIMESTAMP);
    OPEN c;
    FETCH c BULK COLLECT INTO employeet;
        FORALL i IN 1..employeet.COUNT
        INSERT INTO t_emp_history VALUES employeet(i);
        CLOSE c;
    DBMS_OUTPUT.put_line ('After Bulk Collect: ' || SYSTIMESTAMP);
    COMMIT;
    END;
    /Untested one.....
    Ravi Kumar

  • Auditing DDL and DML statements of selective IP addresses....

    Hi all,
    DB : 11.2.0.2 64 bit
    OS : RHEL 5.7 64bit
    Hi all,
    I want to audit all DDL and DML statements for some selective IP Addresses or hostnames.
    I read about Fine Grained Audit. I got the following code to enable auditing of nondatabase user's actions(Application users).
    created policy for client identifier.......
    BEGIN
    DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => 'OE',
    OBJECT_NAME => 'ORDERS',
    POLICY_NAME => 'ORDERS_FGA_POL',
    AUDIT_CONDITION => 'SYS_CONTEXT(''USERENV'', ''CLIENT_IDENTIFIER'') = ''Robert''',
    HANDLER_SCHEMA => NULL,
    HANDLER_MODULE => NULL,
    ENABLE => True,
    STATEMENT_TYPES => 'INSERT,UPDATE,DELETE,SELECT',
    AUDIT_TRAIL => DBMS_FGA.DB + DBMS_FGA.EXTENDED,
    AUDIT_COLUMN_OPTS => DBMS_FGA.ANY_COLUMNS);
    END;
    But I want to audit all DDL and DML statements for a particular schema say ABC from selective IP addresses or hostnames so how can I do this?
    Pl suggest.....
    Regards,
    Andy.

    Hi,
    You could :
    1. create a function, say myfunction, returning 1 if you want to audit, 0 otherwise
    This function would test sys_context('userenv','ip_address') within the desired IP address to be audited
    2. create your fga on the objects you want to audit adding the clause audit_condition=>'myfunction=1'
    Nicolas.

  • HR Schema DDL and DML Statements

    Dear all,
    I want all tables and datas for practicing purpose.(HR Schema)
    In Oracle site where can I get these DDL and DML Statements.
    Can Any one post all statements..
    Thanks in advance.

    Unlocking the Sample Tables
    The Human Resources (HR) Sample Schema is installed as part of the default Oracle Database installation. The HR account is locked by default.
    You need to unlock the HR account before you can use the HR sample schema. To unlock the HR account, log in as the SYSTEM user and enter the following command, where your_password is the password you want to define for the user HR:
    ALTER USER HR IDENTIFIED BY your_password ACCOUNT UNLOCK;
    For further information about unlocking the HR account, see the Oracle Database Sample Schemas guide. The HR user is primarily to enable you to access the HR sample schema and is necessary to enable you to run the examples in this guide.
    Each table in the database is "owned" by a particular user. You may wish to have your own copies of the sample tables to use as you try the examples in this guide. To get your own copies of the HR tables, see your DBA or see the Oracle Database Sample Schemas guide, or you can create the HR tables with the script HR_MAIN.SQL which is located in the following directory on UNIX:
    $ORACLE_HOME/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL
    And on the following directory on Windows:
    %ORACLE_HOME%\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL
    To create the HR tables from command-line SQL*Plus, do the following:
    1.
    Ask your DBA for your Oracle Database account username and password.
    2.
    Login to SQL*Plus.
    3.
    On UNIX, enter the following command at the SQL*Plus prompt:
    SQL> @?/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL
    On Windows, enter the following command at the SQL*Plus prompt:
    SQL> @?\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL
    To remove the sample tables, perform the same steps but substitute HR_DROP.SQL for HR_MAIN.SQL.
    Regards
    Asif Kabir

  • DML statements in Function

    Hi,
    I have small question
    Why we should not written DML statements in Function ?
    Can any one explain that
    Thanks...

    971822 wrote:
    Hi,
    I have small question
    Why we should not written DML statements in Function ?
    Can any one explain thatThe answer is: "it depends".
    Functions are used for many many different purposes, and it is the purpose that determines whether it's a good idea to write DML statements in a function.
    As already mentioned, there are the purity rules, that basically say "if you're going to be calling the function from queries etc. then it cannot do DML, otherwise you'll get an exception"
    But there are also functions that are intended to be used within PL/SQL code for other purposes. It may be that you need something that updates some data and returns a result from that updated data, or it returns how much data was effected, in which case it's perfectly ok to have a function do some DML.
    As long as the code is well modularised and makes sense for the purpose for which it is intended, then you are doing the right thing. Where it goes wrong is when people lack design in their applications, and try to write 'generic' functions to be used in PL/SQL or SQL, or fail to modularise code so a function is doing the task of several things based on some parameters etc. when really each task should seperated to it's own functions/procedures etc.
    So we cannot just say that we "should not" write DML inside functions; but we can say that there are design considerations (or lack of) when it would be bad practice to do so.

  • How to trace every dml statement for a schema/ database

    hi,
    how to trace every dml statement for a schema/ database
    PFile Entrie
    init.ora Parameter Example event='1401 trace name errorstack, level 12';
    tkprof orcl_ora_3632.trc b.txt
    after these two steps I am not able to see the sql statements in trace ...
    Please suggest.
    Thanks & Regards,

    Hi,
    Trace Event 1401 will create a trace file and dumps the information when ORA-01401 error occurs. This error occurs when "inserted value too large for column"
    You will see the trace file getting populated only when you encounter ORA-01401 error.
    Regards

  • Writing own dml statements in jdeveloper

    i need to write my own dml statement in a jdevelopers application. like on saving a purchase form i would like to update stock table as well. Some one told me to write code in DoDML procedure but how ? i mean what statement should i write there ?

    lot of possibilities but easy way is to call PL/SQL code i guess you are coming from FORMS background so it would be easy and understandable for you
    You can expose PL/SQL package as web-services also you can call stored procedures and functions in ADF
    here is the example http://baigsorcl.blogspot.com/2010/05/calling-plsql-procedure-and-function-in.html
    doDML() will work at entity level you can call your PL/SQL at doDML as well or as call its method binding

Maybe you are looking for

  • Shuffle songs within a playlist before syncingio

    I can't use shuffle on my ipod player in my car or on the one that's attached to my TV. I would like to shuffle the songs in a playlist and then sync it so they'll play in that order. Is that doable?

  • 9i or 10g workshop 1 or fundamental 1

    HI i am doing OCA course from oracle approved training center.I am in fundamental 1 now.i have completed till chapter 10.But my institute ie. oracle approved center is saying 10g cost is brought down by oracle so go to workshop 1 classes. so what to

  • [SOLVED] synaptics right-click

    How do I get synaptics right-click to work on my laptop? I added the following to xorg.conf: Section "InputDevice" Identifier "SynapticsTouchpad" Driver "synaptics" Option "CorePointer" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Opti

  • MacBook Pro headphone port refuses to recognise headphones

    Hi Since doing a clean install of Mavericks (which solved a ReportCrash loop problem), everything has been fine except... for some reason the 3.5mm headphone port refuses to acknowledge the existence of headphones when plugged in. The internal speake

  • Button shape other than square????

    hi all, is there any way by which i can have button shapes other than square like oval or round? thanx, Soni